:root{--page-bg: #f7f6f2;--surface: rgba(255, 252, 244, .88);--surface-strong: #ffffff;--surface-tint: #edf7e9;--text-main: #20422b;--text-soft: #5f715f;--line: rgba(76, 175, 80, .16);--line-strong: rgba(76, 175, 80, .28);--brand: #3ca64f;--brand-strong: #2e8b41;--brand-soft: #dff2db;--shadow: 0 20px 50px rgba(69, 93, 67, .12);--radius-xl: 32px;--radius-lg: 24px;--radius-md: 16px}*,*:before,*:after{box-sizing:border-box}html{font-size:16px}body{min-height:100vh;margin:0;color:var(--text-main);background:radial-gradient(circle at top left,rgba(181,224,162,.42),transparent 28%),linear-gradient(180deg,#fbfaf6 0%,var(--page-bg) 100%);font-family:Avenir,Trebuchet MS,Segoe UI,sans-serif;line-height:1.5;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}#app{min-height:100vh}.app-shell{width:min(1180px,calc(100% - 2rem));margin:0 auto;padding:1.25rem 0 3rem}.hero-card,.panel{border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--surface);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow)}.hero-card{padding:1.25rem;margin-bottom:1rem}.brand-lockup{display:grid;gap:1rem;align-items:center}.brand-logo{width:112px;height:112px;border-radius:28px;background:#f5f1e5;object-fit:cover}.eyebrow,.meta-label{text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;color:var(--text-soft)}h1,h2,h3,p{margin:0}h1{font-size:clamp(2.8rem,8vw,5rem);line-height:.95}h2{font-size:1.35rem}h3{font-size:1.05rem}.hero-copy{max-width:36rem;margin-top:.8rem;color:var(--text-soft)}.hero-meta{display:grid;gap:.75rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--line)}.auth-strip{display:grid;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}.auth-copy{display:grid;gap:.2rem}.auth-actions{display:flex;flex-wrap:wrap;gap:.6rem}.auth-link{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--brand);color:#fff;padding:.7rem .95rem;text-decoration:none}.secondary-link{background:var(--surface);color:var(--text-main);border:1px solid var(--line)}.dashboard,.workspace,.panel-stack{display:grid;gap:1rem}.state-card{padding:1.25rem;border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow)}.state-card-error{border-color:#b0494933;color:#8d3b3b}.panel{padding:1.25rem}.accent-panel{background:linear-gradient(180deg,#dff2dbf2,#fffcf4f2)}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.badge,.role-tag{display:inline-flex;align-items:center;border-radius:999px;background:var(--brand-soft);color:var(--brand-strong);padding:.35rem .75rem;font-size:.8rem}.mode-switch{display:grid;gap:.75rem}.planner-switch,.filter-chips,.selection-chips{display:flex;flex-wrap:wrap;gap:.6rem}.mode-button{display:grid;gap:.15rem;text-align:left;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);padding:.95rem 1rem;color:var(--text-main)}.mode-button small{color:var(--text-soft)}.mode-button.active{border-color:var(--line-strong);background:linear-gradient(180deg,#fff,#f3fbef)}.planner-button,.filter-chip,.selection-chip{border-radius:999px;padding:.65rem .9rem}.planner-button,.filter-chip{border:1px solid var(--line);background:var(--surface);color:var(--text-main)}.planner-button.active,.filter-chip.active{border-color:var(--line-strong);background:var(--brand-soft);color:var(--brand-strong)}.selection-chip{background:#dff2dbe6;color:var(--brand-strong)}.recipe-list,.shopping-list,.plan-list,.catalogue-list{display:grid;gap:.85rem;padding:0;margin:0;list-style:none}.recipe-card,.servings-card,.shopping-list li,.plan-list li,.catalogue-list li,.cook-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-strong)}.recipe-card.selected{border-color:var(--line-strong);background:linear-gradient(180deg,#fff,#f3fbef)}.recipe-copy{display:grid;gap:.45rem}.nested-panel{padding:1rem}.compact-heading{margin-bottom:.75rem}.role-select{display:grid;gap:.35rem}.role-select span,.step-number{font-size:.82rem;color:var(--text-soft)}.role-select select,.step-row textarea{width:100%;border:1px solid var(--line);border-radius:16px;background:#fff;padding:.7rem .85rem;color:var(--text-main)}.recipe-topline{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;color:var(--text-soft);font-size:.85rem}.select-button,.manual-item-row button,.servings-stepper button{border:0;border-radius:999px;background:var(--brand);color:#fff;padding:.75rem 1rem}.servings-card{margin-bottom:1rem}.servings-stepper{display:inline-flex;align-items:center;gap:.5rem}.servings-stepper strong{min-width:2ch;text-align:center;font-size:1.4rem}.servings-stepper button{width:2.5rem;height:2.5rem;padding:0}.plan-list li small,.shopping-list li small{color:var(--text-soft)}.manual-item-row{display:grid;gap:.75rem;margin-bottom:1rem}.manual-item-row input{width:100%;border:1px solid var(--line-strong);border-radius:999px;background:#fff;padding:.9rem 1rem;color:var(--text-main)}.recipe-form,.recipe-form label,.recipe-catalogue,.ingredient-table{display:grid;gap:.75rem}.recipe-form label span{display:inline-block;margin-bottom:.35rem;font-size:.9rem;color:var(--text-soft)}.recipe-form input,.recipe-form textarea,.recipe-form select,.ingredient-row input{width:100%;border:1px solid var(--line);border-radius:18px;background:#fff;padding:.85rem 1rem;color:var(--text-main)}.field-row,.admin-grid,.ingredient-row,.list-meta,.step-row,.selection-group,.filter-row,.cooking-list,.cook-columns{display:grid;gap:.75rem}.ingredients-header,.catalogue-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.ghost-button,.submit-button{border:0;border-radius:999px;padding:.75rem 1rem}.ghost-button{background:var(--brand-soft);color:var(--brand-strong)}.danger-button{color:#8d3b3b}.submit-button{background:var(--brand);color:#fff}.submit-button:disabled{opacity:.45}.servings-copy,.summary-copy,.footnote-copy,.empty-copy,.catalogue-list p{color:var(--text-soft)}.summary-panel{background:linear-gradient(180deg,#faf8f0fa,#fffffffa)}.selected-panel{background:#ffffff8c}.cook-card{flex-direction:column;align-items:stretch}.cook-bullets,.cook-steps{margin:0;padding-left:1.1rem;color:var(--text-main)}.cook-columns{align-items:start}.empty-state{display:grid;gap:.75rem;justify-items:start}.shopping-list li{align-items:center}.shopping-list li label{display:flex;align-items:center;gap:.75rem;font-weight:600}.shopping-list li.checked span{text-decoration:line-through;color:var(--text-soft)}.pantry-toggle{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-soft);font-size:.9rem}@media(min-width:720px){.app-shell{width:min(1280px,calc(100% - 3rem));padding-top:2rem}.brand-lockup{grid-template-columns:auto 1fr}.hero-card{padding:1.5rem}.hero-meta,.dashboard,.mode-switch{grid-template-columns:repeat(3,minmax(0,1fr))}.manual-item-row{grid-template-columns:1fr auto}.field-row{grid-template-columns:repeat(2,minmax(0,1fr))}.ingredient-row{grid-template-columns:minmax(0,2fr) 120px 120px auto;align-items:center}.cook-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:960px){.workspace{gap:1.25rem}.admin-grid{grid-template-columns:minmax(0,1.4fr) minmax(320px,.9fr);align-items:start}.list-meta{justify-items:end}}
