.dish-recommender-app,.dish-recommender-form,.dish-recommender-panel,.dish-recommender-results{display:grid;gap:1.15rem}.dish-recommender-panel{background:var(--panel-background)}.dish-recommender-heading,.dish-recommender-section-heading,.dish-recommender-field,.dish-recommender-result,.dish-recommender-result__body{display:grid;gap:.6rem}.dish-recommender-heading{margin-bottom:.25rem}.dish-recommender-heading h1{margin:0;font-size:clamp(1.8rem,5vw,2.6rem);line-height:1.05;letter-spacing:-.055em}.dish-recommender-heading p,.dish-recommender-section-heading p,.dish-recommender-result p{margin:0;color:var(--color-muted);line-height:var(--surface-copy-line-height)}.dish-recommender-progress{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem;margin:0;padding:0;list-style:none}.dish-recommender-step{display:grid;gap:.35rem;width:100%;min-height:4.5rem;align-content:center;padding:.7rem .5rem;border:1px solid color-mix(in srgb,var(--color-border),var(--color-text) 7%);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-surface),transparent 3%);color:var(--color-muted);font:inherit;text-align:center;transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease}.dish-recommender-step:hover{transform:translateY(-1px)}.dish-recommender-step span{display:inline-flex;align-items:center;justify-content:center;width:1.65rem;height:1.65rem;justify-self:center;border-radius:var(--radius-full);background:color-mix(in srgb,var(--color-surface-soft),transparent 8%);color:var(--color-text);font-size:.8rem;font-weight:950}.dish-recommender-step strong{overflow:hidden;font-size:.72rem;font-weight:850;line-height:1.15;text-overflow:ellipsis}.dish-recommender-step[aria-current=step]{border-color:color-mix(in srgb,var(--color-primary),var(--color-border) 24%);background:color-mix(in srgb,var(--color-primary-soft),transparent 18%);color:var(--color-primary)}.dish-recommender-step[aria-current=step] span{background:var(--color-primary);color:var(--color-on-primary, #fff)}.dish-recommender-card,.dish-recommender-result{display:grid;gap:1.2rem;padding:clamp(1rem,3vw,1.35rem);border:1px solid color-mix(in srgb,var(--color-border),var(--color-text) 6%);border-radius:var(--radius-xl);background:color-mix(in srgb,var(--color-surface-raised),transparent 2%)}.dish-recommender-result{gap:1rem}.dish-recommender-grid{display:grid;gap:1rem}.dish-recommender-field span,.dish-recommender-options legend{font-weight:850;color:var(--color-text)}.dish-recommender-field input,.dish-recommender-field select,.dish-recommender-field textarea,.dish-recommender-result select{width:100%;min-height:3.15rem;border:1px solid color-mix(in srgb,var(--color-border),var(--color-text) 10%);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-surface),transparent 1%);color:var(--color-text);font:inherit;font-weight:700;box-shadow:inset 0 1px color-mix(in srgb,#fff,transparent 86%);transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.dish-recommender-field input,.dish-recommender-field select,.dish-recommender-result select{padding:0 .95rem}.dish-recommender-field select,.dish-recommender-result select{appearance:none;padding-right:2.4rem;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 1.15rem) 1.35rem,calc(100% - .8rem) 1.35rem;background-repeat:no-repeat;background-size:.36rem .36rem,.36rem .36rem}.dish-recommender-field textarea{min-height:8.5rem;padding:.95rem;resize:vertical;line-height:1.55;font-weight:650}.dish-recommender-field textarea::placeholder{color:color-mix(in srgb,var(--color-muted),transparent 15%)}.dish-recommender-field input:focus,.dish-recommender-field select:focus,.dish-recommender-field textarea:focus,.dish-recommender-result select:focus{outline:none;border-color:color-mix(in srgb,var(--color-primary),var(--color-border) 18%);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary-soft),transparent 12%)}.dish-recommender-options{display:grid;gap:.8rem;margin:0;padding:0;border:0}.dish-recommender-options label{display:flex;align-items:center;gap:.7rem;min-height:3.2rem;padding:.95rem 1rem;border:1px solid color-mix(in srgb,var(--color-border),var(--color-text) 7%);border-radius:var(--radius-xl);background:color-mix(in srgb,var(--color-surface),transparent 3%);color:var(--color-text);font-weight:800;transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease}.dish-recommender-options label:hover{transform:translateY(-1px)}.dish-recommender-options input[type=radio],.dish-recommender-options input[type=checkbox]{flex:0 0 auto;width:1.05rem;height:1.05rem;accent-color:var(--color-primary)}.dish-recommender-options label:has(input:checked){border-color:color-mix(in srgb,var(--color-primary),var(--color-border) 30%);background:color-mix(in srgb,var(--color-primary-soft),transparent 10%);color:var(--color-primary)}.dish-recommender-options--wrap{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr))}.dish-recommender-summary,.dish-recommender-result__secondary-actions{display:flex;flex-wrap:wrap;gap:.55rem}.dish-recommender-pill{display:inline-flex;align-items:center;min-height:2.3rem;padding:.45rem .7rem;border-radius:var(--radius-full);background:color-mix(in srgb,var(--color-surface-soft),transparent 8%);color:var(--color-text);font-size:.84rem;font-weight:800}.dish-recommender-ai-status,.dish-recommender-empty{margin:0;min-height:1.3rem;color:var(--color-muted);font-weight:700}.dish-recommender-ai-status[data-variant=error]{display:grid;gap:.35rem;padding:.85rem 1rem;border:1px solid color-mix(in srgb,var(--color-danger),transparent 58%);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-danger),transparent 90%);color:var(--color-danger)}.dish-recommender-loading{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.9rem;align-items:center;padding:1rem;border:1px solid color-mix(in srgb,var(--color-primary),var(--color-border) 42%);border-radius:var(--radius-xl);background:color-mix(in srgb,var(--color-primary-soft),transparent 12%)}.dish-recommender-loading__spinner{width:2rem;height:2rem;border:3px solid color-mix(in srgb,var(--color-primary),transparent 75%);border-top-color:var(--color-primary);border-radius:var(--radius-full);animation:dish-recommender-spin .75s linear infinite}.dish-recommender-loading strong,.dish-recommender-loading p{margin:0}.dish-recommender-loading strong{color:var(--color-text)}.dish-recommender-loading p{color:var(--color-muted);line-height:var(--surface-copy-line-height)}.dish-recommender-result__body{padding-bottom:.2rem}.dish-recommender-result h3{margin:0;color:var(--color-text);font-size:clamp(1.12rem,3vw,1.35rem);line-height:1.2;letter-spacing:-.035em}.dish-recommender-result p{max-width:58rem;font-size:.98rem}.dish-recommender-result__footer{display:grid;gap:.75rem;padding-top:.85rem;border-top:1px solid color-mix(in srgb,var(--color-border),transparent 35%)}.dish-recommender-result__secondary-actions .button,.dish-recommender-assign .button{min-height:2.35rem;padding-inline:.8rem;font-size:.86rem;font-weight:800}.dish-recommender-assign{display:grid;gap:.35rem;color:var(--color-muted);font-size:.78rem;font-weight:800}.dish-recommender-assign>span:first-child{color:var(--color-muted)}.dish-recommender-assign__controls{display:grid;gap:.45rem}.dish-recommender-assign select{min-height:2.45rem;border-radius:var(--radius-md, var(--radius-lg));background-color:color-mix(in srgb,var(--color-surface),transparent 8%);color:color-mix(in srgb,var(--color-text),var(--color-muted) 25%);font-size:.88rem;font-weight:750;background-position:calc(100% - 1rem) 1.02rem,calc(100% - .68rem) 1.02rem}.dish-recommender-more{display:flex;justify-content:center;padding:.4rem 0 .2rem}.dish-recommender-more .button{min-width:min(100%,13rem)}.dish-recommender-more--loading{align-items:center;gap:.65rem;color:var(--color-muted);font-weight:850}.dish-recommender-more--loading .dish-recommender-loading__spinner{width:1.35rem;height:1.35rem;border-width:2px}.dish-recommender-actions{display:flex;gap:.75rem;align-items:center;justify-content:space-between}.dish-recommender-actions .button{flex:1 1 0;min-width:0}@keyframes dish-recommender-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.dish-recommender-step,.dish-recommender-options label,.dish-recommender-field input,.dish-recommender-field select,.dish-recommender-field textarea,.dish-recommender-result select{transition:none}.dish-recommender-loading__spinner{animation-duration:1.6s}}@media(min-width:640px){.dish-recommender-grid,.dish-recommender-options:not(.dish-recommender-options--time):not(.dish-recommender-options--wrap){grid-template-columns:repeat(2,minmax(0,1fr))}.dish-recommender-grid--compact{grid-template-columns:minmax(10rem,.7fr) minmax(12rem,1.3fr)}.dish-recommender-options--time{grid-template-columns:repeat(4,minmax(0,1fr))}.dish-recommender-result__footer{grid-template-columns:minmax(0,1fr) minmax(18rem,.95fr);align-items:end}.dish-recommender-result__secondary-actions{align-items:end}.dish-recommender-assign{justify-self:end;width:min(100%,34rem)}.dish-recommender-assign__controls{grid-template-columns:minmax(10rem,1fr) auto;align-items:center}}@media(max-width:539px){.dish-recommender-progress{display:flex;overflow-x:auto;padding-bottom:.2rem;scroll-snap-type:x mandatory}.dish-recommender-progress li{flex:0 0 7.75rem;scroll-snap-align:start}}
