:root{--color-bg: #f6f1e8;--color-surface: #ffffff;--color-surface-soft: #fbf8f2;--color-ink: #1f2b27;--color-muted: #67736d;--color-border: #ded7cc;--color-primary: #234a3b;--color-primary-strong: #17372a;--color-sage: #dfebdf;--color-sage-ink: #315d46;--color-sage-border: #cfe0d2;--color-beige: #f1eadb;--color-beige-ink: #66583e;--color-beige-border: #e3d8c3;--color-blue: #e5eef1;--color-blue-ink: #42616d;--color-blue-border: #d3e0e5;--color-amber: #f8e9c6;--color-amber-ink: #795b1d;--color-amber-border: #e8cf93;--color-hero-overlay: rgb(23 55 42 / 52%);--color-on-primary: #ffffff;--color-on-primary-muted: rgb(255 255 255 / 78%);--shadow-subtle: 0 1px 2px rgb(26 45 36 / 5%);--radius-sm: 8px;--radius-md: 12px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--touch-target: 48px;--mobile-bottom-navigation-height: 80px;--content-width: 1080px;--font-display: Georgia, "Times New Roman", serif}*{box-sizing:border-box}html{background:var(--color-bg)}body{min-width:320px;margin:0;overflow-x:hidden;background:var(--color-bg);color:var(--color-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.45}button,a,input{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}.app-shell,.app-frame{min-height:100dvh}.mobile-header{display:flex;min-height:calc(var(--touch-target) + env(safe-area-inset-top));align-items:flex-end;justify-content:space-between;padding:calc(var(--space-2) + env(safe-area-inset-top)) var(--space-4) var(--space-2);border-bottom:1px solid var(--color-border);background:#f5f5f1eb}.mobile-header--start{min-height:calc(var(--touch-target) + env(safe-area-inset-top));align-items:center;padding:env(safe-area-inset-top) var(--space-4) 0;border-bottom:0;background:var(--color-bg)}.mobile-header--start .brand-mark{min-height:var(--touch-target)}.mobile-header--start+.app-content{padding-top:var(--space-3)}.header-status{color:var(--color-muted);font-size:.8rem;font-weight:650}.sign-out-button{min-height:var(--touch-target);padding:0 var(--space-2);border:0;background:transparent;color:var(--color-muted);cursor:pointer;font:inherit;font-size:.8rem;font-weight:650}.sign-out-button:hover{color:var(--color-primary)}.app-content{width:min(100%,var(--content-width));min-height:calc(100dvh - 112px);margin-inline:auto;padding:var(--space-6) var(--space-4) calc(var(--mobile-bottom-navigation-height) + var(--space-6) + env(safe-area-inset-bottom))}.page{animation:page-enter .18s ease-out both}.page-intro{margin-bottom:var(--space-6)}.eyebrow{margin:0 0 var(--space-1);color:var(--color-primary);font-size:.76rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}h1{margin:0;font-size:clamp(2rem,6vw,2.75rem);font-weight:730;letter-spacing:0;line-height:1.05}.page-lead{margin:var(--space-2) 0 0;color:var(--color-muted);font-size:1rem}.page--start{display:grid;gap:var(--space-5)}.start-hero{position:relative;display:flex;min-height:246px;flex-direction:column;justify-content:flex-end;padding:var(--space-5);overflow:hidden;isolation:isolate;border-radius:var(--radius-md);background:var(--color-primary);box-shadow:var(--shadow-subtle);color:var(--color-on-primary)}.start-hero>img,.start-hero:after{position:absolute;inset:0;width:100%;height:100%}.start-hero>img{z-index:-2;object-fit:cover;object-position:center 26%}.start-hero:after{z-index:-1;content:"";background:var(--color-hero-overlay)}.start-hero__content{max-width:310px}.start-hero__eyebrow,.start-hero__caption{margin:0;color:var(--color-on-primary-muted);font-size:.72rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.start-hero h1{margin:var(--space-2) 0 0;font-size:2.12rem;line-height:1.04}.start-hero p:not(.start-hero__eyebrow){max-width:278px;margin:var(--space-3) 0 0;color:var(--color-on-primary);font-size:.94rem;line-height:1.38;opacity:.88}.start-hero__caption{margin-top:var(--space-5)}.start-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.start-action{display:grid;min-height:164px;grid-template-rows:56% 44%;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-subtle);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.start-action:focus-visible,.navigation-link:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.start-action:active{transform:scale(.99)}.start-action:hover{border-color:var(--color-sage-border);box-shadow:0 8px 20px #1a2d2414;transform:translateY(-1px)}.start-action__visual{position:relative;overflow:hidden;background:var(--color-beige)}.start-action__visual img{width:100%;height:100%;object-fit:cover;object-position:center}.start-action__content{display:grid;grid-template-columns:32px minmax(0,1fr) 28px;gap:var(--space-2);align-items:center;padding:var(--space-2) var(--space-3)}.start-action__icon,.empty-state__icon{display:grid;place-items:center;border:1px solid rgb(35 74 59 / 12%);border-radius:var(--radius-sm);background:#ffffffb8}.start-action__icon{width:32px;height:32px}.empty-state__icon{width:var(--touch-target);height:var(--touch-target)}.start-action__arrow,.start-discover__arrow{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:#234a3b1a;color:var(--color-primary)}.start-action__arrow .icon,.start-discover__arrow .icon{width:16px;height:16px}.start-action strong,.start-action small{display:block}.start-action strong{font-size:1rem}.start-action small{margin-top:2px;color:inherit;font-size:.76rem;line-height:1.32;opacity:.72}.start-action--recipes{color:var(--color-ink)}.start-action--recipes .start-action__visual{background:var(--color-beige)}.start-action--recipes .start-action__visual img{object-position:center 46%}.start-action--collections{border-color:var(--color-sage-border);color:var(--color-sage-ink)}.start-action--collections .start-action__visual{background:var(--color-sage)}.start-action--collections .start-action__visual img{object-position:center 52%}.start-action--offers{border-color:var(--color-sage-border);background:var(--color-sage);color:var(--color-sage-ink)}.start-action--offers .start-action__visual{background:var(--color-blue)}.start-action--offers .start-action__visual img{object-position:center 58%}.start-action--card{border-color:var(--color-beige-border);background:var(--color-beige);color:var(--color-beige-ink)}.start-action--card .start-action__visual{background:var(--color-surface)}.start-action--card .start-action__visual img{object-position:center 56%}.start-discover{display:grid;gap:var(--space-2)}.start-discover .eyebrow{margin-bottom:0}.start-discover__link{position:relative;display:flex;min-height:112px;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4);overflow:hidden;isolation:isolate;border:1px solid var(--color-primary);border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-on-primary)}.start-discover__visual,.start-discover__link:after{position:absolute;inset:0;z-index:-2}.start-discover__visual img{width:100%;height:100%;object-fit:cover;object-position:center}.start-discover__link:after{z-index:-1;content:"";background:var(--color-primary);opacity:.82}.start-discover__link strong,.start-discover__link small{display:block}.start-discover__link strong{font-size:1rem}.start-discover__link small{max-width:260px;margin-top:var(--space-1);color:var(--color-on-primary-muted);font-size:.8rem;line-height:1.35}.start-discover__arrow{flex:0 0 auto;background:#ffffff29;color:var(--color-on-primary)}.collection-grid,.offer-grid{display:grid;gap:var(--space-3)}.collections-page{display:grid;gap:var(--space-6)}.collections-page__intro{display:grid;gap:var(--space-2);padding:var(--space-5);border:1px solid var(--color-beige-border);border-radius:var(--radius-md);background:var(--color-beige);color:var(--color-beige-ink)}.collections-page__intro .eyebrow{margin:0;color:var(--color-primary)}.collections-page__intro h1,.collections-page__intro p{margin:0}.collections-page__intro h1{color:var(--color-ink)}.collections-page__intro>p:last-child{max-width:540px;color:var(--color-muted);font-size:.94rem}.collection-card,.offer-card{display:grid;gap:var(--space-2);min-height:var(--touch-target);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md)}.collection-card{min-height:204px;align-content:space-between;gap:var(--space-4);background:var(--color-surface);color:var(--color-ink);box-shadow:var(--shadow-subtle);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.collection-card:hover{border-color:var(--color-sage-border);box-shadow:0 8px 20px #1a2d2414;transform:translateY(-1px)}.collection-card:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.collection-card__top{display:flex;align-items:center;justify-content:space-between;color:var(--color-primary)}.collection-card__top>.icon{width:24px;height:24px;transition:transform .16s ease}.collection-card:hover .collection-card__top>.icon{transform:translate(2px)}.collection-card__icon,.collections-state__icon{display:grid;width:40px;height:40px;place-items:center;border:1px solid var(--color-sage-border);border-radius:var(--radius-sm);background:var(--color-sage);color:var(--color-sage-ink)}.collection-card__icon .icon,.collections-state__icon .icon{width:20px;height:20px}.collection-card__content{display:grid;gap:var(--space-2)}.collection-card__group{color:var(--color-sage-ink);font-size:.76rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.collection-card h2,.collection-card p{margin:0}.collection-card h2{font-size:1.18rem;line-height:1.18}.collection-card p{display:-webkit-box;overflow:hidden;color:var(--color-muted);font-size:.9rem;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:3}.collection-card__metadata{display:flex;flex-wrap:wrap;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-border);color:var(--color-muted);font-size:.82rem;font-weight:700}.collection-card__metadata>*+*:before{margin-right:var(--space-2);color:var(--color-border);content:"·"}.collections-state{display:grid;gap:var(--space-3);max-width:560px;padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.collections-state h2,.collections-state p{margin:0}.collections-state p{color:var(--color-muted)}.offer-card{background:var(--color-surface);color:var(--color-ink)}.offers-page{background:transparent}.collection-detail{display:grid;gap:var(--space-6);max-width:900px}.collection-detail__back{display:inline-flex;width:fit-content;min-height:var(--touch-target);align-items:center;gap:var(--space-2);color:var(--color-primary);font-size:.9rem;font-weight:750}.collection-detail__back:focus-visible,.collection-detail__offer-card:focus-visible,.collection-detail__recipe-card:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.collection-detail__back-icon{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:var(--color-beige);color:var(--color-primary)}.collection-detail__back-icon .icon{width:17px;height:17px;transform:rotate(180deg)}.collection-detail__header{display:grid;gap:var(--space-3);padding-bottom:var(--space-5);border-bottom:1px solid var(--color-border)}.collection-detail__header .eyebrow{margin:0}.collection-detail__header h1{font-size:2rem}.collection-detail__header>p:last-of-type{max-width:620px;margin:0;color:var(--color-muted);font-size:.98rem}.collection-detail__metadata{display:flex;flex-wrap:wrap;gap:var(--space-2);color:var(--color-muted);font-size:.84rem;font-weight:700}.collection-detail__metadata>*+*:before{margin-right:var(--space-2);color:var(--color-border);content:"·"}.collection-detail__section{display:grid;gap:var(--space-3)}.collection-detail__section-heading{display:grid;gap:var(--space-1)}.collection-detail__section-heading h2,.collection-detail__section-heading p{margin:0}.collection-detail__section-heading h2{font-size:1.25rem}.collection-detail__section-heading p{color:var(--color-muted);font-size:.9rem}.collection-detail__offer-grid{display:grid;gap:var(--space-3)}.collection-detail__offer-card{display:grid;min-height:184px;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--color-sage-border);border-radius:var(--radius-md);background:var(--color-sage);color:var(--color-sage-ink);box-shadow:var(--shadow-subtle);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.collection-detail__offer-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-subtle);transform:translateY(-1px)}.collection-detail__card-top{display:flex;align-items:center;justify-content:space-between}.collection-detail__offer-icon,.collection-detail__recipe-icon,.collection-detail__empty-icon{display:grid;place-items:center;border-radius:var(--radius-sm)}.collection-detail__offer-icon{width:40px;height:40px;border:1px solid var(--color-sage-border);background:var(--color-surface);color:var(--color-sage-ink)}.collection-detail__offer-icon .icon,.collection-detail__recipe-icon .icon,.collection-detail__empty-icon .icon{width:20px;height:20px}.collection-detail__arrow{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:var(--color-beige);color:var(--color-primary)}.collection-detail__arrow .icon{width:16px;height:16px}.collection-detail__card-content{display:grid;align-content:start;gap:var(--space-2)}.collection-detail__card-content h3,.collection-detail__card-content p{margin:0}.collection-detail__card-content h3{font-size:1.14rem;line-height:1.22}.collection-detail__card-content p{display:-webkit-box;overflow:hidden;color:var(--color-muted);font-size:.88rem;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}.collection-detail__price{align-self:end;color:var(--color-primary);font-size:.9rem;font-weight:750}.collection-detail__recipe-list{display:grid;gap:var(--space-2)}.collection-detail__recipe-card{display:grid;min-height:76px;grid-template-columns:40px minmax(0,1fr) 28px;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-ink);box-shadow:var(--shadow-subtle);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.collection-detail__recipe-card:hover{border-color:var(--color-sage-border);box-shadow:var(--shadow-subtle);transform:translateY(-1px)}.collection-detail__recipe-icon{width:40px;height:40px;border:1px solid var(--color-beige-border);background:var(--color-beige);color:var(--color-primary)}.collection-detail__recipe-content{display:grid;min-width:0;gap:2px}.collection-detail__recipe-content strong{overflow:hidden;font-size:.98rem;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.collection-detail__recipe-content small{overflow:hidden;color:var(--color-muted);font-size:.8rem;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.collection-detail__recipe-content .collection-detail__recipe-price{color:var(--color-primary);font-weight:700}.collection-detail__empty,.collection-detail__state{display:grid;gap:var(--space-3);max-width:560px;padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.collection-detail__empty{justify-items:start}.collection-detail__empty-icon{width:var(--touch-target);height:var(--touch-target);border:1px solid var(--color-beige-border);background:var(--color-beige);color:var(--color-primary)}.collection-detail__empty h2,.collection-detail__empty p,.collection-detail__state h1,.collection-detail__state p{margin:0}.collection-detail__empty h2{font-size:1.2rem}.collection-detail__empty p,.collection-detail__state p,.collection-empty-state{color:var(--color-muted)}.collection-empty-state h2{color:var(--color-ink)}.my-card-page{display:grid;gap:var(--space-5);max-width:900px}.my-card-page__header{display:grid;gap:var(--space-2);padding:var(--space-4);border:1px solid var(--color-beige-border);border-radius:var(--radius-md);background:var(--color-beige)}.my-card-page__header .eyebrow,.my-card-page__header h1,.my-card-page__header p,.my-card-page__header small{margin:0}.my-card-page__header p{color:var(--color-muted)}.my-card-page__header small{color:var(--color-primary);font-size:.84rem;font-weight:750}.my-card-state{display:grid;gap:var(--space-4);max-width:540px;padding:var(--space-6);border:1px solid var(--color-beige-border);border-radius:var(--radius-md);background:var(--color-beige);color:var(--color-beige-ink)}.my-card-state h1,.my-card-state p{margin:0}.my-card-state--create{min-height:300px;align-content:center}.my-card-state--create h1{color:var(--color-ink);font-size:1.8rem}.my-card-state--create>p:not(.eyebrow){max-width:390px;color:var(--color-muted)}.my-card-state__icon{display:grid;width:var(--touch-target);height:var(--touch-target);place-items:center;border:1px solid var(--color-beige-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-primary)}.my-card-state__icon .icon{width:22px;height:22px}.my-card-sections{display:grid;gap:var(--space-4)}.my-card-sections__heading{display:flex;min-height:var(--touch-target);align-items:center;justify-content:space-between;gap:var(--space-3)}.my-card-sections__heading h2{margin:0;font-size:1.25rem}.my-card-section{display:grid;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-beige-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-subtle)}.my-card-section>label{display:grid;gap:var(--space-1);color:var(--color-muted);font-size:.82rem;font-weight:700}.my-card-section input{min-height:var(--touch-target);padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink);font:inherit}.my-card-section__items{display:grid;gap:var(--space-3)}.my-card-section__no-items{margin:0;padding:var(--space-3);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-muted);font-size:.88rem}.my-card-item{display:grid;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg)}.my-card-item__heading{display:flex;align-items:start;justify-content:space-between;gap:var(--space-3)}.my-card-item__heading>div{display:grid;gap:2px;min-width:0}.my-card-item__heading small{color:var(--color-sage-ink);font-size:.76rem;font-weight:750}.my-card-item__heading strong{font-size:1rem;line-height:1.25}.my-card-item__visibility{flex:0 0 auto;padding:3px var(--space-2);border:1px solid var(--color-sage-border);border-radius:999px;background:var(--color-sage);color:var(--color-sage-ink);font-size:.72rem;font-weight:750}.my-card-item__visibility.is-hidden{border-color:var(--color-beige-border);background:var(--color-beige);color:var(--color-beige-ink)}.my-card-item__metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.my-card-item__metrics>div,.my-card-item__metrics>label{display:grid;min-height:68px;align-content:center;gap:3px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-muted);font-size:.74rem;font-weight:700}.my-card-item__metrics strong{color:var(--color-ink);font-size:.9rem}.my-card-item__metrics .my-card-item__metric--profit{border-color:var(--color-sage-border);background:var(--color-sage);color:var(--color-sage-ink)}.my-card-item__metrics label input{width:100%;min-height:32px;padding:0;border:0;border-bottom:1px solid var(--color-border);border-radius:0;font-size:.92rem;font-weight:750}.my-card-item__actions{display:flex;min-height:var(--touch-target);flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-border)}.my-card-item__actions>label{display:inline-flex;min-height:var(--touch-target);align-items:center;gap:var(--space-2);color:var(--color-muted);font-size:.82rem;font-weight:700}.my-card-item__actions input{width:18px;height:18px;accent-color:var(--color-primary)}.my-card-item__actions>div{display:flex;flex-wrap:wrap;gap:var(--space-2)}.my-card-item__actions button{min-height:var(--touch-target);padding:0 var(--space-2);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-primary);font:inherit;font-size:.82rem;font-weight:750}.my-card-item__actions button:not(:disabled):hover{background:var(--color-sage)}.my-card-item__actions button:disabled{color:var(--color-border)}.my-card-add{display:grid;width:fit-content;gap:var(--space-2)}.my-card-add--recipe{width:100%;margin:var(--space-2) 0 var(--space-1)}.my-card-add__trigger{display:inline-flex;width:100%;min-height:52px;align-items:center;justify-content:center;gap:var(--space-2);padding:0 var(--space-4);border:1px solid var(--color-sage-border);border-radius:var(--radius-sm);background:var(--color-sage);color:var(--color-primary);cursor:pointer;font:inherit;font-weight:750}.my-card-add__trigger .icon{width:20px;height:20px;stroke-width:2}.my-card-add__trigger:hover{border-color:var(--color-primary);background:var(--color-surface)}.my-card-add__trigger:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.my-card-add__trigger:disabled{cursor:wait;opacity:.72}.my-card-add__notice{margin:0;color:var(--color-sage-ink);font-size:.86rem;font-weight:700}.my-card-add__notice a{margin-left:var(--space-1);color:var(--color-primary);text-decoration:underline}.my-card-add__dialog{position:fixed;z-index:20;inset:0;display:grid;align-items:end;padding:var(--space-3);background:#1f2b2759}.my-card-add__panel{display:grid;gap:var(--space-4);width:100%;max-width:560px;max-height:min(76dvh,680px);margin-inline:auto;padding:var(--space-5);overflow:auto;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-subtle)}.my-card-add__heading{display:flex;align-items:start;justify-content:space-between;gap:var(--space-3)}.my-card-add__heading .eyebrow,.my-card-add__heading h2,.my-card-add__recipe{margin:0}.my-card-add__heading h2{font-size:1.3rem}.my-card-add__heading>button{min-height:var(--touch-target);padding:0 var(--space-2);border:0;background:transparent;color:var(--color-primary);font:inherit;font-weight:750}.my-card-add__recipe{color:var(--color-muted);font-size:.9rem}.my-card-add__sections{display:grid;gap:var(--space-2)}.my-card-add__sections button{display:flex;min-height:var(--touch-target);align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-sage-border);border-radius:var(--radius-sm);background:var(--color-sage);color:var(--color-sage-ink);font:inherit;font-weight:750;text-align:left}.my-card-add__sections button small{color:var(--color-muted);font-size:.78rem;font-weight:650}.my-card-add__empty{margin:0;color:var(--color-muted);font-size:.9rem}.my-card-add__new-section{display:grid;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.my-card-add__new-section label{display:grid;gap:var(--space-1);color:var(--color-muted);font-size:.82rem;font-weight:700}.my-card-add__new-section input{min-height:var(--touch-target);padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink);font:inherit}.my-card-section__footer{display:flex;min-height:var(--touch-target);flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border);color:var(--color-muted);font-size:.82rem;font-weight:700}.my-card-section__footer>div{display:flex;flex-wrap:wrap;gap:var(--space-2)}.my-card-section__footer button{min-height:var(--touch-target);padding:0 var(--space-2);border:0;background:transparent;color:var(--color-primary);font:inherit;font-size:.82rem;font-weight:750}.my-card-section__footer button:disabled{color:var(--color-border)}.my-card-section__footer .my-card-section__delete{color:var(--color-amber-ink)}.my-card-empty{display:grid;gap:var(--space-2);padding:var(--space-5);border:1px dashed var(--color-beige-border);border-radius:var(--radius-md);background:var(--color-bg)}.my-card-empty p,.my-card-empty span{margin:0}.my-card-empty p{color:var(--color-ink);font-weight:750}.my-card-empty span{color:var(--color-muted);font-size:.9rem}.my-card-page__actions{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-3)}.offer-skeleton{height:132px;margin-bottom:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-blue);animation:pulse 1s ease-in-out infinite alternate}.offer-skeleton--detail{height:420px}.offer-card span{color:var(--color-muted);font-size:.85rem}.offer-card small{color:var(--color-primary);font-weight:750}@keyframes pulse{to{opacity:.55}}.offer-details{display:grid;max-width:1080px;gap:var(--space-5)}.offer-hero{display:grid;gap:var(--space-3);padding:clamp(24px,5vw,48px);border:1px solid var(--color-sage-border);border-radius:var(--radius-md);background:var(--color-sage)}.offer-hero h1,.offer-hero p{margin:0}.offer-hero h1{max-width:780px;font-family:var(--font-display);font-size:clamp(2rem,5vw,3rem);line-height:1.03}.offer-hero>p:not(.eyebrow){max-width:680px;color:var(--color-sage-ink);line-height:1.55}.offer-hero>strong{width:fit-content;padding-top:var(--space-2);border-top:1px solid var(--color-sage-border);color:var(--color-primary-strong);font-size:1.05rem}.offer-details__layout,.offer-menu,.offer-details__summary{display:grid;gap:var(--space-4);align-content:start}.menu-section,.venue-terms{display:grid;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-soft)}.menu-section__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-4) var(--space-3)}.menu-section h2,.venue-terms h2{margin:0;font-family:var(--font-display);font-size:1.35rem;line-height:1.1}.menu-section small{width:fit-content;flex:0 0 auto;padding:4px var(--space-2);border-radius:999px;background:var(--color-sage);color:var(--color-sage-ink);font-size:.68rem;font-weight:800;letter-spacing:.04em}.menu-section__items{display:grid;padding:0 var(--space-4) var(--space-2)}.menu-item{display:flex;min-height:var(--touch-target);align-items:center;justify-content:space-between;gap:var(--space-3);padding:8px 0;border-top:1px solid var(--color-border)}.menu-item>span{min-width:0;line-height:1.35}.menu-item a{flex:0 0 auto;color:var(--color-primary);font-size:.8rem;font-weight:750;white-space:nowrap}.venue-terms{gap:var(--space-2);padding:var(--space-4);border-color:#d3e0e5;background:var(--color-blue)}.venue-terms p{margin:0}.venue-terms__list{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5);color:var(--color-blue-ink);font-size:.9rem}.offer-details__summary .calculation-card{gap:var(--space-3)}.offer-details__summary .calculation-card__metric{padding-top:var(--space-3);border-top:1px solid var(--color-sage-border)}.offer-details__summary .calculation-card--incomplete .calculation-card__metric{border-color:var(--color-amber-border)}.calculation-card__status{width:fit-content;margin:0;padding:4px var(--space-2);border-radius:999px;background:#ffffff85;color:var(--color-sage-ink);font-size:.75rem;font-weight:800}.calculation-card--incomplete .calculation-card__status{color:var(--color-amber-ink)}.offer-details__summary>.primary-button{margin-top:0}.information-panel{display:flex;gap:var(--space-3);align-items:flex-start;margin-top:var(--space-6);padding:var(--space-4);border:1px solid #d3e0e5;border-radius:var(--radius-md);background:var(--color-blue);color:var(--color-blue-ink)}.information-panel p{margin:0;font-size:.9rem}.information-panel__dot{width:9px;height:9px;flex:0 0 auto;margin-top:.28rem;border-radius:50%;background:var(--color-blue-ink)}.bottom-navigation{position:fixed;z-index:10;right:0;bottom:0;left:0;min-height:calc(var(--mobile-bottom-navigation-height) + env(safe-area-inset-bottom));padding:var(--space-2) var(--space-2) calc(var(--space-2) + env(safe-area-inset-bottom));border-top:1px solid var(--color-border);background:#fffffff5;box-shadow:0 -4px 18px #1f2b270a}.navigation-links{display:flex;min-width:0}.navigation-links--bottom{display:grid;width:100%;grid-template-columns:repeat(4,minmax(0,1fr))}.navigation-link{display:flex;min-width:var(--touch-target);min-height:var(--touch-target);align-items:center;justify-content:center;color:var(--color-muted);font-size:.7rem;font-weight:650}.navigation-links--bottom .navigation-link{min-width:0;flex-direction:column;gap:2px;white-space:nowrap}.navigation-link.is-active{color:var(--color-primary)}.navigation-link.is-active .icon{stroke-width:2.35}.icon{width:21px;height:21px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.sidebar-navigation,.admin-entry{display:none}.admin-shell,.admin-frame{min-height:100dvh}.admin-sidebar{display:none}.admin-mobile-header{display:flex;min-height:calc(var(--touch-target) + env(safe-area-inset-top));align-items:flex-end;justify-content:space-between;gap:var(--space-2);padding:calc(var(--space-2) + env(safe-area-inset-top)) var(--space-4) var(--space-2);border-bottom:1px solid var(--color-border);background:var(--color-surface);color:var(--color-muted);font-size:.8rem;font-weight:700}.admin-content{width:min(100%,1320px);min-height:calc(100dvh - var(--touch-target));margin-inline:auto;padding:var(--space-6) var(--space-4) calc(var(--space-8) + env(safe-area-inset-bottom))}.admin-page{display:grid;gap:var(--space-5)}.admin-page__header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.admin-page__header .primary-button{margin:0;display:inline-flex;align-items:center}.admin-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.admin-stat-card{display:grid;min-height:112px;align-content:space-between;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.admin-stat-card span{color:var(--color-muted);font-size:.84rem;font-weight:700}.admin-stat-card strong{font-size:1.8rem}.admin-stat-card--sage{background:var(--color-sage);border-color:var(--color-sage-border)}.admin-stat-card--blue{background:var(--color-blue)}.admin-stat-card--beige{background:var(--color-beige)}.admin-stat-card--amber{background:var(--color-amber);border-color:var(--color-amber-border)}.admin-stat-card--skeleton{min-height:112px;background:var(--color-blue);animation:pulse 1s ease-in-out infinite alternate}.admin-filters{display:grid;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.admin-filters label{display:grid;gap:var(--space-1);color:var(--color-muted);font-size:.8rem;font-weight:700}.admin-filters input,.admin-filters select{width:100%;min-height:var(--touch-target);padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink);font:inherit}.admin-results-count{margin:0;color:var(--color-muted);font-size:.9rem}.admin-recipe-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-3)}.admin-recipe-card{display:grid;grid-template-columns:100px minmax(0,1fr);overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.admin-recipe-card__image{display:grid;min-height:100%;place-items:center;overflow:hidden;background:var(--color-blue);color:var(--color-blue-ink);font-size:.75rem;text-align:center}.admin-recipe-card__image img{width:100%;height:100%;object-fit:cover}.admin-recipe-card>div:last-child{display:grid;gap:var(--space-2);padding:var(--space-3)}.admin-recipe-card h2,.admin-recipe-card p{margin:0}.admin-recipe-card h2{overflow-wrap:anywhere;font-size:1rem}.admin-recipe-card p{color:var(--color-muted);font-size:.8rem}.admin-recipe-card strong{color:var(--color-primary);font-size:.85rem}.admin-status{width:fit-content;padding:2px var(--space-2);border-radius:999px;background:var(--color-blue);color:var(--color-blue-ink);font-size:.72rem;font-weight:750}.admin-status--published{background:var(--color-sage);color:var(--color-sage-ink)}.admin-status--archived{background:var(--color-beige);color:var(--color-beige-ink)}.admin-pagination{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);color:var(--color-muted);font-size:.85rem}.admin-detail-layout,.admin-detail-content{display:grid;gap:var(--space-4)}.admin-detail-panel{display:grid;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.admin-detail-panel h2,.admin-detail-panel p{margin:0}.admin-detail-panel dl{display:grid;gap:var(--space-2);margin:0}.admin-detail-panel dl div{display:flex;justify-content:space-between;gap:var(--space-3)}.admin-detail-panel dt{color:var(--color-muted)}.admin-detail-panel dd{margin:0;font-weight:750}.admin-image-placeholder{display:grid;min-height:180px;place-items:center;padding:var(--space-4);overflow-wrap:anywhere;border:1px dashed var(--color-border);border-radius:var(--radius-sm);background:var(--color-blue);color:var(--color-blue-ink)}.admin-ingredient-list,.admin-step-list{display:grid;gap:var(--space-3);margin:0;padding-left:var(--space-5)}.admin-ingredient-list li{display:flex;justify-content:space-between;gap:var(--space-3)}.admin-ingredient-list span{color:var(--color-muted)}.admin-step-list p{margin-top:var(--space-1);color:var(--color-muted)}.admin-editor-layout,.admin-editor-form{display:grid;gap:var(--space-4)}.admin-editor-aside{display:grid;align-self:start;gap:var(--space-3)}.admin-readonly-content{margin:0;white-space:pre-wrap;color:var(--color-muted);font:inherit;line-height:1.55}.admin-access-denied{display:grid;min-height:100dvh;align-content:center;justify-items:center;gap:var(--space-3);padding:var(--space-6);text-align:center}.admin-access-denied h1,.admin-access-denied p{margin:0}.brand-mark{display:inline-flex;min-height:var(--touch-target);align-items:center;gap:var(--space-2);color:var(--color-primary);font-size:.9rem;font-weight:700}.brand-mark__symbol{display:grid;width:28px;height:28px;place-items:center;border-radius:7px;background:var(--color-primary);color:#fff;font-family:Georgia,serif;font-size:1rem}.brand-mark__wordmark strong{font-weight:800}.empty-page{display:grid;min-height:min(520px,calc(100dvh - 160px));place-items:center}.empty-state{display:grid;width:min(100%,520px);gap:var(--space-5);padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-subtle)}.empty-state--beige{background:var(--color-beige);border-color:#e3d8c3}.empty-state--blue{background:var(--color-blue);border-color:#d3e0e5}.empty-state h1{font-size:1.7rem}.empty-state p:not(.eyebrow){margin:var(--space-2) 0 0;color:var(--color-muted)}.route-fallback{display:grid;min-height:220px;place-items:center}.route-fallback span{width:28px;height:28px;border:3px solid var(--color-sage);border-top-color:var(--color-primary);border-radius:50%;animation:spin .7s linear infinite}.login-page{display:grid;min-height:100dvh;place-items:center;padding:calc(var(--space-6) + env(safe-area-inset-top)) var(--space-4) calc(var(--space-6) + env(safe-area-inset-bottom))}.login-panel{display:grid;width:min(100%,420px);gap:var(--space-6);padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-subtle)}.configuration-panel{background:var(--color-blue);border-color:#d3e0e5}.login-panel h1{font-size:1.85rem}.login-form{display:grid;gap:var(--space-2)}.login-form label{margin-top:var(--space-2);color:var(--color-ink);font-size:.9rem;font-weight:700}.login-form input{width:100%;min-height:var(--touch-target);padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink);font:inherit}.login-form input:focus-visible,.primary-button:focus-visible,.sign-out-button:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.primary-button{min-height:var(--touch-target);margin-top:var(--space-4);padding:0 var(--space-4);border:0;border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;cursor:pointer;font:inherit;font-weight:750}.primary-button:disabled{cursor:wait;opacity:.72}.form-error{margin:var(--space-2) 0 0;color:#9b2c2c;font-size:.9rem}.secondary-button{display:inline-flex;min-height:var(--touch-target);align-items:center;justify-content:center;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink);cursor:pointer;font:inherit;font-weight:750}.secondary-button:disabled{cursor:wait;opacity:.72}.recipe-add-button{display:inline-flex;align-items:center;margin-top:var(--space-3)}.recipe-header-actions{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.recipe-header-actions .recipe-add-button{margin-top:var(--space-3)}.recipe-products-link{display:inline-flex;align-items:center;margin-top:var(--space-3)}.user-products-page{display:grid;gap:var(--space-4)}.user-products-header{display:grid;gap:var(--space-4);margin-bottom:var(--space-2)}.user-product-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-3)}.user-product-card{display:grid;gap:var(--space-3);min-height:164px;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.user-product-card__body{display:grid;gap:var(--space-1)}.user-product-card__label{color:var(--color-sage-ink);font-size:.78rem;font-weight:750}.user-product-card h2,.user-product-card p{margin:0}.user-product-card h2{overflow-wrap:anywhere;font-size:1.1rem}.user-product-card p{color:var(--color-muted);font-size:.9rem}.user-product-card p strong{color:var(--color-ink)}.user-product-card__edit{display:inline-flex;min-height:var(--touch-target);align-items:center;justify-content:center}.user-product-skeleton{display:grid;min-height:164px;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.user-product-skeleton span{display:block;min-height:16px;border-radius:var(--radius-sm);background:var(--color-blue)}.user-product-skeleton span:first-child{width:32%}.user-product-skeleton span:nth-child(2){width:70%;min-height:28px}.user-product-skeleton span:last-child{width:52%}.user-product-form{display:grid;gap:var(--space-4)}.user-product-form__pair{display:grid;gap:var(--space-3)}.price-input{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.price-input input{border:0!important}.price-input span{padding-inline:var(--space-3);color:var(--color-muted);font-weight:700}.user-product-price-preview{display:grid;gap:var(--space-1);padding:var(--space-3);border:1px solid var(--color-sage-border);background:var(--color-sage);color:var(--color-sage-ink)}.user-product-price-preview strong{color:var(--color-primary-strong)}.user-product-price-preview small{color:var(--color-sage-ink)}.user-product-delete{min-height:var(--touch-target);padding:0 var(--space-3);border:1px solid var(--color-amber-border);border-radius:var(--radius-sm);background:var(--color-amber);color:var(--color-amber-ink);cursor:pointer;font:inherit;font-weight:750}.user-product-delete:disabled{cursor:wait;opacity:.72}.recipe-detail__actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.recipe-editor-page{display:grid;max-width:760px;gap:var(--space-5);padding-bottom:calc(var(--space-8) + env(safe-area-inset-bottom))}.recipe-editor-header{display:grid;gap:var(--space-2)}.recipe-editor-header h1,.recipe-editor-header p{margin:0}.recipe-editor-form{display:grid;gap:var(--space-4)}.recipe-editor-panel{display:grid;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.recipe-editor-panel--beige{background:var(--color-beige);border-color:#e3d8c3}.recipe-editor-panel h2{margin:0;font-size:1.18rem}.recipe-editor-panel label{display:grid;gap:var(--space-2);color:var(--color-ink);font-size:.9rem;font-weight:700}.recipe-editor-panel input,.recipe-editor-panel select,.recipe-editor-panel textarea{width:100%;min-height:var(--touch-target);padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink);font:inherit}.recipe-editor-panel textarea{min-height:112px;padding-block:var(--space-3);resize:vertical}.recipe-editor-panel [aria-invalid=true]{border-color:var(--color-amber-border);background:var(--color-amber)}.recipe-editor-portions{display:grid;gap:var(--space-3)}.recipe-editor-help{margin:-2px 0 0;color:var(--color-muted);font-size:.85rem}.recipe-editor-field-error{color:var(--color-amber-ink);font-size:.82rem}.recipe-image-panel__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.recipe-image-panel__heading h2,.recipe-image-panel__heading p{margin:0}.recipe-image-panel__heading p{margin-top:var(--space-1);color:var(--color-muted);font-size:.85rem}.recipe-image-panel__preview{display:grid;place-items:center;min-height:176px;overflow:hidden;border:1px dashed var(--color-border);border-radius:var(--radius-sm);background:var(--color-beige);color:var(--color-beige-ink)}.recipe-image-panel__preview img{display:block;width:100%;max-height:320px;object-fit:cover}.recipe-image-panel__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.recipe-image-panel__actions label{display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.recipe-image-panel__actions label[aria-disabled=true]{cursor:not-allowed;opacity:.6}.recipe-image-panel__actions input[type=file]{position:absolute;width:1px;height:1px;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap}.recipe-editor-actions{display:flex;justify-content:flex-end;gap:var(--space-3);flex-wrap:wrap}.recipe-editor-actions .primary-button{margin-top:0}.recipe-editor-skeleton{display:grid;gap:var(--space-4)}.recipe-editor-skeleton span{display:block;min-height:120px;border-radius:var(--radius-sm);background:var(--color-blue)}.recipe-ingredients-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.recipe-ingredients-heading>div{display:grid;gap:var(--space-2)}.recipe-ingredients-heading .secondary-button{flex:0 0 auto}.recipe-ingredients-empty{margin:0;padding:var(--space-3);border:1px dashed var(--color-border);color:var(--color-muted)}.recipe-product-selector{display:grid;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);background:var(--color-blue)}.recipe-product-selector-state{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.recipe-product-results{display:grid;margin:0;padding:0;list-style:none;border:1px solid var(--color-border);background:var(--color-surface)}.recipe-product-results li+li{border-top:1px solid var(--color-border)}.recipe-product-results button{display:grid;width:100%;min-height:var(--touch-target);gap:2px;padding:var(--space-3);border:0;background:var(--color-surface);color:var(--color-ink);text-align:left;cursor:pointer;font:inherit}.recipe-product-results button:hover,.recipe-product-results button:focus-visible{background:var(--color-sage)}.recipe-product-results span,.recipe-ingredient-item h3{overflow-wrap:anywhere}.recipe-product-results small,.recipe-ingredient-item p{color:var(--color-muted);font-size:.82rem;font-weight:700}.recipe-ingredient-list{display:grid;gap:var(--space-3)}.recipe-ingredient-item{display:grid;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.recipe-ingredient-item header,.recipe-ingredient-item h3,.recipe-ingredient-item p{margin:0}.recipe-ingredient-item header>div{display:grid;gap:2px}.recipe-ingredient-item h3{font-size:1rem}.recipe-ingredient-fields{display:grid;gap:var(--space-3)}.recipe-ingredient-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.recipe-ingredient-delete{min-height:var(--touch-target);padding:0 var(--space-2);border:1px solid var(--color-amber-border);border-radius:var(--radius-sm);background:var(--color-amber);color:var(--color-amber-ink);cursor:pointer;font:inherit;font-weight:750}.recipe-ingredient-delete:disabled{cursor:wait;opacity:.72}.recipe-preparation-list{display:grid;gap:var(--space-3)}.recipe-preparation-item{display:grid;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.recipe-preparation-item h3{margin:0;font-size:1rem}.recipe-preparation-item label{display:grid;gap:var(--space-2);color:var(--color-ink);font-size:.9rem;font-weight:700}.recipe-preparation-item input,.recipe-preparation-item textarea{width:100%;min-height:var(--touch-target);padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink);font:inherit}.recipe-preparation-item textarea{min-height:112px;padding-block:var(--space-3);resize:vertical}.recipe-preparation-item [aria-invalid=true]{border-color:var(--color-amber-border);background:var(--color-amber)}.recipe-preparation-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}@media(min-width:640px){.recipe-editor-portions{grid-template-columns:repeat(3,minmax(0,1fr))}.recipe-ingredient-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:640px){.user-product-form__pair{grid-template-columns:repeat(2,minmax(0,1fr))}}.editor-page{padding-bottom:calc(var(--space-8) + env(safe-area-inset-bottom))}.editor-grid,.editor-sections{display:grid;gap:var(--space-4)}.editor-grid{margin-top:var(--space-4)}.editor-panel,.editor-section{display:grid;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.editor-panel--venue{background:var(--color-blue)}.editor-panel label,.editor-section label{display:grid;gap:var(--space-2);color:var(--color-ink);font-size:.9rem;font-weight:700}.editor-panel input:not([type=checkbox]),.editor-panel textarea,.editor-section input,.editor-section select{width:100%;min-height:var(--touch-target);padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink);font:inherit}.editor-panel textarea{min-height:112px;padding-block:var(--space-3);resize:vertical}.editor-sections{margin-top:var(--space-5)}.editor-sections__heading,.editor-section__actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap}.editor-sections__heading button,.editor-section__actions button,.editor-actions>button{min-height:var(--touch-target);padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink);font:inherit;font-weight:700}.editor-section small{color:var(--color-muted);font-weight:700}.editor-section__items{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);color:var(--color-muted)}.editor-section__items>p{margin:0;padding:var(--space-2) 0}.editor-item{display:grid;gap:var(--space-3);padding:var(--space-3) 0}.editor-item+.editor-item{border-top:1px solid var(--color-border)}.editor-item__main{display:grid;gap:var(--space-2);min-width:0}.editor-item__main strong{color:var(--color-ink);overflow-wrap:anywhere}.editor-item__main label span{color:var(--color-muted);font-weight:400}.editor-item__main textarea{width:100%;min-height:84px;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink);font:inherit;resize:vertical}.editor-item__actions,.editor-item__actions>div,.editor-item-add{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.editor-item__actions{justify-content:space-between}.editor-item__actions button,.editor-item-add button,.recipe-selector button{min-height:var(--touch-target);padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink);font:inherit;font-weight:700}.editor-item__included{display:flex!important;align-items:center;min-height:var(--touch-target);gap:var(--space-2)}.editor-item__included input{width:auto!important;min-height:auto!important}.editor-item-add{padding-top:var(--space-1)}.editor-section__delete{color:#9b2c2c!important}.editor-actions{display:flex;gap:var(--space-3);justify-content:flex-end;margin-top:var(--space-5)}.editor-actions .primary-button{margin-top:0}.recipe-selector{position:fixed;z-index:20;inset:0;display:grid;align-items:end;background:#10181473}.recipe-selector__panel{display:grid;gap:var(--space-3);max-height:min(78dvh,720px);padding:var(--space-4);overflow:auto;border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:var(--color-surface);padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom))}.recipe-selector__heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.recipe-selector__heading h2{margin:0}.recipe-selector__results{display:grid;gap:var(--space-2)}.recipe-selector__results button{display:grid;min-height:var(--touch-target);gap:2px;padding:var(--space-3);text-align:left}.recipe-selector__results small{color:var(--color-muted)}@media(min-width:768px){.recipe-selector{align-items:center;justify-items:center;padding:var(--space-4)}.recipe-selector__panel{width:min(100%,560px);border-radius:var(--radius-sm)}}@media(min-width:768px){.editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:768px){.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:768px){.collection-detail__header h1{font-size:2.4rem}.collection-detail__offer-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:820px}}@media(min-width:768px){.my-card-item__metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.my-card-add--recipe{width:fit-content}.my-card-add__trigger{width:auto;min-width:248px}.my-card-add__dialog{align-items:center}}.recipes-page__header{display:grid;gap:var(--space-4);margin-bottom:var(--space-6)}.venue-type-switcher{display:flex;min-height:var(--touch-target);align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--color-sage-border);border-radius:var(--radius-sm);background:var(--color-sage);color:var(--color-sage-ink)}.venue-type-switcher>span{font-size:.78rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase}.venue-type-switcher button{display:inline-flex;min-height:40px;align-items:center;gap:var(--space-2);padding:0 var(--space-2);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-primary-strong);cursor:pointer;font:inherit}.venue-type-switcher button:focus-visible,.venue-type-dialog button:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.venue-type-switcher button:disabled{cursor:wait;opacity:.7}.venue-type-switcher button .icon{width:16px;height:16px}.venue-type-switcher--start{margin-top:calc(var(--space-5) * -1 + var(--space-2));background:var(--color-beige);border-color:var(--color-beige-border);color:var(--color-beige-ink)}.venue-type-dialog{position:fixed;z-index:30;inset:0;display:grid;align-items:end;background:#10181473}.venue-type-dialog__panel{display:grid;gap:var(--space-3);max-height:min(80dvh,720px);padding:var(--space-4);overflow:auto;border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:var(--color-surface);padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom))}.venue-type-dialog__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.venue-type-dialog__heading h2{margin:0;font-size:1.35rem}.venue-type-dialog__heading button{min-height:var(--touch-target);padding:0 var(--space-2);border:0;background:transparent;color:var(--color-primary);cursor:pointer;font:inherit;font-weight:750}.venue-type-dialog__panel>p{margin:0;color:var(--color-muted)}.venue-type-dialog__options{display:grid;gap:var(--space-2)}.venue-type-dialog__options button{display:flex;min-height:var(--touch-target);align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink);cursor:pointer;font:inherit;text-align:left}.venue-type-dialog__options button.is-active{border-color:var(--color-primary);background:var(--color-sage);color:var(--color-primary-strong)}.venue-type-dialog__options button span{color:var(--color-muted);font-size:.82rem}.venue-type-dialog__options button.is-active span{color:var(--color-primary);font-weight:750}.venue-type-dialog__options .venue-type-dialog__all{margin-top:var(--space-1);border-color:var(--color-beige-border);background:var(--color-beige);color:var(--color-beige-ink)}@media(min-width:768px){.venue-type-dialog{align-items:center;justify-items:center;padding:var(--space-4)}.venue-type-dialog__panel{width:min(100%,560px);border-radius:var(--radius-sm)}}.recipe-search{position:relative}.recipe-search input{width:100%;min-height:var(--touch-target);padding:0 76px 0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink);font:inherit}.recipe-search button{position:absolute;top:0;right:0;min-height:var(--touch-target);padding:0 var(--space-3);border:0;background:transparent;color:var(--color-primary);cursor:pointer;font:inherit;font-size:.82rem;font-weight:750}.category-filters{display:flex;gap:var(--space-2);overflow-x:auto;padding:0 var(--space-4) 2px 2px;scroll-padding-inline:var(--space-4);scrollbar-width:none}.category-filters button{min-height:40px;flex:0 0 auto;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-muted);cursor:pointer;font:inherit;font-size:.85rem;font-weight:700}.category-filters button.is-active{border-color:var(--color-primary);background:var(--color-sage);color:var(--color-primary-strong)}.recipe-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4)}.recipe-card{display:grid;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.recipe-card:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.recipe-card__image{display:grid;aspect-ratio:16 / 9;place-items:center;overflow:hidden;background:var(--color-blue);color:var(--color-blue-ink);font-size:.85rem}.recipe-card__image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.recipe-card__image--catalog{aspect-ratio:3 / 2}.recipe-card__body{display:grid;gap:var(--space-2);padding:var(--space-4)}.recipe-card__category{color:var(--color-sage-ink);font-size:.78rem;font-weight:750}.recipe-card h2{margin:0;font-size:1.08rem;line-height:1.2}.recipe-card p{display:-webkit-box;margin:0;overflow:hidden;color:var(--color-muted);font-size:.9rem;-webkit-box-orient:vertical;-webkit-line-clamp:3}.recipe-card__price{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-2);color:var(--color-muted);font-size:.78rem}.recipe-card__price strong{color:var(--color-primary-strong);font-size:1rem}.text-link{display:inline-flex;min-height:var(--touch-target);align-items:center;color:var(--color-primary);font-weight:750}.catalog-state--private{background:var(--color-beige);border-color:#e3d8c3}.user-recipe-card .recipe-card__category{color:var(--color-blue-ink)}.catalog-state{display:grid;gap:var(--space-3);max-width:520px;padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.catalog-state h2,.catalog-state p{margin:0}.catalog-state p{color:var(--color-muted)}.catalog-more{display:grid;place-items:center;margin-top:var(--space-6)}.recipe-skeleton{display:grid;gap:var(--space-3);min-height:290px;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.recipe-skeleton span{display:block;border-radius:var(--radius-sm);background:var(--color-blue)}.recipe-skeleton span:first-child{min-height:150px}.recipe-skeleton span:nth-child(2){width:60%;min-height:20px}.recipe-skeleton span:last-child{width:82%;min-height:14px}.detail-placeholder{display:grid;gap:var(--space-4);max-width:620px}.detail-placeholder .page-lead{margin:0}.back-link{width:fit-content;min-height:var(--touch-target);display:inline-flex;align-items:center;color:var(--color-primary);font-weight:750}.detail-id{color:var(--color-muted);font-size:.8rem}.recipe-detail{display:grid;gap:var(--space-6);max-width:1120px}.recipe-detail__hero{display:grid;aspect-ratio:16 / 9;place-items:center;overflow:hidden;border-radius:var(--radius-md);background:var(--color-blue);color:var(--color-blue-ink)}.recipe-detail__hero img{width:100%;height:100%;object-fit:cover}.recipe-detail__layout{display:grid;gap:var(--space-5)}.recipe-detail__content,.calculation-card{display:grid;gap:var(--space-4)}.recipe-detail__content{align-content:start}.recipe-detail__content>h1{max-width:760px;font-family:var(--font-display);font-size:clamp(2rem,5vw,3rem);font-weight:700;line-height:1.02}.recipe-detail__content>.page-lead{max-width:720px;line-height:1.55}.recipe-detail__editorial-grid{display:grid;gap:var(--space-5)}.recipe-meta{display:flex;flex-wrap:wrap;gap:var(--space-3);color:var(--color-muted)}.recipe-section{display:grid;gap:0;align-content:start;padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-soft)}.recipe-section h2,.calculation-card h2{margin:0;font-size:1.2rem}.recipe-section h2{margin-bottom:var(--space-3);font-family:var(--font-display);font-size:1.55rem;line-height:1.1}.ingredient-list,.preparation-list{display:grid}.scaling-panel{display:grid;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.scaling-panel h2,.scaling-panel p{margin:0}.scaling-panel>p{color:var(--color-muted);font-size:.9rem}.scaling-modes{display:flex;gap:var(--space-2)}.scaling-modes button,.scaling-reset{min-height:var(--touch-target);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink);font:inherit;font-weight:700}.scaling-modes button{flex:1}.scaling-modes button.is-active{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.scaling-panel label{display:grid;gap:var(--space-1);color:var(--color-muted);font-size:.85rem;font-weight:700}.scaling-panel input,.scaling-panel select{min-height:var(--touch-target);padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink);font:inherit}.scaling-input-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,.65fr);gap:var(--space-3)}.scaling-summary{color:var(--color-primary)!important;font-weight:700}.scaling-warning{color:var(--color-amber-ink)!important}.scaling-reset{width:fit-content;padding:0 var(--space-3)}.ingredient-line{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);min-height:38px;padding:7px 0;border-bottom:1px solid var(--color-border)}.ingredient-line:last-child{border-bottom:0}.ingredient-line span{display:grid;gap:2px}.ingredient-line small{color:var(--color-sage-ink);font-size:.75rem;font-weight:700}.ingredient-line em{color:var(--color-muted);font-size:.8rem;font-style:normal}.preparation-step{display:grid;grid-template-columns:28px 1fr;gap:var(--space-3);padding:8px 0;border-bottom:1px solid var(--color-border)}.preparation-step:last-child{border-bottom:0}.preparation-step b{display:grid;width:28px;height:28px;place-items:center;border:1px solid var(--color-sage-border);border-radius:50%;background:var(--color-sage);color:var(--color-primary);font-size:.78rem}.preparation-step p{margin:0;color:var(--color-muted);line-height:1.5}.preparation-step strong+p{margin-top:2px}.calculation-card{align-self:start;padding:var(--space-5);border:1px solid var(--color-sage-border);border-radius:var(--radius-md);background:var(--color-sage)}.calculation-card__metric{display:flex;justify-content:space-between;gap:var(--space-3)}.calculation-card__notice,.calculation-card__warning{margin:0;color:var(--color-sage-ink);font-size:.85rem}.calculation-card--incomplete{border-color:var(--color-amber-border);background:var(--color-amber)}.calculation-card--incomplete .calculation-card__notice,.calculation-card--incomplete .calculation-card__warning{color:var(--color-amber-ink)}.calculation-card__missing-list{display:grid;gap:var(--space-1);margin:0;padding-left:var(--space-5);color:var(--color-amber-ink);font-size:.9rem}.calculation-card__more{width:fit-content;min-height:var(--touch-target);padding:0;border:0;background:transparent;color:var(--color-amber-ink);cursor:pointer;font:inherit;font-weight:750;text-decoration:underline}@keyframes page-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(1turn)}}@media(min-width:960px){.app-shell{display:grid;grid-template-columns:256px minmax(0,1fr)}.sidebar-navigation{position:sticky;top:0;display:flex;height:100dvh;min-height:100dvh;flex-direction:column;padding:var(--space-6) var(--space-4) var(--space-4);border-right:1px solid var(--color-beige-border);background:#f8f4ec}.sidebar-brand{display:grid;gap:var(--space-2);padding:0 var(--space-2) var(--space-5);border-bottom:1px solid rgb(102 88 62 / 12%)}.sidebar-brand .brand-mark{font-size:.98rem}.sidebar-brand p{max-width:176px;margin:0;color:var(--color-muted);font-size:.74rem;line-height:1.4}.navigation-links--sidebar{flex-direction:column;gap:2px;margin-top:var(--space-5)}.navigation-links--sidebar .navigation-link{position:relative;justify-content:flex-start;gap:var(--space-3);padding:0 var(--space-3) 0 var(--space-4);border-radius:var(--radius-sm);font-size:.82rem;transition:background-color .15s ease,color .15s ease}.navigation-links--sidebar .navigation-link.is-active{background:#dfebdfd1;color:var(--color-primary-strong)}.navigation-links--sidebar .navigation-link.is-active:before{position:absolute;inset:10px auto 10px 0;width:3px;border-radius:999px;background:var(--color-primary);content:""}.sidebar-footer{display:grid;gap:var(--space-3);margin-top:auto;padding:var(--space-4) var(--space-2) 0;border-top:1px solid rgb(102 88 62 / 12%);color:var(--color-muted);font-size:.78rem}.sidebar-account{display:grid;min-width:0;gap:3px}.sidebar-account span{color:var(--color-muted);font-size:.67rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.sidebar-account strong{overflow:hidden;color:var(--color-ink);font-size:.78rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.sidebar-footer .sign-out-button{width:fit-content;min-height:36px;padding:0;color:var(--color-primary)}.admin-entry{display:inline-flex;min-height:var(--touch-target);align-items:center;margin-top:var(--space-3);padding:0 var(--space-3);border:1px solid var(--color-sage-border);border-radius:var(--radius-sm);color:var(--color-primary);font-size:.84rem;font-weight:750}.mobile-header,.bottom-navigation{display:none}.app-content{min-height:100dvh;padding:56px clamp(32px,6vw,88px)}.admin-shell{display:grid;grid-template-columns:248px minmax(0,1fr)}.admin-sidebar{display:flex;min-height:100dvh;flex-direction:column;padding:var(--space-5);border-right:1px solid var(--color-border);background:#fbfbf8}.admin-sidebar>p{margin:var(--space-5) 0 var(--space-2);color:var(--color-muted);font-size:.78rem;font-weight:750;text-transform:uppercase}.admin-sidebar nav{display:grid;gap:var(--space-1)}.admin-sidebar nav a{display:flex;min-height:var(--touch-target);align-items:center;padding:0 var(--space-3);border-radius:var(--radius-sm);color:var(--color-muted);font-weight:700}.admin-sidebar nav a.active{background:var(--color-sage);color:var(--color-primary-strong)}.admin-sidebar .sign-out-button{width:fit-content;margin-top:auto}.admin-mobile-header{display:none}.admin-content{min-height:100dvh;padding:56px clamp(32px,5vw,88px)}.admin-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-filters{grid-template-columns:minmax(200px,2fr) repeat(3,minmax(140px,1fr))}.admin-recipe-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-recipe-card{grid-template-columns:1fr}.admin-recipe-card__image{min-height:148px}.admin-detail-layout{grid-template-columns:minmax(0,1fr) minmax(280px,360px)}.admin-detail-layout>.calculation-card{position:sticky;top:var(--space-6)}.admin-editor-layout{grid-template-columns:minmax(0,1fr) minmax(260px,320px)}.admin-editor-aside{position:sticky;top:var(--space-6)}.start-actions{grid-template-columns:repeat(4,minmax(0,1fr))}.start-action{min-height:224px;grid-template-rows:minmax(104px,48%) 1fr}.start-hero{min-height:312px}.start-hero h1{font-size:2.7rem}.empty-state{grid-template-columns:var(--touch-target) 1fr;align-items:start}.recipe-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.category-filters{flex-wrap:wrap;overflow-x:visible;padding-inline:0}.user-products-header{grid-template-columns:minmax(0,1fr) minmax(280px,360px);align-items:end}.user-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-detail__layout{grid-template-columns:minmax(0,1fr) minmax(280px,360px)}.recipe-detail__editorial-grid{grid-template-columns:minmax(280px,36fr) minmax(0,64fr);align-items:start}.recipe-detail__layout>.calculation-card{position:sticky;top:var(--space-6)}.offer-details__layout{grid-template-columns:minmax(0,1fr) minmax(280px,340px);align-items:start}.offer-details__summary{position:sticky;top:var(--space-6)}}@media(max-width:374px){.start-hero{min-height:224px;padding:var(--space-4)}.start-hero h1{font-size:2rem}.start-action{min-height:150px;grid-template-rows:56% 44%}.start-action__content{grid-template-columns:32px minmax(0,1fr) 24px;padding:var(--space-2)}.start-action__icon{width:32px;height:32px}.start-action__arrow{width:24px;height:24px}}@media(max-width:959px){.system-offers-page .page-intro{margin-bottom:var(--space-4)}.system-offers-page h1{font-size:1.85rem}.system-offers-page .offer-card{gap:var(--space-1);padding:var(--space-3)}.system-offers-page .offer-card small{color:var(--color-muted);font-weight:500;line-height:1.35}.system-offers-page .offer-card b{margin-top:var(--space-1);color:var(--color-primary);font-size:.95rem}.recipe-detail__content>h1{font-size:1.78rem;line-height:1.12}.recipe-section{padding:var(--space-4)}.scaling-panel{gap:var(--space-2);padding:var(--space-3)}.scaling-panel h2{font-size:1.2rem;line-height:1.2}}@media(min-width:1240px){.recipe-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.user-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
