/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:root,:host{--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-bold:700;--leading-relaxed:1.625;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-mono-font-family:var(--font-mono);--font-heading:"Platypi", Georgia, "Times New Roman", serif;--font-body:"Alan Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"iA Writer Mono", "JetBrains Mono", "Fira Code", "Cascadia Code", ui-monospace, monospace;--color-primary:var(--color-primary);--color-primary-hover:var(--color-primary-hover);--color-primary-light:var(--color-primary-light);--color-primary-ring:var(--color-primary-ring);--color-on-primary:var(--color-on-primary);--color-surface:var(--color-surface);--color-surface-page:var(--color-surface-page);--color-surface-muted:var(--color-surface-muted);--color-surface-input:var(--color-surface-input);--color-on-surface:var(--color-on-surface);--color-on-surface-body:var(--color-on-surface-body);--color-on-surface-secondary:var(--color-on-surface-secondary);--color-on-surface-muted:var(--color-on-surface-muted);--color-on-surface-disabled:var(--color-on-surface-disabled);--color-border:var(--color-border);--color-border-muted:var(--color-border-muted);--color-border-focus:var(--color-border-focus);--color-danger:var(--color-danger);--color-danger-text:var(--color-danger-text);--color-danger-light:var(--color-danger-light);--color-danger-ring:var(--color-danger-ring);--color-danger-hover:var(--color-danger-hover);--color-warning:var(--color-warning);--color-warning-text:var(--color-warning-text);--color-warning-light:var(--color-warning-light);--color-warning-ring:var(--color-warning-ring);--color-success:var(--color-success);--color-success-text:var(--color-success-text);--color-success-light:var(--color-success-light);--color-success-ring:var(--color-success-ring);--color-info:var(--color-info);--color-info-text:var(--color-info-text);--color-info-light:var(--color-info-light);--color-info-ring:var(--color-info-ring);--color-accent:var(--color-accent);--color-accent-hover:var(--color-accent-hover);--color-accent-light:var(--color-accent-light);--color-accent-ring:var(--color-accent-ring)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components{.text-display{font-family:var(--font-heading);letter-spacing:-.02em;color:var(--color-on-surface);font-size:48px;font-weight:700;line-height:1.1}.text-h1{font-family:var(--font-heading);letter-spacing:-.01em;color:var(--color-on-surface);font-size:36px;font-weight:700;line-height:1.2}.text-h2{font-family:var(--font-heading);letter-spacing:-.01em;color:var(--color-on-surface);font-size:28px;font-weight:600;line-height:1.25}.text-h3{font-family:var(--font-heading);color:var(--color-on-surface);font-size:22px;font-weight:600;line-height:1.3}.text-h4{font-family:var(--font-heading);color:var(--color-on-surface);font-size:18px;font-weight:600;line-height:1.35}.text-h5{font-family:var(--font-body);letter-spacing:.01em;color:var(--color-on-surface);font-size:16px;font-weight:600;line-height:1.4}.text-body-lg{font-family:var(--font-body);color:var(--color-on-surface-body);font-size:18px;font-weight:400;line-height:1.5}.text-body{font-family:var(--font-body);color:var(--color-on-surface-body);font-size:16px;font-weight:400;line-height:1.5}.text-body-sm{font-family:var(--font-body);letter-spacing:.01em;color:var(--color-on-surface-body);font-size:14px;font-weight:400;line-height:1.5}.text-caption{font-family:var(--font-body);letter-spacing:.02em;color:var(--color-on-surface-muted);font-size:12px;font-weight:400;line-height:1.5}.text-label{font-family:var(--font-body);color:var(--color-on-surface-secondary);font-size:14px;font-weight:500;line-height:1.5}.text-overline{font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--color-on-surface-muted);font-size:11px;font-weight:600;line-height:1.3}@media (width<=1023px){.text-display{font-size:36px}.text-h1{font-size:28px;line-height:1.25}.text-h2{font-size:24px}}@media (width<=767px){.text-display{font-size:32px}.text-h1{font-size:24px;line-height:1.25}.text-h2{font-size:22px}.text-h3{font-size:18px}}.space-page{padding:1.5rem}.space-section{flex-direction:column;gap:1.5rem;display:flex}.space-card{padding:1rem}.space-stack{flex-direction:column;gap:.75rem;display:flex}.space-inline{flex-direction:row;align-items:center;gap:.5rem;display:flex}.space-form{flex-direction:column;gap:1rem;display:flex}.space-tight{gap:.25rem}.space-touch{padding:.75rem}@media (width<=767px){.space-page{padding:1rem}}@media (width>=1024px){.space-page{padding:1.5rem 2rem}.space-card{padding:1.5rem}}.grid-page{grid-template-columns:repeat(12,1fr);gap:1.5rem;width:100%;max-width:1280px;margin:0 auto;display:grid}.grid-full{grid-column:1/-1}.grid-half{grid-column:span 6}.grid-third{grid-column:span 4}.grid-quarter{grid-column:span 3}.grid-two-thirds{grid-column:span 8}.grid-sidebar{grid-template-columns:240px 1fr;gap:1.5rem;display:grid}@media (width<=767px){.grid-half,.grid-third,.grid-quarter,.grid-two-thirds{grid-column:1/-1}}@media (width>=768px) and (width<=1023px){.grid-third,.grid-quarter{grid-column:span 6}}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);padding:var(--space-4)}.card-interactive{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);padding:var(--space-4);cursor:pointer;transition:box-shadow var(--duration-instant) ease-out, transform 50ms ease-out;animation:.2s ease-out both list-item-enter;animation-delay:calc(var(--stagger-index,0) * 15ms)}.card-interactive:hover{box-shadow:var(--shadow-md)}.card-interactive:active{transform:scale(.98)}.card-interactive:focus-visible{box-shadow:var(--shadow-focus);outline:none}@media (width>=1024px){.card,.card-interactive{padding:var(--space-6)}}.btn-base{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);font-family:var(--font-body);cursor:pointer;transition:background var(--duration-instant) ease-out, box-shadow var(--duration-instant) ease-out, transform .1s ease-out;white-space:nowrap;-webkit-user-select:none;user-select:none;font-weight:500;display:inline-flex}.btn-base:focus-visible{box-shadow:var(--shadow-focus);outline:none}.btn-base:active{transform:scale(.97)}.btn-sm{height:44px;padding:0 var(--space-3);font-size:14px}.btn-md{height:48px;padding:0 var(--space-4);font-size:14px}.btn-lg{height:56px;padding:0 var(--space-6);font-size:16px}.btn-primary{background:var(--color-primary);color:var(--color-on-primary);border:none}.btn-primary:hover{background:var(--color-primary-hover)}.btn-primary:active{background:var(--palette-pine-950)}.btn-secondary{background:var(--color-surface);color:var(--color-primary);border:1px solid var(--color-primary)}.btn-secondary:hover{background:var(--color-primary-light)}.btn-secondary:active{background:var(--palette-pine-100);border-color:var(--color-primary-hover)}.btn-outline{color:var(--color-on-surface-secondary);border:1px solid var(--color-border);background:0 0}.btn-outline:hover{background:var(--color-surface-muted)}.btn-outline:active{background:var(--color-border)}.btn-ghost{color:var(--color-on-surface-secondary);background:0 0;border:none}.btn-ghost:hover{background:var(--color-surface-muted)}.btn-ghost:active{background:var(--color-border)}.btn-tertiary{color:var(--color-primary);background:0 0;border:none}.btn-tertiary:hover{background:var(--color-primary-light)}.btn-tertiary:active{background:var(--palette-pine-100)}.btn-danger{background:var(--color-danger);color:var(--color-on-primary);border:none}.btn-danger:hover{background:var(--color-danger-hover)}.btn-danger:active{background:var(--palette-danger-700)}.btn-danger-ghost{color:var(--color-danger-text);background:0 0;border:none}.btn-danger-ghost:hover{background:var(--color-danger-light)}.btn-danger-ghost:active{background:var(--palette-danger-200)}.btn-disabled,.btn-base:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-loading{-webkit-text-fill-color:transparent;pointer-events:none;position:relative}.btn-loading:after{content:"";border:2px solid;border-right-color:#0000;border-radius:50%;width:16px;height:16px;margin-top:-8px;margin-left:-8px;animation:.6s linear infinite spin;position:absolute;top:50%;left:50%}.input-base{width:100%;height:48px;padding:0 var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-body);color:var(--color-on-surface-body);transition:border-color var(--duration-instant) ease-out, box-shadow var(--duration-instant) ease-out;font-size:16px}.input-base::placeholder{color:var(--color-on-surface-disabled)}.input-base:focus-visible{border-color:var(--color-border-focus);box-shadow:var(--shadow-focus);outline:none}.input-error{border-color:var(--color-danger)}.input-error:focus-visible{box-shadow:var(--shadow-focus-danger)}.input-disabled{cursor:not-allowed;background:var(--color-surface-muted);color:var(--color-on-surface-secondary)}.input-error-text{font-family:var(--font-body);color:var(--color-danger-text);margin-top:var(--space-1);font-size:13px}.badge-draft{align-items:center;gap:var(--space-1);height:24px;padding:0 var(--space-2);border-radius:var(--radius-sm);font-family:var(--font-body);background:var(--color-info-light);color:var(--color-info-text);font-size:12px;font-weight:600;transition:background-color .2s ease-out,color .2s ease-out;display:inline-flex}.badge-in-review{align-items:center;gap:var(--space-1);height:24px;padding:0 var(--space-2);border-radius:var(--radius-sm);font-family:var(--font-body);background:var(--color-warning-light);color:var(--color-warning-text);font-size:12px;font-weight:600;transition:background-color .2s ease-out,color .2s ease-out;display:inline-flex}.badge-published{align-items:center;gap:var(--space-1);height:24px;padding:0 var(--space-2);border-radius:var(--radius-sm);font-family:var(--font-body);background:var(--color-success-light);color:var(--color-success-text);font-size:12px;font-weight:600;transition:background-color .2s ease-out,color .2s ease-out;display:inline-flex}.badge-archived{align-items:center;gap:var(--space-1);height:24px;padding:0 var(--space-2);border-radius:var(--radius-sm);font-family:var(--font-body);background:var(--color-surface-muted);color:var(--color-on-surface-muted);font-size:12px;font-weight:600;transition:background-color .2s ease-out,color .2s ease-out;display:inline-flex}.allergen-contains{align-items:center;gap:var(--space-1);height:28px;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--palette-danger-300);font-family:var(--font-body);background:var(--color-danger-light);color:var(--color-danger-text);font-size:14px;font-weight:500;display:inline-flex}.allergen-may-contain{align-items:center;gap:var(--space-1);height:28px;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--palette-warning-300);font-family:var(--font-body);background:var(--color-warning-light);color:var(--color-warning-text);font-size:14px;font-weight:500;display:inline-flex}.allergen-free-from,.allergen-free{align-items:center;gap:var(--space-1);height:28px;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--color-border);font-family:var(--font-body);color:var(--color-on-surface-secondary);background:0 0;font-size:14px;font-weight:500;display:inline-flex}.allergen-unknown{align-items:center;gap:var(--space-1);height:28px;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);border:1px dashed var(--color-border-disabled);font-family:var(--font-body);background:var(--color-surface-muted);color:var(--color-on-surface-disabled);font-size:14px;font-style:italic;font-weight:500;display:inline-flex}.badge-mode-capture{align-items:center;gap:var(--space-1);height:24px;padding:0 var(--space-2);border-radius:var(--radius-sm);font-family:var(--font-body);background:var(--color-success-light);color:var(--color-success-text);font-size:12px;font-weight:600;display:inline-flex}.badge-mode-modify{align-items:center;gap:var(--space-1);height:24px;padding:0 var(--space-2);border-radius:var(--radius-sm);font-family:var(--font-body);background:var(--color-info-light);color:var(--color-info-text);font-size:12px;font-weight:600;display:inline-flex}.badge-mode-query{align-items:center;gap:var(--space-1);height:24px;padding:0 var(--space-2);border-radius:var(--radius-sm);font-family:var(--font-body);background:var(--color-surface-muted);color:var(--color-on-surface-secondary);font-size:12px;font-weight:600;display:inline-flex}.badge-self-approval{height:20px;padding:0 var(--space-1);border-radius:var(--radius-xs);font-family:var(--font-body);background:var(--color-info-light);color:var(--color-info-text);align-items:center;font-size:11px;font-weight:600;display:inline-flex}.toast-success{background:var(--color-success-light);border:1px solid var(--color-success-ring);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);color:var(--color-success);font-family:var(--font-body);font-size:14px}.toast-error{background:var(--color-danger-light);border:1px solid var(--palette-danger-300);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);color:var(--color-danger);font-family:var(--font-body);font-size:14px}.toast-warning{background:var(--color-warning-light);border:1px solid var(--color-warning-ring);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);color:var(--color-warning);font-family:var(--font-body);font-size:14px}.toast-info{background:var(--color-info-light);border:1px solid var(--palette-info-400);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);color:var(--color-info);font-family:var(--font-body);font-size:14px}.skeleton{background:linear-gradient(90deg, var(--color-surface-input) 25%, var(--color-surface-muted) 50%, var(--color-surface-input) 75%);border-radius:var(--radius-md);background-size:200% 100%;animation:1.5s ease-in-out infinite shimmer}@media (prefers-reduced-motion:reduce){.skeleton{background:var(--color-surface-input);animation:none}}.stat-card,.stat-card-warning{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);padding:var(--space-4);gap:var(--space-2);transition:box-shadow var(--duration-instant) ease-out, transform 50ms ease-out;flex-direction:column;display:flex}.stat-card:hover,.stat-card-warning:hover{box-shadow:var(--shadow-sm)}.stat-card:active,.stat-card-warning:active{transform:scale(.98)}.stat-card:focus-visible,.stat-card-warning:focus-visible{box-shadow:var(--shadow-focus);outline:none}.stat-card-warning{border-left:3px solid var(--color-warning-text)}.empty-state{padding:var(--space-16) var(--space-8);text-align:center;justify-content:center;align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.recipe-detail-header{gap:var(--space-6);align-items:flex-start;display:flex}@media (width<=767px){.recipe-detail-header{gap:var(--space-3);flex-direction:column}}.recipe-detail-image{border-radius:var(--radius-lg);background:var(--color-surface-input);flex-shrink:0;width:360px;height:260px;overflow:hidden}.recipe-detail-image img{object-fit:cover;width:100%;height:100%;display:block}@media (width<=767px){.recipe-detail-image{aspect-ratio:16/10;border-radius:0;width:calc(100% + 2rem);height:auto;margin-left:-1rem;margin-right:-1rem}}.recipe-detail-action-bar{z-index:20;background:var(--color-surface);box-shadow:var(--shadow-lg);padding:var(--space-4);border-radius:var(--radius-md);position:sticky;top:0}@media (width>=1024px){.recipe-detail-action-bar{padding:var(--space-6)}}@media (width<=767px){.recipe-detail-action-bar{z-index:auto;box-shadow:none;border:1px solid var(--color-border-muted);padding:var(--space-2) var(--space-3);position:static}}.ingredients-table{flex-direction:column;gap:0;display:flex}.ingredients-quantity{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.step-row{gap:var(--space-3);grid-template-columns:2rem 1fr;display:grid}.ccp-marker{font-size:12px;font-weight:600}.qa-flag-badge{font-size:14px}.rejection-banner{align-items:flex-start;gap:var(--space-3);background:var(--color-warning-light);color:var(--color-warning-text);border-radius:var(--radius-md);padding:var(--space-4);display:flex}.version-detail-banner{background:var(--color-info-light);color:var(--color-info-text);border-radius:var(--radius-md);padding:var(--space-4);justify-content:space-between;align-items:center;display:flex}.usage-bar-track{border-radius:var(--radius-full);background:var(--color-surface-input);height:8px;overflow:hidden}.usage-bar-fill{border-radius:var(--radius-full);height:100%;transition:width var(--duration-normal) ease-out}.notification-item{align-items:center;gap:var(--space-3);cursor:pointer;border-bottom:1px solid var(--color-border-muted);transition:background var(--duration-fast) ease-out;padding:12px 16px;display:flex}.notification-item:hover{background:var(--color-surface-muted)}.notification-item:focus-visible{box-shadow:var(--shadow-focus);outline:none}.notification-item:last-child{border-bottom:none}.notification-item-unread{background:var(--color-primary-light)}@supports (color:color-mix(in lab, red, red)){.notification-item-unread{background:color-mix(in srgb, var(--color-primary-light) 50%, var(--color-surface))}}.notification-item-unread:hover{background:var(--color-primary-light)}@supports (color:color-mix(in lab, red, red)){.notification-item-unread:hover{background:color-mix(in srgb, var(--color-primary-light) 70%, var(--color-surface-muted))}}.dashboard-greeting-row{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.dashboard-actions{align-items:center;gap:var(--space-3);display:flex}@media (width<=767px){.dashboard-greeting-row{flex-direction:column;align-items:stretch}.dashboard-actions{justify-content:center}}.type-badge{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);white-space:nowrap;flex-shrink:0;font-size:12px;font-weight:500;display:inline-flex}.type-badge-plate{background:var(--color-primary-light);color:var(--color-primary)}.type-badge-batch{background:var(--color-accent-light);color:var(--color-accent-text)}.checkbox-root{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;width:18px;height:18px;transition:background var(--duration-fast) ease-out, border-color var(--duration-fast) ease-out, box-shadow var(--duration-fast) ease-out;outline:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.checkbox-root:hover:not([data-state=checked]){border-color:var(--color-on-surface-secondary)}.checkbox-root:focus-visible{box-shadow:var(--shadow-focus)}.checkbox-root[data-state=checked]{background:var(--color-primary);border-color:var(--color-primary)}.checkbox-root[disabled]{opacity:.5;cursor:not-allowed}.checkbox-indicator{color:#fff;justify-content:center;align-items:center;display:flex}.radio-group-item{border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;width:18px;height:18px;transition:background var(--duration-fast) ease-out, border-color var(--duration-fast) ease-out, box-shadow var(--duration-fast) ease-out;outline:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.radio-group-item:hover:not([data-state=checked]){border-color:var(--color-on-surface-secondary)}.radio-group-item:focus-visible{box-shadow:var(--shadow-focus)}.radio-group-item[data-state=checked]{border-color:var(--color-primary)}.radio-group-item[disabled]{opacity:.5;cursor:not-allowed}.radio-group-indicator{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.radio-group-indicator:after{content:"";border-radius:var(--radius-full);background:var(--color-primary);width:8px;height:8px;display:block}.switch-root{border-radius:var(--radius-full);background:var(--color-surface-input);cursor:pointer;border:1px solid #0000;outline:none;flex-shrink:0;align-items:center;width:36px;height:20px;padding:2px;transition:background .15s ease-out;display:inline-flex}.switch-root:focus-visible{box-shadow:var(--shadow-focus)}.switch-root[data-state=checked]{background:var(--color-primary)}.switch-root[disabled]{opacity:.5;cursor:not-allowed}.switch-thumb{border-radius:var(--radius-full);pointer-events:none;background:#fff;width:16px;height:16px;transition:transform .15s ease-out;display:block;box-shadow:0 1px 3px #0000001a}.switch-root[data-state=checked] .switch-thumb{transform:translate(16px)}.switch-root[data-state=unchecked] .switch-thumb{transform:translate(0)}.select-trigger{justify-content:space-between;align-items:center;gap:var(--space-2);height:36px;padding:0 var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border-muted);background:var(--color-surface);color:var(--color-on-surface);cursor:pointer;white-space:nowrap;outline:none;font-size:14px;transition:border-color .15s ease-out,box-shadow .15s ease-out;display:inline-flex}.select-trigger:hover{border-color:var(--color-border)}.select-trigger:focus-visible{border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.select-trigger[data-placeholder]{color:var(--color-on-surface-muted)}.select-trigger svg{width:16px;height:16px;color:var(--color-on-surface-muted);flex-shrink:0}.select-content{z-index:calc(var(--z-modal) + 1);border-radius:var(--radius-md);border:1px solid var(--color-border-muted);background:var(--color-surface);min-width:8rem;box-shadow:var(--shadow-lg);padding:var(--space-1) 0;animation:.1s ease-out select-enter;overflow:hidden}@keyframes select-enter{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.select-item{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);padding-right:var(--space-8);color:var(--color-on-surface);cursor:pointer;-webkit-user-select:none;user-select:none;outline:none;font-size:14px;display:flex;position:relative}.select-item:hover,.select-item[data-highlighted]{background:var(--color-surface-muted)}.select-item[data-state=checked]{font-weight:500}.select-item-indicator{right:var(--space-2);justify-content:center;align-items:center;width:14px;height:14px;display:flex;position:absolute}.select-item-indicator svg{width:16px;height:16px}.select-scroll-button{cursor:default;height:24px;color:var(--color-on-surface-muted);justify-content:center;align-items:center;display:flex}.select-scroll-button svg{width:16px;height:16px}.popover-content{z-index:var(--z-dropdown,200);border-radius:var(--radius-lg);border:1px solid var(--color-border-muted);background:var(--color-surface);min-width:200px;color:var(--color-on-surface);box-shadow:var(--shadow-lg);padding:var(--space-4);outline:none;animation:.1s ease-out select-enter}.data-table-container{border:1px solid var(--color-border-muted);border-radius:var(--radius-md);-webkit-overflow-scrolling:touch;position:relative;overflow-x:auto}.data-table-header{z-index:10;background:var(--color-surface);border-bottom:1px solid var(--color-border);transition:box-shadow .15s;position:sticky;top:0}.data-table-container[data-scrolled=true] .data-table-header{box-shadow:0 2px 8px #0000000f}.data-table-row{border-bottom:1px solid var(--color-border-muted);transition:background-color var(--duration-instant) ease-out}.data-table-row:hover{background-color:var(--color-surface-muted)}.data-table-row:last-child{border-bottom:none}.data-table-cell{align-items:center;min-height:22px;padding:0;display:flex}.data-table-actions{justify-content:flex-end;align-items:center;gap:var(--space-1);opacity:.7;transition:opacity var(--duration-instant) ease;display:flex}.data-table-row:hover .data-table-actions{opacity:1}.data-table-icon-action{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--color-on-surface-muted);cursor:pointer;transition:background-color var(--duration-instant) ease-out, color var(--duration-instant) ease-out;background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}@media (width<=599px){.data-table-icon-action{width:44px;height:44px}}.data-table-icon-action:hover{background:var(--color-surface-muted);color:var(--color-on-surface)}.data-table-icon-action:active{background:var(--color-border)}.data-table-icon-action:disabled{opacity:.4;cursor:not-allowed}.data-table-actions .btn-base{border-radius:var(--radius-sm);height:28px;padding:0 10px;font-size:12px;font-weight:500}.data-table-actions .btn-primary{background:var(--color-primary);color:var(--color-on-primary)}.data-table-actions .btn-primary:hover{background:var(--color-primary-hover)}.status-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.status-dot-active{background-color:var(--color-success)}.status-dot-archived{background-color:var(--color-on-surface-disabled)}.source-badge{letter-spacing:.02em;white-space:nowrap;border-radius:9999px;align-items:center;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.source-badge-system{background:var(--color-surface-input);color:var(--color-on-surface-muted)}.source-badge-custom{background:var(--color-primary-light);color:var(--color-primary)}.data-table-row-warning{background-color:var(--color-warning-light)}@supports (color:color-mix(in lab, red, red)){.data-table-row-warning{background-color:color-mix(in srgb, var(--color-warning-light) 40%, transparent)}}.data-table-row-warning:hover{background-color:var(--color-warning-light)}@supports (color:color-mix(in lab, red, red)){.data-table-row-warning:hover{background-color:color-mix(in srgb, var(--color-warning-light) 55%, transparent)}}.allergen-overflow-badge{background:var(--color-surface-input);color:var(--color-on-surface-muted);cursor:default;border-radius:9999px;justify-content:center;align-items:center;padding:2px 6px;font-size:10px;font-weight:600;display:inline-flex}.badge-untagged{align-items:center;gap:var(--space-1);height:22px;padding:0 var(--space-2);border-radius:var(--radius-sm);font-family:var(--font-body);background:var(--color-warning-light);color:var(--color-warning-text);border:1px dashed var(--color-warning-ring);font-size:11px;font-weight:600;display:inline-flex}.badge-needs-verification{align-items:center;gap:var(--space-1);height:22px;padding:0 var(--space-2);border-radius:var(--radius-sm);font-family:var(--font-body);background:var(--color-danger-light);color:var(--color-danger-text);border:1px solid var(--color-danger-ring);font-size:11px;font-weight:600;display:inline-flex}.filter-chip{align-items:center;gap:var(--space-1);height:28px;padding:0 var(--space-2) 0 var(--space-3);border-radius:var(--radius-full);background:var(--color-surface-input);color:var(--color-on-surface);border:1px solid var(--color-border-muted);font-size:12px;font-weight:500;display:inline-flex}.filter-chip button{width:16px;height:16px;color:var(--color-on-surface-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:background .1s,color .1s;display:inline-flex}.filter-chip button:hover{background:var(--color-border);color:var(--color-on-surface)}.data-table-row-selected,.data-table-row-selected:hover{background-color:var(--color-primary-light)!important}@supports (color:color-mix(in lab, red, red)){.data-table-row-selected:hover{background-color:color-mix(in srgb, var(--color-primary-light) 80%, var(--color-surface-muted))!important}}.search-highlight{color:inherit;-webkit-box-decoration-break:clone;box-decoration-break:clone;background-color:#fff3a8;border-radius:2px;padding:0 2px;font-weight:600}.storage-badge{border-radius:var(--radius-sm);white-space:nowrap;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.storage-badge-ambient{background:var(--color-surface-input);color:var(--color-on-surface-muted)}.storage-badge-refrigerated{background:var(--color-info)}@supports (color:color-mix(in lab, red, red)){.storage-badge-refrigerated{background:color-mix(in srgb, var(--color-info) 12%, transparent)}}.storage-badge-refrigerated{color:var(--color-info)}.storage-badge-frozen{background:var(--color-info)}@supports (color:color-mix(in lab, red, red)){.storage-badge-frozen{background:color-mix(in srgb, var(--color-info) 20%, transparent)}}.storage-badge-frozen{color:var(--color-info)}.bulk-action-bar{justify-content:center;align-items:center;gap:var(--space-3);row-gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--color-on-surface);color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:50;flex-wrap:wrap;animation:.2s ease-out bulk-bar-enter;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}@media (width<=1023px){.bulk-action-bar{bottom:calc(var(--bottom-chrome-clearance) + var(--space-4))}}.bulk-action-bar button{justify-content:center;align-items:center;gap:var(--space-1);min-height:var(--tap-target-min);padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);color:var(--color-surface);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #fff3;font-size:13px;font-weight:500;transition:background .1s;display:inline-flex}.bulk-action-bar button:hover{background:#ffffff1a}.bulk-action-bar .bulk-count{white-space:nowrap;font-size:13px;font-weight:600}.bulk-action-bar .bulk-deselect{min-width:var(--tap-target-min);min-height:var(--tap-target-min);padding:var(--space-1);opacity:.7;border:none;border-radius:50%}.bulk-action-bar .bulk-deselect:hover{opacity:1;background:#ffffff26}@keyframes bulk-bar-enter{0%{opacity:0;transform:translate(-50%)translateY(12px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.recently-edited-badge{border-radius:var(--radius-sm);background:var(--color-primary-light);color:var(--color-primary);white-space:nowrap;align-items:center;padding:1px 6px;font-size:10px;font-weight:600;animation:1s ease-out 29s forwards fade-out-badge;display:inline-flex}@keyframes fade-out-badge{0%{opacity:1}to{opacity:0}}.density-toggle{border:1px solid var(--color-border-muted);border-radius:var(--radius-md);align-items:center;display:inline-flex;overflow:hidden}.density-toggle button{width:32px;height:28px;color:var(--color-on-surface-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:background .1s,color .1s;display:flex}.density-toggle button:not(:last-child){border-right:1px solid var(--color-border-muted)}.density-toggle button:hover{background:var(--color-surface-muted)}.density-toggle button[data-active=true]{background:var(--color-primary-light);color:var(--color-primary)}.ingredient-name-link{color:var(--color-on-surface);transition:color var(--duration-instant) ease;font-weight:500;line-height:1.3;text-decoration:none}.ingredient-name-link:hover{color:var(--color-primary);text-underline-offset:2px;text-decoration:underline}.ingredient-name-truncated{text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.notes-text{color:var(--color-on-surface-secondary);padding:var(--space-2) var(--space-4);background:var(--color-surface-muted);border-bottom:1px solid var(--color-border-muted);font-size:12px;line-height:1.4}.ingredient-detail-page{max-width:1080px;padding:var(--space-4) var(--space-4) var(--space-8);gap:var(--space-4);flex-direction:column;margin:0 auto;display:flex}.ingredient-detail-header-card{background:var(--color-surface);border:1px solid var(--color-border);border-left:3px solid var(--color-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);padding:var(--space-6);justify-content:space-between;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap;display:flex}.ingredient-category-tile{border-radius:var(--radius-md);background:var(--color-surface-muted);border:1px solid var(--color-border-muted);width:48px;height:48px;color:var(--color-primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.ingredient-hero-strip{margin-top:var(--space-2);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ingredient-hero-block{border-radius:var(--radius-full);background:var(--color-surface-muted);border:1px solid var(--color-border-muted);color:var(--color-on-surface-secondary);white-space:nowrap;align-items:center;gap:4px;padding:2px 10px;font-size:12px;font-weight:500;line-height:1.4;display:inline-flex}.ingredient-detail-actions{gap:var(--space-2);flex-shrink:0;align-self:flex-start;margin-top:2px;display:flex}.ingredient-detail-card{padding:var(--space-6)!important}.ingredient-card-header{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.ingredient-card-header-title{align-items:center;gap:var(--space-2);min-width:0;display:inline-flex}.ingredient-card-header-count{min-width:20px;height:20px;padding:0 var(--space-2);border-radius:var(--radius-full);background:var(--color-surface-muted);border:1px solid var(--color-border-muted);color:var(--color-on-surface-secondary);justify-content:center;align-items:center;font-size:12px;font-weight:600;line-height:1;display:inline-flex}.ing-chip{border-radius:var(--radius-full);white-space:nowrap;border:1px solid #0000;align-items:center;gap:4px;padding:2px 10px;font-size:12px;font-weight:500;line-height:1.4;display:inline-flex}.ing-chip--neutral{background:var(--color-surface-muted);color:var(--color-on-surface-secondary);border-color:var(--color-border-muted)}.ing-chip--danger{background:var(--color-danger-light);color:var(--color-danger-text);border-color:var(--color-danger-ring)}.ing-chip--warning{background:var(--color-warning-light);color:var(--color-warning-text);border-color:var(--color-warning-ring)}.ing-chip--success{background:var(--color-success-light);color:var(--color-success-text);border-color:var(--color-success-ring)}.ing-chip--info{background:var(--color-primary-light);color:var(--color-primary);border-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.ing-chip--info{border-color:color-mix(in srgb, var(--color-primary) 25%, transparent)}}.ingredient-verified-badge{border-radius:var(--radius-full);border:1px solid #0000;align-items:center;gap:4px;padding:2px 10px;font-size:12px;font-weight:500;line-height:1.4;display:inline-flex}.ingredient-verified-badge--verified{background:var(--color-success-light);color:var(--color-success-text);border-color:var(--color-success-ring)}.ingredient-verified-badge--unverified{background:var(--color-warning-light);color:var(--color-warning-text);border-color:var(--color-warning-ring)}.ingredient-verified-badge--subordinate{color:var(--color-on-surface-muted);border-color:var(--color-border-muted);background:0 0}.ingredient-allergen-group{border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);border:1px solid #0000}.ingredient-allergen-group--contains{background:var(--color-danger-light)}@supports (color:color-mix(in lab, red, red)){.ingredient-allergen-group--contains{background:color-mix(in srgb, var(--color-danger-light) 55%, transparent)}}.ingredient-allergen-group--contains{border-color:var(--color-danger-ring)}.ingredient-allergen-group--may-contain{background:var(--color-warning-light)}@supports (color:color-mix(in lab, red, red)){.ingredient-allergen-group--may-contain{background:color-mix(in srgb, var(--color-warning-light) 45%, transparent)}}.ingredient-allergen-group--may-contain{border-color:var(--color-warning-ring);border-style:dashed}.ingredient-allergen-group-head{align-items:center;gap:var(--space-1);margin-bottom:var(--space-2);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:700;display:inline-flex}.ingredient-allergen-group--contains .ingredient-allergen-group-head{color:var(--color-danger-text)}.ingredient-allergen-group--may-contain .ingredient-allergen-group-head{color:var(--color-warning-text)}.ingredient-freefrom-chip{color:var(--color-on-surface-muted);font-weight:400}.ingredient-allergen-pill{border-radius:var(--radius-sm);align-items:center;gap:6px;min-height:30px;padding:5px 12px;font-size:13px;font-weight:600;display:inline-flex}.ingredient-allergen-pill--contains{background:var(--color-danger-light);color:var(--color-danger-text);border:1px solid var(--color-danger-ring)}.ingredient-allergen-pill--may-contain{background:var(--color-warning-light);color:var(--color-warning-text);border:1px dashed var(--color-warning-ring)}.ingredient-allergen-pill-level{opacity:.7;font-size:11px;font-weight:500}.ingredient-allergen-safe{border-radius:var(--radius-sm);background:var(--color-success-light);color:var(--color-success-text);align-items:center;gap:8px;padding:12px 14px;font-size:13px;font-weight:500;display:flex}.ingredient-recipe-list{border:1px solid var(--color-border-muted);border-radius:var(--radius-md);overflow:hidden}.ingredient-recipe-row{color:inherit;justify-content:space-between;align-items:center;min-height:42px;padding:8px 12px;text-decoration:none;display:flex}@media (prefers-reduced-motion:no-preference){.ingredient-recipe-row{transition:background var(--duration-fast) ease}}.ingredient-recipe-row:hover{background:var(--color-surface-muted)}.ingredient-recipe-row:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px;background:var(--color-surface-muted)}.ingredient-recipe-row:last-child{border-bottom:none!important}.ingredient-recipe-type-badge{border-radius:var(--radius-full);background:var(--color-surface-input);color:var(--color-on-surface-muted);padding:2px 8px;font-size:11px;font-weight:500}.ingredient-recipe-type-badge--batch{background:var(--color-primary-light);color:var(--color-primary)}.ingredient-recipe-status-badge{border-radius:var(--radius-full);padding:2px 8px;font-size:11px;font-weight:500}.ingredient-recipe-status-badge--published{background:var(--color-success-light);color:var(--color-success-text)}.ingredient-recipe-status-badge--in_review,.ingredient-recipe-status-badge--draft{background:var(--color-warning-light);color:var(--color-warning-text)}.ingredient-recipe-status-badge--archived{background:var(--color-surface-input);color:var(--color-on-surface-disabled)}.ingredient-empty-usage{padding:var(--space-6) var(--space-4);text-align:center;flex-direction:column;align-items:center;display:flex}.ingredient-empty-field{color:var(--color-on-surface-muted);text-align:left;padding:0;font-size:13px;font-style:normal}.ingredient-notes-block{padding:var(--space-3);border-radius:var(--radius-sm);background:var(--color-surface-muted);border-left:3px solid var(--color-primary);color:var(--color-on-surface-secondary);font-size:13px;line-height:1.6}.ingredient-kv-grid{gap:var(--space-2) var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-border-muted);grid-template-columns:1fr 1fr;display:grid}.ingredient-kv-item{padding:var(--space-1) 0;flex-direction:column;gap:1px;display:flex}.ingredient-kv-value{color:var(--color-on-surface);font-size:14px;font-weight:400}@media (width<=767px){.ingredient-detail-page{padding:var(--space-3) var(--space-3) var(--space-6);gap:var(--space-3)}.ingredient-detail-header-card{padding:var(--space-4);gap:var(--space-3);flex-direction:column}.ingredient-detail-card{padding:var(--space-3) var(--space-4)!important}.ingredient-detail-actions{width:100%}.ingredient-detail-actions button{flex:1}.ingredient-hero-strip{gap:4px}.ingredient-hero-block{padding:2px 8px;font-size:11px}.ingredient-kv-grid{grid-template-columns:1fr}.ingredient-recipe-row{flex-wrap:wrap;gap:4px;padding:8px 10px}.recipe-detail-page>div{gap:var(--space-4)!important}.recipe-detail-action-bar{margin-bottom:var(--space-2);gap:var(--space-1)!important;display:flex!important}.recipe-detail-action-bar .btn-base{height:44px;min-height:44px;padding:0 var(--space-2);white-space:nowrap;font-size:12px}.recipe-detail-page{padding-bottom:calc(64px + 56px + var(--space-6))!important}.recipe-list-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:normal!important;display:-webkit-box!important}}.file-upload-zone{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-12) var(--space-6);border:2px dashed var(--color-border-muted);border-radius:var(--radius-lg);background:var(--color-surface);cursor:pointer;transition:border-color var(--duration-instant) ease-out, background-color var(--duration-instant) ease-out;flex-direction:column;display:flex}.file-upload-zone:hover{border-color:var(--color-border)}.file-upload-zone-active{border-color:var(--color-primary);background:var(--color-primary-light)}.file-upload-zone:focus-visible{outline:3px solid var(--color-primary-ring);outline-offset:2px}@media (width<=767px){.file-upload-zone{padding:var(--space-8) var(--space-4)}}@media (prefers-reduced-motion:reduce){.file-upload-zone{transition:none}}.job-card{align-items:flex-start;gap:var(--space-4);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border-muted);border-radius:var(--radius-md);animation:.2s ease-out both list-item-enter;animation-delay:calc(var(--stagger-index,0) * 15ms);display:flex}.job-card-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.job-card-status-pending .job-card-icon{background:var(--color-info-light);color:var(--color-info-text)}.job-card-status-processing .job-card-icon{background:var(--color-warning-light);color:var(--color-warning-text)}.job-card-status-completed .job-card-icon{background:var(--color-success-light);color:var(--color-success-text)}.job-card-status-failed .job-card-icon{background:var(--color-danger-light);color:var(--color-danger-text)}.job-card-status-cancelled .job-card-icon,.job-card-status-expired .job-card-icon{background:var(--color-surface-muted);color:var(--color-on-surface-disabled)}.job-card-status-generating .job-card-icon{background:var(--color-warning-light);color:var(--color-warning-text)}.job-card-status-ready .job-card-icon{background:var(--color-success-light);color:var(--color-success-text)}@media (prefers-reduced-motion:reduce){.job-card{animation:none}}.dropdown-menu-content{z-index:var(--z-dropdown);min-width:200px;padding:var(--space-1);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);flex-direction:column;display:flex}.dropdown-menu-label{padding:var(--space-1) var(--space-2);letter-spacing:.1em;text-transform:uppercase;color:var(--color-on-surface-muted);font-size:11px;font-weight:700}.dropdown-menu-item{align-items:center;gap:var(--space-2);width:100%;min-height:44px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--color-on-surface);cursor:pointer;-webkit-user-select:none;user-select:none;outline:none;font-size:14px;display:flex}.dropdown-menu-item[data-highlighted]{background:var(--color-surface-muted)}.dropdown-menu-item[data-disabled]{color:var(--color-on-surface-disabled);cursor:default;pointer-events:none}.dropdown-menu-item-danger{color:var(--color-danger-text)}.dropdown-menu-item-danger[data-highlighted]{background:var(--color-danger-light)}.dropdown-menu-separator{height:1px;margin:var(--space-1) 0;background:var(--color-border-muted)}.sheet-overlay{z-index:var(--z-modal);background:#1a181452;position:fixed;inset:0}.sheet-content{z-index:var(--z-modal);background:var(--color-surface);box-shadow:var(--shadow-xl);outline:none;flex-direction:column;display:flex;position:fixed}.sheet-bottom{border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-height:88%;bottom:0;left:0;right:0}.sheet-top{border-radius:0 0 var(--radius-xl) var(--radius-xl);max-height:88%;top:0;left:0;right:0}.sheet-left{border-right:1px solid var(--color-border);width:min(88%,420px);top:0;bottom:0;left:0}.sheet-right{border-left:1px solid var(--color-border);width:min(88%,420px);top:0;bottom:0;right:0}@keyframes sheet-in-bottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes sheet-in-top{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes sheet-in-left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes sheet-in-right{0%{transform:translate(100%)}to{transform:translate(0)}}.sheet-bottom[data-state=open]{animation:sheet-in-bottom var(--duration-normal) cubic-bezier(.32, .72, .24, 1)}.sheet-top[data-state=open]{animation:sheet-in-top var(--duration-normal) cubic-bezier(.32, .72, .24, 1)}.sheet-left[data-state=open]{animation:sheet-in-left var(--duration-normal) cubic-bezier(.32, .72, .24, 1)}.sheet-right[data-state=open]{animation:sheet-in-right var(--duration-normal) cubic-bezier(.32, .72, .24, 1)}.sheet-header{align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-4) var(--space-2);flex-shrink:0;display:flex}.sheet-title{min-width:0;font-family:var(--font-heading);color:var(--color-on-surface);flex:1;font-size:16px;font-weight:600}.sheet-description{padding:0 var(--space-4);color:var(--color-on-surface-muted);font-size:13px}.sheet-form{flex-direction:column;flex:auto;min-height:0;display:flex}.sheet-body{overscroll-behavior:contain;min-height:0;padding:var(--space-1) var(--space-4) var(--space-3);flex:1;overflow-y:auto}.sheet-notice{overscroll-behavior:contain;max-height:32vh;padding:0 var(--space-4);flex-shrink:0;overflow-y:auto}.sheet-footer{gap:var(--space-3);padding:var(--space-3) var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom));border-top:1px solid var(--color-border-muted);background:var(--color-surface);flex-shrink:0;display:flex}.sheet-close-button{top:var(--space-3);right:var(--space-3);border-radius:var(--radius-md);width:44px;height:44px;color:var(--color-on-surface-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex;position:absolute}.sheet-close-button:hover{background:var(--color-surface-muted);color:var(--color-on-surface)}.sheet-close-button:focus-visible{outline:2px solid var(--color-primary-ring);outline-offset:2px}.resizable-group{--resizable-handle-size:6px;min-width:0;min-height:0}.resizable-panel{min-width:0;min-height:0;overflow:hidden}.resizable-handle{background:var(--color-border-muted);cursor:col-resize;touch-action:none;position:relative}.resizable-handle[aria-orientation=horizontal]{cursor:row-resize}.resizable-handle:hover,.resizable-handle[data-dragging=true]{background:var(--color-primary-ring)}.resizable-handle:focus-visible{outline:2px solid var(--color-primary-ring);outline-offset:1px}.resizable-handle:after{content:"";width:44px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.resizable-handle[aria-orientation=horizontal]:after{width:auto;height:44px;inset:50% 0 auto;transform:translateY(-50%)}.command{flex-direction:column;min-height:0;display:flex}.command-input{width:100%;min-height:46px;padding:var(--space-2) var(--space-3);border:1.5px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-on-surface);font-size:15px}.command-input::placeholder{color:var(--color-on-surface-muted)}.command-input:focus-visible{border-color:var(--color-primary);box-shadow:var(--shadow-focus);outline:none}.command-list{min-height:0;margin-top:var(--space-2);overscroll-behavior:contain;flex:1;overflow-y:auto}.command-group:not(:has([data-slot=command-item])){display:none}.command-group-label{padding:var(--space-2) var(--space-2) var(--space-1);letter-spacing:.1em;text-transform:uppercase;color:var(--color-on-surface-muted);font-size:11px;font-weight:700}.command-item{align-items:center;gap:var(--space-2);min-height:44px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--color-on-surface);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:15px;display:flex}.command-item[data-active=true]{background:var(--color-surface-muted)}.command-item[data-disabled=true]{color:var(--color-on-surface-disabled);cursor:default}.command-empty{padding:var(--space-4) var(--space-3);text-align:center;color:var(--color-on-surface-muted);font-size:14px}.command-separator{height:1px;margin:var(--space-1) 0;background:var(--color-border-muted)}.app-shell-main{min-width:0;max-width:1280px;min-height:100vh;transition:margin-left var(--duration-fast) ease-out;outline:none;margin-left:240px}.app-shell-main-collapsed{margin-left:64px}@media (width>=1024px){.app-shell-main{padding-bottom:96px}}@media (width<=1023px){.app-shell-main{padding-top:56px;padding-bottom:var(--bottom-nav-height);margin-left:0}}.app-shell-main-no-bottom-chrome{--bottom-chrome-clearance:0px;padding-bottom:0}@media (width<=1023px){.app-shell-main-no-bottom-chrome{padding-bottom:0}}@media (width>=1024px){.app-shell-main-no-bottom-chrome{padding-bottom:0}}.sidebar{background:var(--color-surface);border-right:1px solid var(--color-border);width:240px;z-index:var(--z-sidebar);transition:width var(--duration-fast) ease-out;scrollbar-width:thin;scrollbar-color:transparent transparent;scrollbar-gutter:stable;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden auto}.sidebar:hover{scrollbar-color:#00000026 transparent}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-track{background:0 0}.sidebar::-webkit-scrollbar-thumb{background:0 0;border-radius:4px}.sidebar:hover::-webkit-scrollbar-thumb{background:#00000026}.sidebar::-webkit-scrollbar-thumb:hover{background:#00000040}@media (width<=1023px){.sidebar{display:none}}.sidebar-item{align-items:center;gap:var(--space-3);border-radius:var(--radius-md);color:var(--color-on-surface-secondary);letter-spacing:.01em;transition:background-color var(--duration-instant) ease-out, color var(--duration-instant) ease-out;cursor:pointer;background:0 0;border:none;min-height:36px;margin:1px 12px;padding:8px 12px;font-size:13.5px;font-weight:500;text-decoration:none;display:flex}.sidebar-item:hover{background:var(--color-surface-muted);color:var(--color-on-surface)}.sidebar-item-active{background:var(--color-primary-light);color:var(--color-primary);font-weight:600}.sidebar-item-active:hover{background:var(--color-primary-ring);color:var(--color-primary)}.sidebar-collapse-btn{border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface);width:24px;height:24px;color:var(--color-on-surface-muted);cursor:pointer;z-index:calc(var(--z-sidebar) + 1);transition:color var(--duration-instant) ease-out, background-color var(--duration-instant) ease-out, border-color var(--duration-instant) ease-out, left var(--duration-fast) ease-out;justify-content:center;align-items:center;display:flex;position:fixed;top:20px;left:228px;box-shadow:0 1px 3px #00000014}.sidebar-collapsed .sidebar-collapse-btn{left:52px}.sidebar-collapse-btn:hover{color:var(--color-primary);border-color:var(--color-primary-ring);background:var(--color-primary-light)}@media (width<=1023px){.sidebar-collapse-btn{display:none}}.sidebar-collapsed{width:64px}.sidebar-collapsed .sidebar-label,.sidebar-collapsed .sidebar-section-label{display:none}.sidebar-collapsed .sidebar-item{justify-content:center;gap:0;margin:1px 8px;padding:8px;position:relative}.sidebar-collapsed .sidebar-badge{min-width:16px;height:16px;padding:0 4px;font-size:9px;position:absolute;top:2px;right:2px}.sidebar-collapsed .sidebar-footer{text-align:center;padding:12px 8px}.sidebar-section-label{letter-spacing:.08em;text-transform:uppercase;color:var(--color-on-surface-muted);padding:12px 24px 4px;font-size:10.5px;font-weight:600}.sidebar-badge{border-radius:var(--radius-full);background:var(--color-danger);color:#fff;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:auto;padding:0 5px;font-size:10px;font-weight:600;display:flex}.sidebar-label{white-space:nowrap;display:block;overflow:hidden}.sidebar-footer{border-top:1px solid var(--color-border);margin-top:auto;padding:12px 16px}.topbar{background:var(--color-surface);border-bottom:1px solid var(--color-border);height:56px;z-index:var(--z-sidebar);padding:0 var(--space-4);align-items:center;display:none;position:fixed;top:0;left:0;right:0}@media (width<=1023px){.topbar{display:flex}}.mobile-bottom-nav{height:var(--bottom-nav-height);background:var(--color-surface);border-top:1px solid var(--color-border);z-index:var(--z-sidebar);justify-content:space-around;align-items:center;display:none;position:fixed;bottom:0;left:0;right:0}@media (width<=1023px){.mobile-bottom-nav{display:flex}}.mobile-drawer-backdrop{z-index:var(--z-dropdown);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0009;position:fixed;inset:0}.mobile-drawer{background:var(--color-surface);width:280px;z-index:var(--z-dropdown);transition:transform var(--duration-fast) ease-out;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(0)}.mobile-drawer-closed{transform:translate(-100%)}.app-shell-main:has(>.luca-agent-review){flex-direction:column;height:100dvh;min-height:0;display:flex;overflow:hidden}.app-shell-main:has(>.luca-agent-review)>:not(.luca-agent-review){flex:none}#root:has(.luca-agent-review){flex-direction:column;height:100dvh;min-height:0;display:flex}#root:has(.luca-agent-review)>:not(.app-shell-main){flex:none}.luca-agent-review{flex:auto;grid-template-columns:minmax(320px,35%) 1fr;min-height:0;display:grid;overflow:hidden}.luca-transcript-notices{flex:0 auto;min-height:0;max-height:40%;overflow-y:auto}.luca-transcript-panel{min-height:0}@media (width<=767px){.luca-agent-review{grid-template-rows:minmax(0,45%) minmax(0,55%);grid-template-columns:1fr}.luca-agent-review-transcript{border-bottom:1px solid var(--color-border);border-right:none!important}}.auth-layout{background:var(--color-surface-page);min-height:100vh;padding:var(--space-6);flex-direction:column;justify-content:center;align-items:center;display:flex}.auth-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-width:400px;padding:var(--space-8);box-shadow:var(--shadow-md)}.auth-wordmark{text-align:center;margin-bottom:var(--space-8);color:var(--color-primary)}.auth-error-banner{background:var(--color-danger-light,#fee2e2);border:1px solid var(--color-danger);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);color:var(--color-danger-text);animation:page-fade-in var(--duration-normal) ease-out}.auth-spinner{border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:var(--radius-full);width:16px;height:16px;animation:.6s linear infinite spin}.btn-full-width{width:100%}.demo-user-card{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border);cursor:pointer;background:var(--color-surface);transition:border-color var(--duration-instant) ease-out;display:flex}.demo-user-card:hover{border-color:var(--color-primary)}.demo-user-card:focus-visible{outline:3px solid var(--color-primary-ring);outline-offset:2px}.luca-fab{bottom:var(--space-6);right:var(--space-6);border-radius:var(--radius-full);background:var(--color-primary);width:56px;height:56px;color:var(--color-on-primary);cursor:pointer;box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);transition:background-color var(--duration-instant) ease-out, transform var(--duration-instant) ease-out, box-shadow var(--duration-instant) ease-out;border:none;justify-content:center;align-items:center;display:flex;position:fixed}.luca-fab:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-xl,0 20px 25px -5px #0000001a);transform:scale(1.05)}.luca-fab-ring{box-shadow:var(--shadow-lg), 0 0 0 3px var(--color-accent-ring);animation:voice-pulse var(--duration-voice-pulse,2s) ease-in-out infinite}@media (width<=1023px){.luca-fab{display:none}}.clears-bottom-chrome{bottom:calc(var(--bottom-chrome-clearance) + var(--space-3));z-index:var(--z-bottom-chrome-clearance);margin-bottom:calc(var(--bottom-chrome-clearance) + var(--space-3));box-shadow:var(--shadow-md);position:sticky}.form-actions-bar{justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border-muted);margin-top:var(--space-4);bottom:calc(var(--bottom-chrome-clearance) + var(--space-6));background:var(--color-surface);z-index:var(--z-bottom-chrome-clearance);display:flex;position:sticky;box-shadow:0 -4px 12px #1a18140f}.breadcrumbs{align-items:center;gap:var(--space-2);padding:var(--space-3) 0;display:flex}@media (width<=1023px){.breadcrumbs{display:none}}.skip-to-content{top:var(--space-2);left:var(--space-2);z-index:var(--z-tooltip);padding:var(--space-2) var(--space-4);background:var(--color-primary);color:var(--color-on-primary);border-radius:var(--radius-md);opacity:0;transition:transform var(--duration-fast) ease-out, opacity var(--duration-fast) ease-out;text-decoration:none;position:absolute;transform:translateY(-100%)}.skip-to-content:focus{opacity:1;transform:translateY(0)}.nav-badge{border-radius:var(--radius-full);background:var(--color-danger);color:#fff;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:11px;font-weight:600;display:flex}.command-palette-input-wrapper{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);display:flex}.command-palette-input{font-family:var(--font-body);color:var(--color-on-surface);background:0 0;border:none;outline:none;flex:1;font-size:16px}.command-palette-input::placeholder{color:var(--color-on-surface-muted)}.command-palette-results{padding:var(--space-2);max-height:400px;margin:0;list-style:none;overflow-y:auto}.command-palette-result{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);cursor:pointer;justify-content:space-between;align-items:center;display:flex}.command-palette-result:hover,.command-palette-result-active{background:var(--color-surface-muted)}.command-palette-empty{padding:var(--space-6) var(--space-4);text-align:center}.command-palette-hint{padding:var(--space-6) var(--space-4);align-items:center;gap:var(--space-2);color:var(--color-on-surface-muted);text-align:center;flex-direction:column;display:flex}.command-palette-footer{justify-content:flex-end;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);border-top:1px solid var(--color-border-muted);color:var(--color-on-surface-muted);display:flex}.command-palette-footer-item{align-items:center;gap:var(--space-1);display:inline-flex}.keyboard-shortcut{min-width:24px;height:24px;padding:0 var(--space-1);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-on-surface-secondary);justify-content:center;align-items:center;display:inline-flex}.dialog-overlay{z-index:var(--z-modal);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0009;position:fixed;inset:0}.dialog-content{z-index:var(--z-modal);border-radius:var(--radius-lg);background:var(--color-surface);width:100%;max-width:480px;padding:var(--space-6);box-shadow:var(--shadow-lg);border:1px solid var(--color-border);position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes dialog-in{0%{opacity:0;transform:translate(-50%,-50%)scale(.95)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.dialog-content[data-state=open]{animation:dialog-in var(--duration-fast) ease-out}@media (width<=640px){.dialog-content{width:calc(100vw - 16px);max-height:90vh;overflow-y:auto}}.dialog-close-button{top:var(--space-4);right:var(--space-4);border-radius:var(--radius-sm);color:var(--color-on-surface-muted);cursor:pointer;transition:color var(--duration-instant);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex;position:absolute}.dialog-close-button:hover{color:var(--color-on-surface)}.dialog-close-button:focus-visible{outline:2px solid var(--color-primary-ring);outline-offset:2px}.filter-bar-desktop{gap:var(--space-4) var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border-muted);flex-wrap:wrap;align-items:flex-end;display:flex}.filter-bar-mobile{display:none}@media (width<=767px){.filter-bar-desktop{display:none!important}.filter-bar-mobile{display:block}}.recipe-skeleton-grid{gap:var(--space-4);grid-template-columns:1fr;display:grid}@media (width>=768px){.recipe-skeleton-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.recipe-skeleton-grid{grid-template-columns:repeat(3,1fr)}}.tabular-nums{font-variant-numeric:tabular-nums}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.flex-row{flex-direction:row;display:flex}.flex-col{flex-direction:column;display:flex}.flex-row-reverse{flex-direction:row-reverse;display:flex}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-1{flex:1}.flex-auto{flex:auto}.flex-none{flex:none}.flex-shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.self-start{align-self:flex-start}.self-center{align-self:center}.self-end{align-self:flex-end}.self-stretch{align-self:stretch}.gap-0{gap:0}.gap-0\.5{gap:var(--space-0\.5)}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.gap-12{gap:var(--space-12)}.gap-x-2{column-gap:var(--space-2)}.gap-x-4{column-gap:var(--space-4)}.gap-x-6{column-gap:var(--space-6)}.gap-y-2{row-gap:var(--space-2)}.gap-y-4{row-gap:var(--space-4)}.gap-y-6{row-gap:var(--space-6)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.w-full{width:100%}.h-full{height:100%}.min-w-0{min-width:0}.min-h-0{min-height:0}.max-w-none{max-width:none}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.relative{position:relative}.absolute{position:absolute}.sticky{position:sticky}.inset-0{inset:0}.hidden{display:none}.block{display:block}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.grid{display:grid}.contents{display:contents}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.col-span-full{grid-column:1/-1}.col-span-2{grid-column:span 2}.col-span-3{grid-column:span 3}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.pointer-events-none{pointer-events:none}.select-none{-webkit-user-select:none;user-select:none}.border{border:1px solid var(--color-border)}.border-b{border-bottom:1px solid var(--color-border)}.border-t{border-top:1px solid var(--color-border)}.border-muted{border-color:var(--color-border-muted)}.divide-y>*+*{border-top:1px solid var(--color-border-muted)}.bg-surface{background:var(--color-surface)}.bg-surface-page{background:var(--color-surface-page)}.bg-surface-muted{background:var(--color-surface-muted)}.shadow-xs{box-shadow:var(--shadow-xs)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-full{border-radius:var(--radius-full)}.desktop-only,.tablet-only{display:none}.mobile-only{display:block}@media (width>=768px) and (width<=1023px){.tablet-only{display:block}.mobile-only{display:none}}@media (width>=1024px){.desktop-only{display:block}.mobile-only{display:none}}.p-0{padding:0}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.px-2{padding-left:var(--space-2);padding-right:var(--space-2)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.px-6{padding-left:var(--space-6);padding-right:var(--space-6)}.py-2{padding-top:var(--space-2);padding-bottom:var(--space-2)}.py-3{padding-top:var(--space-3);padding-bottom:var(--space-3)}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.py-6{padding-top:var(--space-6);padding-bottom:var(--space-6)}.m-0{margin:0}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-auto{margin-top:auto}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.ml-auto{margin-left:auto}.mr-auto{margin-right:auto}.mx-auto{margin-left:auto;margin-right:auto}}@layer utilities{.\@container{container-type:inline-size}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.row-1{grid-row:1}.row-2{grid-row:2}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mr-auto{margin-right:auto}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.table-row{display:table-row}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-20{height:calc(var(--spacing) * 20)}.max-h-56{max-height:calc(var(--spacing) * 56)}.max-h-64{max-height:calc(var(--spacing) * 64)}.min-h-\[1\.25rem\]{min-height:1.25rem}.w-10{width:calc(var(--spacing) * 10)}.w-20{width:calc(var(--spacing) * 20)}.w-full{width:100%}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-1{flex:1}.flex-shrink,.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0{gap:calc(var(--spacing) * 0)}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[var\(--color-border\)\]{border-color:var(--color-border)}.bg-\[var\(--color-surface\)\]{background-color:var(--color-surface)}.bg-\[var\(--color-surface-input\)\]{background-color:var(--color-surface-input)}.object-cover{object-fit:cover}.p-1{padding:calc(var(--spacing) * 1)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-12{padding-block:calc(var(--spacing) * 12)}.pt-4{padding-top:calc(var(--spacing) * 4)}.text-center{text-align:center}.text-left{text-align:left}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[12\.5px\]{font-size:12.5px}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.text-\[var\(--color-danger\)\]{color:var(--color-danger)}.text-\[var\(--color-on-surface-secondary\)\]{color:var(--color-on-surface-secondary)}.text-\[var\(--color-text-muted\)\]{color:var(--color-text-muted)}.text-\[var\(--color-warning\)\]{color:var(--color-warning)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-20{opacity:.2}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.select-all{-webkit-user-select:all;user-select:all}@media (hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.hover\:bg-\[var\(--color-surface-hover\)\]:hover{background-color:var(--color-surface-hover)}.hover\:underline:hover{text-decoration-line:underline}}@media (width>=40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=64rem){.lg\:block{display:block}}}:root{--palette-pine-50:#e8f0ec;--palette-pine-100:#c5d9cd;--palette-pine-200:#9fbfad;--palette-pine-300:#78a58d;--palette-pine-500:#4a7c5c;--palette-pine-600:#3d6b4e;--palette-pine-700:#2d4f3e;--palette-pine-950:#0a1a11;--palette-gold-50:#fdf8ed;--palette-gold-300:#e8c06a;--palette-gold-400:#d4a84e;--palette-gold-500:#c8a96e;--palette-gold-600:#b08e4f;--palette-gold-700:#8e7136;--palette-gold-800:#6b5424;--palette-neutral-0:#fdfcf9;--palette-neutral-50:#f7f5f0;--palette-neutral-75:#f3f1eb;--palette-neutral-100:#f0ede6;--palette-neutral-200:#ddd9cf;--palette-neutral-300:#c5c0b5;--palette-neutral-400:#9e9889;--palette-neutral-500:#7a7567;--palette-neutral-600:#5c584d;--palette-neutral-800:#2b2821;--palette-neutral-900:#1a1814;--palette-danger-50:#fef2f1;--palette-danger-100:#fde3e1;--palette-danger-200:#fecaca;--palette-danger-300:#fca5a5;--palette-danger-400:#f06b62;--palette-danger-500:#dc2626;--palette-danger-600:#b91c1c;--palette-danger-700:#991b1b;--palette-warning-50:#fff5ed;--palette-warning-100:#ffe8d5;--palette-warning-300:#fdba74;--palette-warning-400:#f58235;--palette-warning-500:#ea580c;--palette-warning-600:#c2410c;--palette-success-50:#eefbf3;--palette-success-100:#d5f5e3;--palette-success-300:#86efac;--palette-success-400:#3dbd78;--palette-success-500:#16a34a;--palette-success-600:#15803d;--palette-info-50:#eff5ff;--palette-info-100:#dbe8fe;--palette-info-400:#5c9afa;--palette-info-500:#2563eb;--palette-info-600:#1d4ed8}@font-face{font-family:Platypi;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/platypi-latin-wght-normal-w1wZzVmL.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:Alan Sans;font-style:normal;font-weight:300 600;font-display:swap;src:url(/assets/alan-sans-latin-wght-normal-BYXbn9SH.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:iA Writer Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/ia-writer-mono-latin-400-normal-T57jbau0.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{--color-surface:var(--palette-neutral-0);--color-surface-page:var(--palette-neutral-50);--color-surface-muted:var(--palette-neutral-75);--color-surface-input:var(--palette-neutral-100);--color-on-surface:var(--palette-neutral-900);--color-on-surface-body:var(--palette-neutral-800);--color-on-surface-secondary:var(--palette-neutral-600);--color-on-surface-muted:#6e695b;--color-on-surface-disabled:var(--palette-neutral-400);--color-primary:var(--palette-pine-700);--color-primary-hover:var(--palette-pine-600);--color-primary-light:var(--palette-pine-50);--color-primary-ring:var(--palette-pine-200);--color-on-primary:#fff;--color-accent:var(--palette-gold-500);--color-accent-hover:var(--palette-gold-600);--color-accent-light:var(--palette-gold-50);--color-accent-ring:var(--palette-gold-300);--color-accent-text:var(--palette-gold-800);--color-danger:var(--palette-danger-600);--color-danger-text:var(--palette-danger-600);--color-danger-light:var(--palette-danger-50);--color-danger-ring:var(--palette-danger-200);--color-danger-hover:var(--palette-danger-700);--color-warning:var(--palette-warning-600);--color-warning-text:var(--palette-warning-600);--color-warning-light:var(--palette-warning-50);--color-warning-ring:var(--palette-warning-300);--color-warning-hover:var(--palette-warning-500);--color-success:var(--palette-success-600);--color-success-text:var(--palette-success-600);--color-success-light:var(--palette-success-50);--color-success-ring:var(--palette-success-300);--color-info:var(--palette-info-600);--color-info-text:var(--palette-info-600);--color-info-light:var(--palette-info-50);--color-info-ring:var(--palette-info-400);--color-border:var(--palette-neutral-200);--color-border-muted:var(--palette-neutral-100);--color-border-disabled:var(--palette-neutral-300);--color-border-focus:var(--palette-pine-200);--space-0:0;--space-0\.5:.125rem;--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-12:3rem;--space-16:4rem;--space-24:6rem;--fab-clearance:calc(var(--space-6) + 56px);--bottom-nav-height:64px;--bottom-chrome-clearance:var(--bottom-nav-height);--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--shadow-xs:0 1px 2px #1a18140a;--shadow-sm:0 2px 4px #1a18140f;--shadow-md:0 4px 12px #1a181414;--shadow-lg:0 8px 24px #1a18141f;--shadow-xl:0 16px 48px #1a181429;--shadow-focus:0 0 0 3px var(--color-primary-ring);--shadow-focus-danger:0 0 0 3px var(--color-danger-ring);--z-sidebar:100;--z-dropdown:200;--z-modal:300;--z-toast:400;--z-tooltip:500;--z-bottom-chrome-clearance:99;--tap-target-min:44px;--duration-instant:.1s;--duration-fast:.15s;--duration-normal:.25s;--duration-slow:.35s;--duration-voice-pulse:1.5s;--duration-transcript:0s;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--duration-voice-pulse-speaking:2s;--duration-mic-press:50ms;--duration-state-transition:.25s;--duration-field-highlight:.6s;--duration-error-throb:.6s;--duration-waveform-bar:.6s;--stagger-ingredient:50ms;--stagger-card:80ms;--stagger-skeleton:50ms;--ease-bounce-out:cubic-bezier(.34, 1.56, .64, 1);--icon-xs:14px;--icon-sm:16px;--icon-md:20px;--icon-lg:24px;--icon-xl:32px;--icon-2xl:48px;--icon-3xl:56px}@media (width>=1024px){:root{--bottom-chrome-clearance:var(--fab-clearance)}}.type-selector-card{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-6);border:2px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);cursor:pointer;transition:border-color var(--duration-instant) ease-out, background-color var(--duration-instant) ease-out, box-shadow var(--duration-instant) ease-out;flex-direction:column;min-width:200px;min-height:160px;display:flex}.type-selector-card:hover{border-color:var(--color-primary-ring);box-shadow:var(--shadow-sm)}.type-selector-card:focus-visible{outline:3px solid var(--color-primary-ring);outline-offset:2px}.type-selector-card-selected{border-color:var(--color-primary);background:var(--color-primary-light)}@media (width<=767px){.type-selector-card{min-width:unset;width:100%;min-height:120px;padding:var(--space-4);flex-direction:row}}@media (prefers-reduced-motion:reduce){.type-selector-card{transition:none}}.file-upload-zone{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-12) var(--space-6);border:2px dashed var(--color-border-muted);border-radius:var(--radius-lg);background:var(--color-surface);cursor:pointer;transition:border-color var(--duration-instant) ease-out, background-color var(--duration-instant) ease-out;flex-direction:column;display:flex}.file-upload-zone:hover{border-color:var(--color-border)}.file-upload-zone-active{border-color:var(--color-primary);background:var(--color-primary-light)}.file-upload-zone:focus-visible{outline:3px solid var(--color-primary-ring);outline-offset:2px}@media (width<=767px){.file-upload-zone{padding:var(--space-8) var(--space-4)}}@media (prefers-reduced-motion:reduce){.file-upload-zone{transition:none}}.editor-action-bar{z-index:var(--z-dropdown);background:var(--color-surface);border-top:1px solid var(--color-border);padding:var(--space-4) var(--space-6);justify-content:space-between;align-items:center;gap:var(--space-4);min-height:72px;display:flex;position:fixed;bottom:0;left:240px;right:0;box-shadow:0 -4px 12px #1a181414}@media (width<=1023px) and (width>=768px){.editor-action-bar{left:64px}}@media (width<=767px){.editor-action-bar{padding:var(--space-3) var(--space-4);flex-direction:column;min-height:80px;bottom:64px;left:0}}@media (prefers-reduced-motion:reduce){.editor-action-bar{transition:none}}.completeness-bar{border-radius:var(--radius-full);background:var(--color-surface-input);width:100%;height:8px;overflow:hidden}.completeness-bar-fill{border-radius:var(--radius-full);height:100%;transition:width var(--duration-normal) ease-out, background-color var(--duration-normal) ease-out}.completeness-bar-fill-low{background:var(--color-danger-text)}.completeness-bar-fill-medium{background:var(--color-warning-text)}.completeness-bar-fill-high{background:var(--color-primary)}.completeness-bar-fill-complete{background:var(--color-success-text)}@media (prefers-reduced-motion:reduce){.completeness-bar-fill{transition:none}}.ingredient-row{gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border-muted);min-height:48px;transition:background-color var(--duration-instant) ease-out;grid-template-columns:44px 80px 100px 1fr 160px 72px 44px 48px 44px;align-items:center;display:grid}.ingredient-row:hover{background:var(--color-surface-muted)}.ingredient-row-dragging{opacity:.5;box-shadow:var(--shadow-md);background:var(--color-surface);border-radius:var(--radius-md)}.ingredient-row-section-header{background:var(--color-surface-page);border-bottom:2px solid var(--color-border);grid-template-columns:44px 1fr 44px}.ingredient-row-sub-recipe{padding-left:var(--space-12)}.ingredient-row-move-col{flex-direction:column;align-items:center;gap:0;display:flex}@media (width<=767px){.ingredient-row{padding:var(--space-3);gap:var(--space-2);border:1px solid var(--color-border-muted);border-radius:var(--radius-md);margin-bottom:var(--space-2);flex-direction:column;display:flex}.ingredient-row-section-header{border-radius:0;flex-direction:row;margin-bottom:0}.ingredient-row-sub-recipe{padding-left:var(--space-4)}}@media (prefers-reduced-motion:reduce){.ingredient-row{transition:none}}.step-row{gap:var(--space-2);padding:var(--space-3);border-bottom:1px solid var(--color-border-muted);min-height:56px;transition:background-color var(--duration-instant) ease-out;grid-template-columns:44px 36px 1fr 80px 100px 160px 44px;align-items:start;display:grid}.step-row:hover{background:var(--color-surface-muted)}.step-row-dragging{opacity:.5;box-shadow:var(--shadow-md);background:var(--color-surface);border-radius:var(--radius-md)}.step-number{border-radius:var(--radius-full);background:var(--color-surface-muted);width:36px;height:36px;color:var(--color-on-surface-secondary);flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:600;display:flex}.step-ccp-indicator{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);background:var(--color-danger-light);color:var(--color-danger-text);font-size:12px;font-weight:600;display:inline-flex}@media (width<=767px){.step-row{gap:var(--space-2);border:1px solid var(--color-border-muted);border-radius:var(--radius-md);margin-bottom:var(--space-2);flex-direction:column;display:flex}}@media (prefers-reduced-motion:reduce){.step-row{transition:none}}.job-card{align-items:flex-start;gap:var(--space-4);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border-muted);border-radius:var(--radius-md);animation:.2s ease-out both list-item-enter;animation-delay:calc(var(--stagger-index,0) * 15ms);display:flex}.job-card-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.job-card-status-pending .job-card-icon{background:var(--color-info-light);color:var(--color-info-text)}.job-card-status-processing .job-card-icon{background:var(--color-warning-light);color:var(--color-warning-text)}.job-card-status-completed .job-card-icon{background:var(--color-success-light);color:var(--color-success-text)}.job-card-status-failed .job-card-icon{background:var(--color-danger-light);color:var(--color-danger-text)}.job-card-status-cancelled .job-card-icon,.job-card-status-expired .job-card-icon{background:var(--color-surface-muted);color:var(--color-on-surface-disabled)}@media (prefers-reduced-motion:reduce){.job-card{animation:none}}.autocomplete-popover{width:var(--radix-popover-trigger-width,320px);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);max-height:320px;box-shadow:var(--shadow-lg);padding:var(--space-1);overflow-y:auto}.autocomplete-item{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--duration-instant) ease-out;display:flex}.autocomplete-item:hover,.autocomplete-item-active{background:var(--color-surface-muted)}.autocomplete-item-create{border-top:1px solid var(--color-border-muted);color:var(--color-primary);margin-top:var(--space-1);padding-top:var(--space-2)}.autocomplete-skeleton{padding:var(--space-2) var(--space-3)}@media (prefers-reduced-motion:reduce){.autocomplete-item{transition:none}}.image-upload-preview{border-radius:var(--radius-md);border:1px solid var(--color-border-muted);display:inline-block;position:relative;overflow:hidden}.image-upload-preview img{object-fit:cover;width:200px;height:150px;display:block}.image-upload-preview-actions{gap:var(--space-2);margin-top:var(--space-2);display:flex}@media (width<=767px){.image-upload-preview img{width:100%;height:120px}}.editor-container{max-width:840px;padding:0 var(--space-8);gap:var(--space-6);flex-direction:column;margin:0 auto;padding-bottom:140px;display:flex}@media (width<=767px){.editor-container{padding:0 var(--space-4);gap:var(--space-5);padding-bottom:180px}}.editor-name-input{letter-spacing:-.015em;width:100%;color:var(--color-on-surface);padding:var(--space-1) 0 var(--space-2);caret-color:var(--color-primary);background:0 0;border:none;border-bottom:2px solid #0000;outline:none;font-size:34px;font-weight:700;line-height:1.15;transition:border-color .2s}.editor-name-input::placeholder{color:var(--color-on-surface-disabled);letter-spacing:-.01em;font-weight:400}.editor-name-input:focus{border-bottom-color:var(--color-primary)}.editor-name-input:focus::placeholder{color:var(--color-on-surface-muted)}.editor-name-input[aria-invalid=true]{border-bottom-color:var(--color-danger)}@media (width<=767px){.editor-name-input{font-size:26px}}.editor-section{background:var(--color-surface);border:1px solid var(--color-border-muted);border-radius:16px;transition:border-color .2s,box-shadow .2s;overflow:hidden;box-shadow:0 1px 3px #1a18140a}.editor-section:hover{border-color:var(--color-border);box-shadow:0 2px 8px #1a18140f}.editor-section:focus-within{border-color:var(--color-primary-ring);box-shadow:0 0 0 2px var(--color-primary-ring), 0 2px 8px #1a18140f}.editor-section-header{align-items:center;gap:var(--space-3);padding:18px var(--space-6);cursor:pointer;-webkit-user-select:none;user-select:none;text-align:left;background:0 0;border:none;width:100%;transition:background .15s;display:flex}.editor-section-header:hover{background:#1a181405}.editor-section-header-icon{background:var(--color-primary-light);width:38px;height:38px;color:var(--color-primary);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.editor-section-header-title{color:var(--color-on-surface);letter-spacing:-.005em;flex:1;font-size:15px;font-weight:600}.editor-section-header-subtitle{color:var(--color-on-surface-muted);margin-left:var(--space-2);font-size:13px;font-weight:400}.editor-section-header-chevron{color:var(--color-on-surface-muted);border-radius:var(--radius-full);flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;transition:transform .2s cubic-bezier(.4,0,.2,1);display:flex}.editor-section-header:hover .editor-section-header-chevron{background:var(--color-surface-muted)}.editor-section-header-chevron[data-open=true]{transform:rotate(180deg)}.editor-section-content{padding:var(--space-1) var(--space-6) var(--space-6);gap:var(--space-4);flex-direction:column;display:flex}.editor-section-content[data-collapsed=true]{display:none}@media (width<=767px){.editor-section-header{padding:var(--space-3) var(--space-4)}.editor-section-content{padding:var(--space-1) var(--space-4) var(--space-4)}}.editor-metadata-grid{gap:var(--space-4);grid-template-columns:repeat(3,1fr);display:grid}@media (width<=1023px){.editor-metadata-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=767px){.editor-metadata-grid{grid-template-columns:1fr}}.editor-field{gap:var(--space-1);flex-direction:column;display:flex}.editor-field-label{color:var(--color-on-surface-secondary);letter-spacing:.01em;font-size:13px;font-weight:500}.editor-field-label-required:after{content:" *";color:var(--color-danger)}.editor-field-helper{color:var(--color-on-surface-muted);font-size:12px}.editor-field-error{color:var(--color-danger-text);font-size:12px;font-weight:500}.editor-empty-state{padding:var(--space-10) var(--space-6);text-align:center;color:var(--color-on-surface-muted);border:1px dashed var(--color-border);background:linear-gradient(135deg,#1a181404 0%,#1a181408 100%);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;display:flex}.editor-empty-state-icon{color:var(--color-primary);opacity:.4;margin-bottom:var(--space-4)}.editor-empty-state-title{color:var(--color-on-surface);margin-bottom:var(--space-1);letter-spacing:-.005em;font-size:15px;font-weight:600}.editor-empty-state-description{color:var(--color-on-surface-muted);max-width:300px;font-size:13px;line-height:1.6}.editor-empty-state-action{margin-top:var(--space-5)}.editor-inline-row{align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.editor-inline-row .editor-field{flex:1;min-width:120px}.editor-inline-row-suffix{color:var(--color-on-surface-muted);padding-bottom:var(--space-2);flex-shrink:0;font-size:13px}.editor-char-count{font-variant-numeric:tabular-nums}.editor-char-count-near{color:var(--color-warning-text)}.editor-char-count-over{color:var(--color-danger-text);font-weight:600}.editor-completeness{align-items:center;gap:var(--space-3);flex:1;min-width:0;max-width:400px;display:flex}.editor-completeness-bar{background:var(--color-surface-muted);border-radius:var(--radius-full);flex:1;height:6px;overflow:hidden}.editor-completeness-fill{border-radius:var(--radius-full);height:100%;transition:width .4s cubic-bezier(.4,0,.2,1),background-color .3s}.editor-completeness-label{color:var(--color-on-surface-muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}.editor-action-bar-v2{z-index:var(--z-dropdown);padding:var(--space-3) var(--space-8);align-items:center;gap:var(--space-4);-webkit-backdrop-filter:blur(16px)saturate(1.2);backdrop-filter:blur(16px)saturate(1.2);background:#ffffffe0;border-top:1px solid #1a18140f;min-height:60px;display:flex;position:fixed;bottom:0;left:240px;right:0;box-shadow:0 -2px 24px #1a18140f}@media (width<=1023px) and (width>=768px){.editor-action-bar-v2{left:64px}}@media (width<=767px){.editor-action-bar-v2{padding:var(--space-3) var(--space-4);gap:var(--space-2);flex-direction:column;bottom:64px;left:0}}.editor-action-bar-actions{gap:var(--space-3);flex-shrink:0;margin-left:auto;display:flex}@media (width<=767px){.editor-action-bar-actions{width:100%;margin-left:0}.editor-action-bar-actions .btn-base{flex:1}}.ingredient-row-v2{gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);transition:background var(--duration-instant) ease;grid-template-columns:40px 1fr 100px 80px 40px;align-items:center;display:grid}.ingredient-row-v2:hover{background:var(--color-surface-muted)}.ingredient-row-v2 .input-base{padding:var(--space-1-5) var(--space-2);background:0 0;border-color:#0000;font-size:14px}.ingredient-row-v2 .input-base:hover{border-color:var(--color-border-muted);background:var(--color-surface)}.ingredient-row-v2 .input-base:focus{border-color:var(--color-primary);background:var(--color-surface)}@media (width<=767px){.ingredient-row-v2{gap:var(--space-1);padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border-muted);border-radius:var(--radius-md);grid-template-columns:1fr}}.temp-unit-toggle{flex-shrink:0;display:flex;overflow:hidden}.temp-unit-btn{border:1px solid var(--color-border);background:var(--color-surface-muted);width:40px;height:48px;color:var(--color-on-surface-muted);cursor:pointer;border-left:none;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:13px;font-weight:600;transition:background .12s,color .12s;display:flex}.temp-unit-btn:last-child{border-radius:0 var(--radius-md) var(--radius-md) 0}.temp-unit-btn:hover:not(.temp-unit-btn-active){background:var(--color-surface);color:var(--color-on-surface-secondary)}.temp-unit-btn-active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}input[type=number].input-base::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number].input-base::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number].input-base{-moz-appearance:textfield}.ingredient-table-wrap{border:1px solid var(--color-border-muted);border-radius:var(--radius-md);overflow:hidden}.ingredient-table-header{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--color-surface-muted);border-bottom:1px solid var(--color-border-muted);text-transform:uppercase;letter-spacing:.05em;color:var(--color-on-surface-muted);font-size:11px;font-weight:600;display:flex}.ingredient-table-body{flex-direction:column;display:flex}.ingredient-table-row{align-items:center;gap:var(--space-3);padding:0 var(--space-3);border-bottom:1px solid var(--color-border-muted);min-height:44px;transition:background .12s;display:flex}.ingredient-table-row:last-child{border-bottom:none}.ingredient-table-row:hover{background:var(--color-surface-muted)}.ingredient-table-row .input-base{padding:var(--space-1-5) var(--space-2);background:0 0;border-color:#0000;width:100%;height:36px;font-size:14px}.ingredient-table-row .input-base:hover{border-color:var(--color-border-muted)}.ingredient-table-row .input-base:focus{border-color:var(--color-primary);background:var(--color-surface)}.ingredient-table-input{width:100%;height:36px;padding:var(--space-1-5) var(--space-2);border-radius:var(--radius-sm);color:var(--color-on-surface);background:0 0;border:1px solid #0000;outline:none;font-family:inherit;font-size:14px;transition:border-color .12s,background .12s}.ingredient-table-input:hover{border-color:var(--color-border-muted)}.ingredient-table-input:focus{border-color:var(--color-primary);background:var(--color-surface)}.ingredient-table-input::placeholder{color:var(--color-on-surface-disabled)}.ingredient-table-select{width:100%;height:36px;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);color:var(--color-on-surface);cursor:pointer;appearance:auto;background:0 0;border:1px solid #0000;outline:none;font-family:inherit;font-size:14px;transition:border-color .12s,background .12s}.ingredient-table-select:hover{border-color:var(--color-border-muted)}.ingredient-table-select:focus{border-color:var(--color-primary);background:var(--color-surface)}.ingredient-table-selected{align-items:center;gap:var(--space-2);padding:var(--space-1) 0;min-height:36px;display:flex}.ingredient-table-name{color:var(--color-on-surface);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.ingredient-table-change-btn{color:var(--color-primary);cursor:pointer;border-radius:var(--radius-sm);opacity:0;white-space:nowrap;background:0 0;border:none;flex-shrink:0;padding:2px 6px;font-size:11px;font-weight:500;transition:opacity .12s,background .12s}.ingredient-table-row:hover .ingredient-table-change-btn{opacity:1}.ingredient-table-change-btn:hover{background:var(--color-primary-light)}.ingredient-table-remove-btn{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-on-surface-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s;display:flex}.ingredient-table-remove-btn:hover{background:var(--color-danger-light,#fef2f2);color:var(--color-danger,#dc2626)}.ingredient-table-add-row{justify-content:center;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);border:none;border-top:1px dashed var(--color-border-muted);color:var(--color-on-surface-muted);cursor:pointer;background:0 0;font-family:inherit;font-size:13px;font-weight:500;transition:background .12s,color .12s;display:flex}.ingredient-table-add-row:hover{background:var(--color-surface-muted);color:var(--color-primary)}@media (width<=767px){.ingredient-table-header{display:none}.ingredient-table-row{padding:var(--space-2) var(--space-3);gap:var(--space-2);flex-wrap:wrap}.ingredient-table-row>div:first-child{flex:100%}}.step-row-v2{gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);transition:background var(--duration-instant) ease;align-items:flex-start;display:flex}.step-row-v2:hover{background:var(--color-surface-muted)}.step-number-badge{border-radius:var(--radius-full);background:var(--color-primary-light);width:28px;height:28px;color:var(--color-primary);margin-top:var(--space-1);flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.step-row-v2 .input-base{background:0 0;border-color:#0000}.step-row-v2 .input-base:hover{border-color:var(--color-border-muted);background:var(--color-surface)}.step-row-v2 .input-base:focus{border-color:var(--color-primary);background:var(--color-surface)}.type-selector-v2{gap:var(--space-4);max-width:640px;margin:var(--space-4) auto var(--space-8);grid-template-columns:1fr 1fr;display:grid}.type-selector-card-v2{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-8) var(--space-6);background:var(--color-surface);border:2px solid var(--color-border-muted);border-radius:var(--radius-lg);cursor:pointer;text-align:center;flex-direction:column;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.type-selector-card-v2:hover{border-color:var(--color-primary-ring);background:var(--color-primary-light);box-shadow:var(--shadow-md);transform:translateY(-2px)}.type-selector-card-v2:focus-visible{outline:3px solid var(--color-primary-ring);outline-offset:2px}.type-selector-card-v2[aria-pressed=true]{border-color:var(--color-primary);background:var(--color-primary-light);box-shadow:0 0 0 1px var(--color-primary)}.type-selector-card-v2-icon{border-radius:var(--radius-lg);background:var(--color-primary-light);width:56px;height:56px;color:var(--color-primary);justify-content:center;align-items:center;display:flex}.type-selector-card-v2[aria-pressed=true] .type-selector-card-v2-icon{background:var(--color-primary);color:#fff}.type-selector-card-v2-title{color:var(--color-on-surface);font-size:18px;font-weight:700}.type-selector-card-v2-desc{color:var(--color-on-surface-muted);font-size:13px;line-height:1.4}@media (width<=767px){.type-selector-v2{max-width:100%;margin:var(--space-2) 0 var(--space-6);grid-template-columns:1fr}.type-selector-card-v2{padding:var(--space-5) var(--space-4);text-align:left;flex-direction:row}}.recipe-editor{gap:var(--space-8);max-width:1200px;padding:0 var(--space-6);grid-template-columns:1fr 340px;min-height:80vh;margin:0 auto;padding-bottom:80px;display:grid}@media (width<=1023px){.recipe-editor{gap:var(--space-6);padding:0 var(--space-4);grid-template-columns:1fr;padding-bottom:140px}}.recipe-editor-main{gap:var(--space-6);flex-direction:column;min-width:0;display:flex}.recipe-editor-sidebar{top:var(--space-4);align-self:start;gap:var(--space-4);max-height:calc(100vh - var(--space-8));scrollbar-width:thin;flex-direction:column;display:flex;position:sticky;overflow-y:auto}@media (width<=1023px){.recipe-editor-sidebar{max-height:none;position:static}}.recipe-hero{padding:var(--space-2) 0 var(--space-4)}.recipe-hero-type{border-radius:var(--radius-full);background:var(--color-primary-light);color:var(--color-primary);letter-spacing:.08em;text-transform:uppercase;margin-bottom:var(--space-3);padding:3px 12px;font-size:11px;font-weight:700;display:inline-block}.recipe-hero-input{letter-spacing:-.02em;width:100%;color:var(--color-on-surface);padding:var(--space-1) 0;caret-color:var(--color-primary);background:0 0;border:none;border-bottom:2px solid #0000;outline:none;font-size:32px;font-weight:700;line-height:1.15;transition:border-color .2s}.recipe-hero-input::placeholder{color:var(--color-on-surface-disabled);font-weight:400}.recipe-hero-input:focus{border-bottom-color:var(--color-primary)}.recipe-hero-input[aria-invalid=true]{border-bottom-color:var(--color-danger)}@media (width<=767px){.recipe-hero-input{font-size:24px}}.recipe-section{flex-direction:column;display:flex}.recipe-section-header{align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border-muted);display:flex}.recipe-section-title{letter-spacing:.06em;text-transform:uppercase;color:var(--color-on-surface-secondary);font-size:13px;font-weight:700}.recipe-section-count{color:var(--color-on-surface-muted);background:var(--color-surface-muted);border-radius:var(--radius-full);padding:1px 8px;font-size:12px;font-weight:500}.recipe-section-action{margin-left:auto}.ingredient-line{gap:var(--space-3);padding:10px var(--space-3);border-radius:var(--radius-md);cursor:default;grid-template-columns:auto 1fr auto;align-items:start;min-height:40px;transition:background .12s;display:grid}.ingredient-line:hover{background:#1a181405}.ingredient-line+.ingredient-line{border-top:1px solid var(--color-border-muted)}.ingredient-line-qty{color:var(--color-on-surface);white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums;min-width:60px;font-size:14px;font-weight:600}.ingredient-line-body{flex-direction:column;gap:2px;min-width:0;display:flex}.ingredient-line-name{color:var(--color-on-surface);font-size:14px;font-weight:500}.ingredient-line-prep{color:var(--color-on-surface-muted);font-size:12.5px;font-style:italic}.ingredient-line-allergens{gap:var(--space-1);margin-top:2px;display:flex}.ingredient-line-actions{gap:var(--space-1);opacity:0;transition:opacity .12s;display:flex}.ingredient-line:hover .ingredient-line-actions{opacity:1}.ingredient-add-input{width:100%;padding:12px var(--space-4);border:1px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-on-surface);background:0 0;outline:none;font-size:14px;transition:border-color .2s,background .2s}.ingredient-add-input::placeholder{color:var(--color-on-surface-muted);font-style:italic}.ingredient-add-input:focus{border-color:var(--color-primary);background:var(--color-surface);box-shadow:0 0 0 2px var(--color-primary-ring);border-style:solid}.step-card{gap:var(--space-3);padding:var(--space-3) 0;display:flex}.step-card+.step-card{border-top:1px solid var(--color-border-muted)}.step-card-number{border-radius:var(--radius-full);background:var(--color-primary);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;margin-top:2px;font-size:13px;font-weight:700;display:flex}.step-card-body{gap:var(--space-2);flex-direction:column;flex:1;min-width:0;display:flex}.step-card-instruction{width:100%;min-height:60px;padding:var(--space-2);border-radius:var(--radius-md);color:var(--color-on-surface);resize:none;background:0 0;border:1px solid #0000;outline:none;font-family:inherit;font-size:14px;line-height:1.6;transition:border-color .2s,background .2s}.step-card-instruction::placeholder{color:var(--color-on-surface-muted)}.step-card-instruction:focus{border-color:var(--color-border);background:var(--color-surface)}.step-card-meta{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.step-card-meta-item{align-items:center;gap:var(--space-1);color:var(--color-on-surface-muted);border-radius:var(--radius-sm);background:var(--color-surface-muted);padding:3px 8px;font-size:12px;display:flex}.step-card-actions{gap:var(--space-1);opacity:0;transition:opacity .12s;display:flex}.step-card:hover .step-card-actions{opacity:1}.sidebar-panel{background:var(--color-surface);border:1px solid var(--color-border-muted);border-radius:12px;overflow:hidden}.sidebar-panel-header{padding:var(--space-3) var(--space-4);letter-spacing:.08em;text-transform:uppercase;color:var(--color-on-surface-muted);border-bottom:1px solid var(--color-border-muted);background:#1a181404;font-size:11px;font-weight:700}.sidebar-panel-body{padding:var(--space-3) var(--space-4)}.sidebar-meta-row{gap:var(--space-1);padding:var(--space-2) 0;flex-direction:column;display:flex}.sidebar-meta-row+.sidebar-meta-row{border-top:1px solid var(--color-border-muted)}.sidebar-meta-label{letter-spacing:.04em;text-transform:uppercase;color:var(--color-on-surface-muted);font-size:11px;font-weight:600}.sidebar-meta-value{color:var(--color-on-surface);font-size:13px}.sidebar-actions{gap:var(--space-2);flex-direction:column;display:flex}.sidebar-actions .btn-base{justify-content:center;width:100%}.sidebar-completeness{align-items:center;gap:var(--space-2);padding:var(--space-2) 0;display:flex}.sidebar-completeness-bar{background:var(--color-surface-muted);border-radius:var(--radius-full);flex:1;height:4px;overflow:hidden}.sidebar-completeness-fill{border-radius:var(--radius-full);height:100%;transition:width .4s cubic-bezier(.4,0,.2,1),background-color .3s}.sidebar-completeness-text{color:var(--color-on-surface-muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:11px;font-weight:600}.sidebar-allergen-grid{flex-wrap:wrap;gap:6px;display:flex}.sidebar-allergen-badge{border-radius:var(--radius-full);white-space:nowrap;padding:2px 8px;font-size:11px;font-weight:600}.sidebar-allergen-badge[data-status=contains]{background:var(--color-danger-light);color:var(--color-danger-text)}.sidebar-allergen-badge[data-status=may_contain]{background:var(--color-warning-light);color:var(--color-warning-text)}.sidebar-allergen-badge[data-status=free]{background:var(--color-surface-muted);color:var(--color-on-surface-muted)}.details-group{border:1px solid var(--color-border-muted);border-radius:12px;overflow:hidden}.details-group-header{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);cursor:pointer;-webkit-user-select:none;user-select:none;text-align:left;width:100%;color:var(--color-on-surface-secondary);background:0 0;border:none;font-size:13px;font-weight:600;transition:background .12s;display:flex}.details-group-header:hover{background:#1a181405}.details-group-header-chevron{color:var(--color-on-surface-muted);margin-left:auto;transition:transform .2s cubic-bezier(.4,0,.2,1)}.details-group-header-chevron[data-open=true]{transform:rotate(180deg)}.details-group-body{padding:0 var(--space-4) var(--space-4);gap:var(--space-4);flex-direction:column;display:flex}.details-group-body[data-collapsed=true]{display:none}@media (width<=1023px){.recipe-editor-mobile-bar{z-index:var(--z-dropdown);padding:var(--space-3) var(--space-4);align-items:center;gap:var(--space-3);-webkit-backdrop-filter:blur(16px)saturate(1.2);backdrop-filter:blur(16px)saturate(1.2);background:#ffffffeb;border-top:1px solid #1a18140f;min-height:56px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 24px #1a18140f}}@media (width>=1024px){.recipe-editor-mobile-bar{display:none}}@media (prefers-reduced-motion:reduce){.type-selector-card-v2,.editor-completeness-fill,.sidebar-completeness-fill,.editor-section-header-chevron,.details-group-header-chevron{transition:none}}.job-card-v2{align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--color-surface);border:1px solid var(--color-border-muted);border-radius:var(--radius-lg);transition:border-color var(--duration-instant) ease, box-shadow var(--duration-instant) ease;display:flex}.job-card-v2:hover{border-color:var(--color-border);box-shadow:var(--shadow-xs)}.upload-zone-v2{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-10) var(--space-6);border:2px dashed var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-muted);text-align:center;cursor:pointer;flex-direction:column;transition:all .2s;display:flex}.upload-zone-v2:hover{border-color:var(--color-primary-ring);background:var(--color-primary-light)}.upload-zone-v2-active{border-color:var(--color-primary);background:var(--color-primary-light);box-shadow:0 0 0 2px var(--color-primary-ring)}.upload-zone-v2-icon{border-radius:var(--radius-full);background:var(--color-surface);width:48px;height:48px;color:var(--color-on-surface-muted);border:1px solid var(--color-border-muted);justify-content:center;align-items:center;display:flex}.session-card{align-items:center;gap:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);padding:var(--space-4);cursor:pointer;transition:box-shadow var(--duration-instant) ease-out, transform 50ms ease-out;animation:.2s ease-out both list-item-enter;animation-delay:calc(var(--stagger-index,0) * 15ms);flex-direction:row;width:100%;min-height:72px;display:flex}.session-card:hover{box-shadow:var(--shadow-md)}.session-card:active{transform:scale(.98)}.session-card:focus-visible{box-shadow:var(--shadow-focus);outline:none}@media (width>=1024px){.session-card{padding:var(--space-6)}}.session-card-abandoned{background:var(--color-surface-muted);color:var(--color-on-surface-disabled);opacity:.7}.session-card-abandoned:hover{box-shadow:var(--shadow-sm)}.session-filter-bar{gap:var(--space-2);flex-direction:column;display:flex}.session-filter-bar .session-filter-select{width:100%}@media (width>=768px){.session-filter-bar{gap:var(--space-3);flex-direction:row;align-items:center}.session-filter-bar .session-filter-select{width:auto;min-width:140px}}.session-skeleton{background:linear-gradient(90deg, var(--color-surface-input) 25%, var(--color-surface-muted) 50%, var(--color-surface-input) 75%);border-radius:var(--radius-md);background-size:200% 100%;width:100%;min-height:72px;animation:1.5s ease-in-out infinite shimmer}.new-session-fab{bottom:calc(64px + env(safe-area-inset-bottom,0px) + 56px + var(--space-3) + var(--space-3));right:var(--space-6);z-index:var(--z-dropdown);border-radius:var(--radius-full);width:48px;height:48px;box-shadow:var(--shadow-lg);transition:transform var(--duration-instant) ease-out, box-shadow var(--duration-instant) ease-out;justify-content:center;align-items:center;display:flex;position:fixed}@media (width>=768px){.new-session-fab{bottom:calc(env(safe-area-inset-bottom,0px) + var(--space-6) + 56px + var(--space-3));width:56px;height:56px}}.new-session-fab:hover{box-shadow:var(--shadow-xl);transform:scale(1.05)translateY(-2px)}.new-session-fab:active{box-shadow:var(--shadow-md);transform:scale(.94)}.badge-voice{height:20px;padding:0 var(--space-1);border-radius:var(--radius-xs);font-family:var(--font-body);background:var(--color-accent-light);color:var(--color-accent);align-items:center;font-size:11px;font-weight:600;display:inline-flex}.badge-text{height:20px;padding:0 var(--space-1);border-radius:var(--radius-xs);font-family:var(--font-body);background:var(--color-surface-muted);color:var(--color-on-surface-secondary);align-items:center;font-size:11px;font-weight:600;display:inline-flex}.transcript-drawer{background:var(--color-surface);border-left:1px solid var(--color-border);width:320px;height:calc(100vh - 56px);box-shadow:var(--shadow-lg);z-index:var(--z-sidebar);padding:var(--space-6);transition:transform var(--duration-normal) var(--ease-out);position:fixed;top:56px;right:0;overflow-y:auto;transform:translate(320px)}.transcript-drawer-open{transform:translate(0)}.transcript-drawer-closed{transform:translate(320px)}.transcript-drawer-header{height:48px;padding:0 var(--space-3);border-bottom:1px solid var(--color-border);flex-direction:row;justify-content:space-between;align-items:center;display:flex}.transcript-bubble-chef{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);max-width:80%;padding:var(--space-3);margin-bottom:var(--space-3);align-self:flex-start;animation:.2s ease-out bubble-enter-chef}.transcript-bubble-luca{background:var(--color-accent-light);border:1px solid var(--color-accent-ring);border-radius:var(--radius-lg);max-width:80%;padding:var(--space-3);margin-bottom:var(--space-3);align-self:flex-end;animation:.2s ease-out bubble-enter-luca}.transcript-bubble-system{max-width:90%;padding:var(--space-2);margin-bottom:var(--space-2);animation:fade-in var(--duration-fast) ease-out;background:0 0;align-self:center;font-style:italic}.mobile-tab-toggle{background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:10;flex-shrink:0;height:44px;display:flex;position:relative}.mobile-tab-toggle button{padding:var(--space-3) 0;cursor:pointer;transition:border-bottom-color var(--duration-instant) ease-out;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;font-size:14px}.mobile-tab-toggle-active{color:var(--color-on-surface);font-weight:600;border-bottom-color:var(--color-accent)!important}.mobile-tab-toggle-badge{border-radius:var(--radius-full);background:var(--color-accent);min-width:18px;height:18px;color:var(--color-on-primary);margin-left:var(--space-1);justify-content:center;align-items:center;font-size:10px;font-weight:700;display:inline-flex}.segment-control{background:var(--color-surface-muted);border-radius:var(--radius-md);height:36px;margin-bottom:var(--space-3);display:flex;position:relative}.segment-control-item{color:var(--color-on-surface-secondary);cursor:pointer;z-index:1;background:0 0;border:none;flex:1;font-size:14px;font-weight:400}.segment-control-item-active{color:var(--color-on-surface);font-weight:600}.segment-underline{background:var(--color-accent);height:2px;transition:transform var(--duration-fast) var(--ease-out);border-radius:1px;position:absolute;bottom:0}.recipe-pill-bar{gap:var(--space-2);height:44px;padding:var(--space-2) var(--space-4);scroll-snap-type:x mandatory;scrollbar-width:none;background:var(--color-surface-page);display:flex;overflow-x:auto}.recipe-pill-bar::-webkit-scrollbar{display:none}.recipe-pill{border-radius:var(--radius-full);height:32px;padding:0 var(--space-3);white-space:nowrap;text-overflow:ellipsis;scroll-snap-align:start;cursor:pointer;border:1px solid var(--color-border-muted);background:var(--color-surface-muted);max-width:160px;color:var(--color-on-surface-secondary);flex-shrink:0;align-items:center;font-size:14px;font-weight:400;display:inline-flex;position:relative;overflow:hidden}.recipe-pill-active{background:var(--color-accent-light);color:var(--color-accent);border-color:var(--color-accent-ring);font-weight:600}.recipe-pill-update-dot{background:var(--color-accent-ring);border:2px solid var(--color-surface-page);border-radius:50%;width:8px;height:8px;position:absolute;top:-2px;right:-2px}.workspace-card-focused{background:var(--color-surface);border:1px solid var(--color-border);border-left:3px solid var(--color-accent);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-6)}.workspace-card-minimized{background:var(--color-surface-muted);border:1px solid var(--color-border-muted);border-radius:var(--radius-md);padding:0 var(--space-3);cursor:pointer;height:44px;transition:background var(--duration-instant) ease-out;align-items:center;display:flex}.workspace-card-minimized:hover{background:var(--color-surface-input)}.workspace-empty-state{justify-content:center;align-items:center;gap:var(--space-3);flex-direction:column;height:100%;display:flex}.workspace-field-editable{cursor:text;position:relative}.workspace-field-editing{width:100%;height:48px;padding:0 var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-body);color:var(--color-on-surface-body);transition:border-color var(--duration-instant) ease-out, box-shadow var(--duration-instant) ease-out;font-size:16px}.workspace-field-editing:focus-visible{border-color:var(--color-border-focus);box-shadow:var(--shadow-focus);outline:none}.workspace-field-edited{position:relative}.badge-unknown-ingredient{border-radius:var(--radius-full);background:var(--color-warning-light);width:20px;height:20px;color:var(--color-warning-text);justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.auto-match-chip{background:var(--color-accent-light);border:1px solid var(--color-warning-light);border-radius:var(--radius-full);padding:var(--space-1) var(--space-3);cursor:pointer;align-items:center;height:28px;font-size:14px;transition:opacity .15s ease-out;display:inline-flex}.waveform-container{align-items:center;gap:3px;height:40px;display:flex}.waveform-bar{background:var(--color-on-primary);width:3px;animation:waveform-bar var(--duration-waveform-bar) ease-in-out infinite;border-radius:1.5px}.waveform-bar:first-child{--bar-max-height:20px;animation-delay:0s}.waveform-bar:nth-child(2){--bar-max-height:32px;animation-delay:.1s}.waveform-bar:nth-child(3){--bar-max-height:40px;animation-delay:50ms}.waveform-bar:nth-child(4){--bar-max-height:28px;animation-delay:.15s}.waveform-bar:nth-child(5){--bar-max-height:16px;animation-delay:75ms}.voice-indicator{align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.voice-indicator-text{font-size:14px;font-weight:500}.mic-icon-breathing{opacity:.85;animation:2.4s ease-in-out .6s infinite microphone-breathing}.error-throb{animation:error-throb var(--duration-error-throb) ease-in-out infinite}.mic-button:focus-visible{box-shadow:var(--shadow-focus)}.mic-button:active{transition:transform var(--duration-mic-press) var(--ease-bounce-out);transform:scale(.92)}.ingredient-quantity-updating{animation:.15s ease-out quantity-update}.allergen-badge-entering{animation:.2s ease-out allergen-badge-enter;animation-delay:calc(var(--ingredient-index,0) * 50ms + .1s);animation-fill-mode:both}.workspace-field-shimmer{background:linear-gradient(90deg, var(--color-surface-input) 25%, var(--color-surface-muted) 50%, var(--color-surface-input) 75%);border-radius:var(--radius-md);background-size:200% 100%;animation:1.5s ease-in-out infinite shimmer}.filler-dots{gap:var(--space-2);padding:var(--space-3);background:var(--color-accent-light);border:1px solid var(--color-accent-ring);border-radius:var(--radius-lg);max-width:80%;display:flex}.filler-dots>span{background:var(--color-accent);border-radius:50%;width:8px;height:8px;animation:.3s ease-in-out infinite filler-dot-bounce}.filler-dots>span:nth-child(2){animation-delay:.15s}.filler-dots>span:nth-child(3){animation-delay:.3s}.idle-warning-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:var(--z-modal);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.idle-warning-content{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-width:400px;padding:var(--space-8);align-items:center;gap:var(--space-4);flex-direction:column;display:flex}.service-banner{width:100%;padding:var(--space-3) var(--space-4);align-items:center;gap:var(--space-3);font-size:14px;display:flex}.service-banner-warning{background:var(--color-warning-light);border-bottom:2px solid var(--color-warning-ring);color:var(--color-warning-text)}.service-banner-info{border-radius:var(--radius-md);color:var(--color-info);background:#eff5ff;border:1px solid #5c9afa}.session-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);height:56px;padding:0 var(--space-4);z-index:var(--z-sidebar);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}@media (width>=1024px){.session-header{padding:0 var(--space-6)}}.hide-mobile{display:none}.show-mobile-icon{display:inline-flex}.hide-mobile-icon{display:none}@media (width>=768px){.hide-mobile{display:inline}.show-mobile-icon{display:none}.hide-mobile-icon{display:inline-flex}}.review-action-bar{flex-direction:column-reverse}.review-action-bar>button{width:100%}@media (width>=768px){.review-action-bar{flex-direction:row;justify-content:flex-end}.review-action-bar>button{width:auto}}.allergen-verification{background:var(--color-accent-light);border:1px solid var(--color-accent-ring);border-radius:var(--radius-lg);padding:var(--space-4)}.session-resume-separator{text-align:center;color:var(--color-on-surface-muted);margin:var(--space-3) 0;align-items:center;gap:var(--space-3);font-size:12px;font-style:italic;display:flex;position:relative}.session-resume-separator:before,.session-resume-separator:after{content:"";background:var(--color-border-muted);flex:1;max-width:60%;height:1px}.low-confidence-word{-webkit-text-decoration:underline dotted var(--color-warning-text);-webkit-text-decoration:underline dotted var(--color-warning-text);-webkit-text-decoration:underline dotted var(--color-warning-text);text-decoration:underline dotted var(--color-warning-text)}@media (width<=767px){.workspace-card-focused{padding:var(--space-4)}.session-filter-bar{gap:var(--space-2);flex-direction:column}}html[data-offline=true] button[type=submit],html[data-offline=true] .btn-primary,html[data-offline=true] .btn-danger{pointer-events:none;opacity:.5;cursor:not-allowed}.allergen-matrix-table{font-family:var(--font-body);font-size:13px}.matrix-cell-header{letter-spacing:.01em;text-align:center;color:var(--color-on-surface-secondary);border-bottom:2px solid var(--color-border);border-right:1px solid var(--color-border-muted);padding:10px 12px;font-size:12px;font-weight:600;background:var(--color-surface-muted)!important}@supports (color:color-mix(in lab, red, red)){.matrix-cell-header{border-right:1px solid color-mix(in srgb, var(--color-border-muted) 50%, transparent)}}.matrix-cell-header{white-space:nowrap;vertical-align:bottom;-webkit-user-select:none;user-select:none}.matrix-cell-header:last-child{border-right:none}.matrix-cell-header:first-child{text-align:left;color:var(--color-on-surface);font-size:13px}.matrix-cell{text-align:center;vertical-align:middle;border-bottom:1px solid var(--color-border-muted);border-right:1px solid var(--color-border-muted);padding:8px 12px}@supports (color:color-mix(in lab, red, red)){.matrix-cell{border-right:1px solid color-mix(in srgb, var(--color-border-muted) 50%, transparent)}}.matrix-cell{font-size:14px;font-weight:600}.matrix-cell:last-child{border-right:none}.matrix-recipe-cell{min-width:180px;padding:10px 12px 10px var(--space-3);vertical-align:middle;border-bottom:1px solid var(--color-border-muted);border-right:1px solid var(--color-border-muted);background:var(--color-surface)}.matrix-row-hover>td{background-color:var(--color-surface)}.matrix-row-hover:hover>td{background-color:var(--color-surface-muted)!important}.matrix-row-hover:nth-child(2n)>td{background-color:var(--color-surface-muted)}@supports (color:color-mix(in lab, red, red)){.matrix-row-hover:nth-child(2n)>td{background-color:color-mix(in srgb, var(--color-surface-muted) 40%, var(--color-surface))}}.matrix-row-hover:nth-child(2n):hover>td{background-color:var(--color-surface-muted)!important}.matrix-divider{border-bottom:1px solid var(--color-border-muted);min-width:2px;max-width:2px;background:var(--color-border)!important;width:2px!important;padding:0!important}.matrix-cascade-badge,.matrix-stale-badge{border-radius:var(--radius-sm);background:var(--color-warning-light);color:var(--color-warning-text);white-space:nowrap;align-items:center;gap:3px;padding:1px 6px;font-size:10px;font-weight:600;display:inline-flex}.allergen-stale-banner{align-items:center;gap:var(--space-3);padding:var(--space-4);margin:var(--space-2) 0;border-radius:var(--radius-md);background:var(--color-warning-light);color:var(--color-warning-text);font-size:14px;font-weight:600;display:flex}.allergen-unverified-banner{align-items:flex-start;gap:var(--space-3);padding:var(--space-4);margin:var(--space-2) 0;border-radius:var(--radius-md);border:1px solid var(--color-danger);background:var(--color-danger-light);color:var(--color-danger);font-size:14px;line-height:1.45;display:flex}.matrix-unverified-badge{border-radius:var(--radius-sm);letter-spacing:.02em;background:var(--color-danger-light);color:var(--color-danger);border:1px solid var(--color-danger);white-space:nowrap;align-items:center;gap:3px;padding:1px 6px;font-size:10px;font-weight:700;display:inline-flex}@media (width<=767px){.matrix-cell-header{padding:8px 6px;font-size:11px}.matrix-cell{padding:6px;font-size:13px}.matrix-recipe-cell{min-width:180px;padding:8px 8px 8px var(--space-2)}}@keyframes voice-pulse{0%,to{box-shadow:0 0 #c8a96e80}50%{box-shadow:0 0 0 12px #c8a96e00}}@keyframes card-update{0%{opacity:.7;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.card-update{animation:card-update var(--duration-normal) ease-out}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes list-item-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes recipe-grid-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-in-right{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.animate-fade-in{animation:fade-in var(--duration-fast) ease-out}.animate-slide-in-right{animation:slide-in-right var(--duration-fast) ease-out}@keyframes page-fade-in{0%{opacity:0}to{opacity:1}}.page-transition-enter{animation:page-fade-in var(--duration-fast) ease-out}@keyframes waveform-bar{0%,to{height:8px}50%{height:var(--bar-max-height)}}@keyframes microphone-breathing{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes filler-dot-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes voice-pulse-warning{0%,to{box-shadow:0 0 #ea580c66}50%{box-shadow:0 0 0 12px #ea580c00}}@keyframes input-highlight-pulse{0%,to{box-shadow:0 0 #e8c06a00}50%{box-shadow:0 0 0 3px #e8c06a80}}@keyframes ingredient-fade-out{to{opacity:0;transform:translateY(-4px)}}@keyframes card-enter{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes quantity-update{0%{opacity:.6;color:var(--color-accent);transform:scale(1.1)}to{opacity:1;color:var(--color-on-surface);transform:scale(1)}}@keyframes allergen-badge-enter{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes error-throb{0%,to{box-shadow:0 0 #dc262680}25%{box-shadow:0 0 0 6px #dc26264d}50%{box-shadow:0 0 #dc262680}75%{box-shadow:0 0 0 4px #dc262633}}@keyframes review-card-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes bubble-enter-chef{0%{opacity:0;transform:translateY(8px)translate(-12px)}to{opacity:1;transform:translateY(0)translate(0)}}@keyframes bubble-enter-luca{0%{opacity:0;transform:translateY(8px)translate(12px)}to{opacity:1;transform:translateY(0)translate(0)}}@keyframes controls-slide-up{0%{opacity:0;transform:translateY(88px)}to{opacity:1;transform:translateY(0)}}@keyframes icon-crossfade-out{to{opacity:0;transform:scale(.8)}}@keyframes icon-crossfade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes drawer-slide-in{0%{transform:translate(320px)}to{transform:translate(0)}}@keyframes drawer-slide-out{0%{transform:translate(0)}to{transform:translate(320px)}}@keyframes session-status-pulse{0%,to{box-shadow:0 0 #15803d80}50%{box-shadow:0 0 0 6px #15803d00}}@keyframes slide-in-down{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}@keyframes list-item-enter{0%{opacity:1;transform:none}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:1}to{opacity:1}}@keyframes slide-in-right{0%{opacity:1;transform:none}to{opacity:1;transform:none}}@keyframes waveform-bar{0%,to{height:8px}}@keyframes microphone-breathing{0%,to{transform:none}}@keyframes filler-dot-bounce{0%,to{transform:none}}@keyframes voice-pulse-warning{0%,to{box-shadow:none}}@keyframes input-highlight-pulse{0%,to{box-shadow:none}}@keyframes ingredient-fade-out{to{opacity:0;transform:none}}@keyframes card-enter{0%,to{opacity:1;transform:none}}@keyframes quantity-update{0%,to{opacity:1;color:var(--color-on-surface);transform:none}}@keyframes allergen-badge-enter{0%,to{opacity:1;transform:none}}@keyframes error-throb{0%,to{box-shadow:none}}@keyframes review-card-enter{0%,to{opacity:1;transform:none}}@keyframes bubble-enter-chef{0%,to{opacity:1;transform:none}}@keyframes bubble-enter-luca{0%,to{opacity:1;transform:none}}@keyframes controls-slide-up{0%,to{opacity:1;transform:none}}@keyframes icon-crossfade-out{to{opacity:0;transform:none}}@keyframes icon-crossfade-in{0%,to{opacity:1;transform:none}}@keyframes drawer-slide-in{0%,to{transform:none}}@keyframes drawer-slide-out{0%,to{transform:none}}@keyframes slide-in-down{0%,to{opacity:1;transform:none}}@keyframes session-status-pulse{0%,to{box-shadow:none}}}@media print{:root{--print-border:1px solid #333}body{color:var(--color-on-surface)!important;background:#fff!important;font-family:-apple-system,Segoe UI,Roboto,sans-serif!important}*{-webkit-print-color-adjust:exact;print-color-adjust:exact;box-shadow:none!important}.sidebar,.topbar,.notification-bell,.breadcrumbs,.action-bar,.sticky-bar,.luca-fab,.new-session-fab,.mobile-bottom-nav,.recipe-detail-action-bar,[role=dialog],[role=alertdialog],.sonner-toast,[role=tooltip],.skeleton,[data-slot=button][aria-label=Close]{display:none!important}@page{margin:15mm}.card,.desk-panel,table tr{break-inside:avoid}a:after{content:" (" attr(href) ")";color:#666;font-size:.85em}.recipe-detail-page{columns:1;max-width:100%}.recipe-detail-page .recipe-hero-image{float:right;width:200px;height:150px;margin-left:12px}.recipe-detail-page h1{font-size:18pt;font-weight:700}.recipe-detail-page .recipe-number{font-size:12pt}.recipe-detail-page .allergen-contains,.recipe-detail-page .allergen-may-contain,.recipe-detail-page .allergen-free{color:#000!important;background:#fff!important;border:1px solid #000!important}.recipe-detail-page .section-header{border-bottom:var(--print-border);padding-bottom:4px;font-size:14pt;font-weight:700}.recipe-detail-page .ingredients-table{border-collapse:collapse;width:100%}.recipe-detail-page .ingredients-table th,.recipe-detail-page .ingredients-table td{border:var(--print-border);padding:4px 8px}.recipe-detail-page .ingredient-optional:after{content:" *"}.recipe-detail-page .ingredients-footnote{margin-top:4px;font-style:italic}.recipe-detail-page .step-ccp:before{content:"[CCP] ";font-weight:700}.recipe-detail-page .version-history,.recipe-detail-page .qa-flags{display:none}@page{@bottom-center{content:"Printed from Tullia - " attr(data-restaurant-name) " - " attr(data-print-date);font-size:9pt;color:#666}}.recipe-detail-page.ingredients-overflow .method-section{break-before:page}.allergen-matrix-page{page:allergen-landscape}@page allergen-landscape{size:landscape;@bottom-center{content:attr(data-restaurant-name) " - Allergen Matrix - Printed " attr(data-print-date) " - DISCLAIMER: For internal kitchen reference only. Confirm allergen content before serving to guests with allergies.";font-size:8pt}}.allergen-matrix-table thead{display:table-header-group}.allergen-matrix-table td,.allergen-matrix-table th{border:var(--print-border);font-size:14pt;font-weight:700}.allergen-matrix-table tbody tr:nth-of-type(50n){break-after:page}.allergen-matrix-legend{break-inside:avoid;margin-top:12pt;display:block!important}.desk-rail,.desk-bulk,.desk-back,.desk-pane-position{display:none!important}.desk,.desk-pane-wrap,.desk-pane{height:auto!important;display:block!important;overflow:visible!important}.desk-panel{break-inside:avoid;box-shadow:none!important;border:1pt solid #999!important}.desk-panel+.desk-panel{margin-top:12pt}.desk-dif[data-diff-state=removed]{text-decoration:line-through;color:#000!important;background:0 0!important}.desk-dif[data-diff-state=added]{text-decoration:underline;color:#000!important;background:0 0!important}.desk-cols{display:block!important}}:root{--color-background:var(--color-surface-page);--color-foreground:var(--color-on-surface);--color-popover:var(--color-surface);--color-popover-foreground:var(--color-on-surface);--color-muted:var(--color-surface-muted);--color-muted-foreground:var(--color-on-surface-muted);--color-card:var(--color-surface);--color-card-foreground:var(--color-on-surface);--color-input:var(--color-border-muted);--color-ring:var(--color-primary-ring);--color-destructive:var(--color-danger);--color-accent-foreground:var(--color-on-surface);--radius:.5rem}html,body{font-family:var(--font-body)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading)}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}
