:root{color-scheme:light;font-family:Segoe UI,sans-serif;line-height:1.5;color:#13221d;background:radial-gradient(circle at top left,rgba(226,242,215,.9),transparent 28rem),linear-gradient(180deg,#f7f4eb,#eef0e7)}*{box-sizing:border-box}body{margin:0;min-height:100vh}#root{min-height:100vh}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:2rem}.auth-card{width:min(28rem,100%);display:flex;flex-direction:column;gap:1rem;padding:2rem;border-radius:1.25rem;background:#ffffffeb;border:1px solid rgba(19,34,29,.08);box-shadow:0 1rem 2.5rem #2a3b2d1a}.auth-card h1{margin:0}.auth-tagline{margin:-.25rem 0 0;font-size:1.05rem;color:#1f5c47;font-weight:500;line-height:1.4}.legal-link-row,.sidebar-legal{display:flex;gap:.6rem;flex-wrap:wrap;font-size:.9rem}.legal-link-row a,.sidebar-legal a{color:#1f5c47}.sidebar-legal{margin-top:1.5rem}.sidebar-legal a{color:#eff4ead1}.legal-shell{min-height:100vh;padding:2rem}.legal-card{width:min(56rem,100%);margin:0 auto;padding:2rem;border-radius:1.25rem;background:#fffffff0;border:1px solid rgba(19,34,29,.08);box-shadow:0 1rem 2.5rem #2a3b2d1a}.legal-card h1{margin-bottom:.25rem}.legal-card h2{margin-top:1.8rem}.legal-card a{color:#1f5c47;font-weight:600}.app-shell{display:grid;grid-template-columns:18rem 1fr;min-height:100vh}.sidebar{padding:2rem 1.5rem;background:#162e27f2;color:#eff4ea}.sidebar h1{margin-top:0;font-size:1.8rem}.sidebar-user{margin:0;color:#eff4eacc}.sidebar ul{list-style:none;padding:0;margin:2rem 0 0}.sidebar li{padding:.75rem 0;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar a{color:inherit;text-decoration:none}.sidebar a.active{font-weight:700}.sidebar-logout{margin-top:2rem}.content{padding:2rem}.page-section{display:flex;flex-direction:column;gap:1rem}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;color:#50695e;margin-bottom:.5rem}.section-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.section-header.compact{margin-bottom:1rem}.primary-button,.secondary-button,.secondary-link,.recipe-card-actions button{border:none;border-radius:999px;padding:.7rem 1rem;cursor:pointer;font:inherit}.primary-button{background:#1f5c47;color:#fff}.secondary-button,.secondary-link,.recipe-card-actions button{background:#1f5c471a;color:#1f5c47;text-decoration:none}.icon-button{width:2.8rem;height:2.8rem;display:inline-flex;align-items:center;justify-content:center;padding:0;border-radius:999px;font-size:1.25rem;line-height:1;flex:0 0 auto}.recipe-grid,.detail-grid,.editor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:1rem}.recipe-card,.editor-card,.empty-card{padding:1.25rem;border-radius:1rem;background:#ffffffe0;border:1px solid rgba(19,34,29,.08);box-shadow:0 .75rem 2rem #2a3b2d14}.editor-card-wide{grid-column:1 / -1}.recipe-card-header,.detail-actions,.recipe-card-actions,.editor-actions{display:flex;gap:.75rem;justify-content:space-between;flex-wrap:wrap}.plan-action-stack{display:flex;flex-direction:column;align-items:flex-end;gap:.75rem}.badge{align-self:flex-start;padding:.35rem .65rem;border-radius:999px;background:#50695e1f;color:#385045;font-size:.85rem}.badge-good{background:#457d652e;color:#1d5a43}.indicator-chip-list{display:flex;flex-wrap:wrap;gap:.5rem}.indicator-chip{display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .7rem;border-radius:999px;font-size:.88rem;line-height:1.2}.indicator-dot{width:.55rem;height:.55rem;border-radius:999px;background:currentColor;flex:0 0 auto}.indicator-chip-good{background:#457d6524;color:#1d5a43}.indicator-chip-neutral{background:#50695e1f;color:#385045}.muted{color:#50695e}.form-help-text{margin:.5rem 0 0;color:#50695e;font-size:.95rem}.form-help-text code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.9em}.warning-text,.error-banner{color:#7a2f1c;background:#d1876e24;padding:.85rem 1rem;border-radius:.85rem}.status-banner{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding:1rem 1.1rem;border-radius:1rem;border:1px solid rgba(19,34,29,.08)}.status-banner p{margin:.35rem 0 0}.status-banner-neutral{background:#50695e14;color:#385045}.status-banner-good{background:#457d6524;color:#1d5a43}.status-banner-warn{background:#d1876e24;color:#7a2f1c}.editor-card label,.editor-card fieldset{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}input,textarea,select{width:100%;border:1px solid rgba(19,34,29,.18);border-radius:.75rem;padding:.7rem .8rem;font:inherit;background:#fffffff0}textarea{min-height:8rem;resize:vertical}.instructions-box{min-height:12rem}.instructions-text{white-space:pre-wrap}.ingredient-list{display:flex;flex-direction:column;gap:.75rem}.ingredient-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1.5fr auto;gap:.75rem;align-items:center}.ingredient-delete-button{border:none;border-radius:.75rem;padding:.7rem .9rem;background:#7a2f1c1a;color:#7a2f1c;cursor:pointer;font:inherit;white-space:nowrap}.season-fieldset{border:none;padding:0;margin:0 0 1rem}.chip-row{display:flex;gap:.75rem;flex-wrap:wrap}.chip-option{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .75rem;border-radius:999px;background:#1f5c4714}.inline-toggle{display:inline-flex;align-items:center;gap:.5rem}.inline-toggle input,.chip-option input{width:auto}.ingredient-detail-list{margin:0;padding-left:1.25rem}.stack-list{display:flex;flex-direction:column;gap:.75rem}.stack-card{display:flex;flex-direction:column;align-items:stretch;gap:.35rem;width:100%;padding:.9rem 1rem;border:1px solid rgba(19,34,29,.08);border-radius:.9rem;background:#f4f7f1eb;color:inherit;text-align:left}.stack-card-button{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;width:100%;padding:0;border:none;background:transparent;color:inherit;text-align:left;cursor:pointer}.stack-card-active{border-color:#1f5c4759;background:#dcebe2f2}.stack-card-delete{align-self:flex-start;border:none;border-radius:999px;padding:.45rem .8rem;background:#7a2f1c1a;color:#7a2f1c;cursor:pointer;font:inherit}.plan-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.75rem}.summary-tile{padding:.9rem 1rem;border-radius:.9rem;background:#f7f4ebcc;border:1px solid rgba(19,34,29,.08)}.summary-label{display:block;margin-bottom:.4rem;color:#50695e;font-size:.85rem}.replace-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:center}.shopping-page{display:flex;flex-direction:column;gap:1rem}.shopping-toolbar-card,.shopping-list-card{width:100%}.shopping-toolbar-card{padding:1rem 1.25rem}.shopping-toolbar{display:grid;grid-template-columns:minmax(12rem,1.6fr) repeat(2,minmax(9rem,1fr)) auto;gap:.6rem;align-items:end}.shopping-toolbar-field{display:flex;flex-direction:column;gap:.2rem}.shopping-toolbar-label{color:#50695e;font-size:.78rem;line-height:1.1}.shopping-toolbar .primary-button{padding:.7rem .95rem}.shopping-toolbar-field select{padding-top:.65rem;padding-bottom:.65rem}.shopping-plan-summary-text{margin:.45rem 0 0;color:#50695e;font-size:.9rem}.shopping-checklist{display:flex;flex-direction:column;gap:0;margin-top:0}.shopping-manual-inline{display:flex;align-items:center;gap:.4rem;padding:.08rem 0 .2rem;border-bottom:1px solid rgba(19,34,29,.08)}.shopping-manual-inline-fields{display:grid;grid-template-columns:minmax(16rem,2.2fr) minmax(6rem,.8fr) minmax(6rem,.8fr) minmax(8rem,1fr);gap:.35rem;flex:1 1 auto;min-width:0}.shopping-manual-inline input,.shopping-manual-inline select{padding:.45rem .6rem;min-height:2.15rem;border-radius:.6rem;background:#ffffffb8}.shopping-manual-inline .primary-button{padding:.5rem .85rem;flex:0 0 auto;min-height:2.15rem}.shopping-checklist-item{display:flex;justify-content:space-between;gap:.5rem;align-items:center;padding:.18rem 0;border-bottom:1px solid rgba(19,34,29,.08);background:transparent}.shopping-checklist-main{display:flex;align-items:center;gap:.45rem;flex:1 1 auto;width:100%;min-width:0;justify-content:flex-start;text-align:left;margin:0}.shopping-checklist-checkbox{width:.95rem;height:.95rem;margin:0;flex:0 0 auto}.shopping-checklist-copy{display:flex;align-items:baseline;gap:.3rem;width:100%;min-width:0;flex:1 1 auto;justify-content:flex-start;text-align:left}.shopping-checklist-title{font-weight:600;word-break:break-word;line-height:1.05;flex:0 1 auto}.shopping-checklist-meta{color:#50695e;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.05;flex:1 1 auto}.shopping-checklist-actions{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;justify-content:flex-end;margin-left:.5rem}.shopping-list-card .form-help-text{margin:0}.shopping-checklist-item-complete{color:#7d857f}.shopping-checklist-item-complete .shopping-checklist-title{text-decoration:line-through}.shopping-checklist-item-complete .shopping-checklist-meta,.shopping-checklist-item-on-hand .shopping-checklist-meta{color:#7d857f}.shopping-checklist-item-on-hand .shopping-checklist-title{color:#50695e}.shopping-table-wrap{overflow-x:auto}.shopping-table-controls{display:flex;gap:1rem;align-items:end;flex-wrap:wrap;margin-bottom:.9rem}.shopping-table-controls label{display:flex;flex-direction:column;gap:.35rem;min-width:12rem}.shopping-table{width:100%;border-collapse:collapse;font-size:.95rem}.shopping-table th,.shopping-table td{padding:.7rem .75rem;border-bottom:1px solid rgba(19,34,29,.08);text-align:left;vertical-align:middle}.shopping-table th{color:#50695e;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em}.shopping-table tbody tr:nth-child(2n){background:#f7f4eb73}.shopping-row-complete{color:#7d857f}.shopping-row-complete td{background:#50695e14}.shopping-row-complete .shopping-table-item{color:#6d756f;text-decoration:line-through}.shopping-row-pending-complete td{animation:shopping-row-soft-complete .45s ease}.shopping-table-item{font-weight:600}.shopping-table-toggle{white-space:nowrap}.shopping-table-delete{padding:.45rem .8rem;white-space:nowrap}.undo-toast{position:fixed;right:1.25rem;bottom:1.25rem;z-index:20;display:flex;align-items:center;gap:.9rem;max-width:min(28rem,calc(100vw - 2rem));padding:.9rem 1rem;border-radius:1rem;background:#13221df0;color:#eff4ea;box-shadow:0 1rem 2.5rem #13221d3d}.undo-toast .secondary-button{background:#ffffff29;color:#eff4ea}@keyframes shopping-row-soft-complete{0%{background:#457d6538;transform:scale(1)}to{background:transparent;transform:scale(.995)}}.import-image-preview{max-width:100%;border-radius:1rem;border:1px solid rgba(19,34,29,.08)}.raw-text-block{margin:0;padding:1rem;border-radius:.9rem;background:#f7f4ebcc;border:1px solid rgba(19,34,29,.08);white-space:pre-wrap;font:inherit}@media(max-width:800px){.app-shell{grid-template-columns:1fr}.sidebar{padding-bottom:1rem}.content{padding:1.25rem}.section-header,.status-banner{flex-direction:column}.plan-action-stack{width:100%;align-items:stretch}.ingredient-row,.replace-row,.shopping-toolbar{grid-template-columns:1fr}.shopping-toolbar-card{padding:.9rem 1rem}.shopping-checklist-item{flex-direction:column;align-items:stretch;padding:.7rem 0}.shopping-checklist-main{align-items:flex-start}.shopping-checklist-checkbox{margin-top:.1rem}.shopping-checklist-copy{flex-direction:column;align-items:flex-start;gap:.05rem}.shopping-checklist-meta{white-space:normal;overflow:visible;text-overflow:clip}.shopping-checklist-actions{justify-content:flex-start;padding-left:1.65rem}.shopping-manual-inline{align-items:stretch;flex-direction:column}.shopping-manual-inline-fields{grid-template-columns:1fr}.shopping-table{min-width:48rem}.shopping-table-controls{align-items:stretch}.undo-toast{right:.75rem;left:.75rem;bottom:.75rem;max-width:none}}@media print{@page{size:A4 portrait;margin:1.5cm 1.75cm}:root{background:#fff;font-size:10pt;line-height:1.4}body{background:#fff;-webkit-print-color-adjust:exact;print-color-adjust:exact}.no-print,.sidebar{display:none!important}.app-shell{display:block;min-height:unset}.content{padding:0}.page-section{padding:0;gap:.6rem}.section-header{border-bottom:1.5pt solid #1f5c47;padding-bottom:.4rem;margin-bottom:.4rem;flex-direction:row;align-items:flex-end}.section-header h2{font-size:18pt;margin:0;color:#1f5c47}.detail-grid{gap:.5rem;grid-template-columns:repeat(2,1fr)}.editor-card{padding:.55rem .75rem;box-shadow:none;border:.5pt solid rgba(19,34,29,.2);border-radius:.35rem;background:#fff;break-inside:avoid}.editor-card-wide{grid-column:1 / -1}.editor-card h3{font-size:9pt;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#1f5c47;margin:0 0 .3rem;padding-bottom:.2rem;border-bottom:.5pt solid rgba(19,34,29,.12)}.editor-card p{font-size:9pt;margin:.12rem 0;line-height:1.4}.ingredient-detail-list{margin:0;padding-left:1rem;font-size:9pt;line-height:1.45;column-count:2;column-gap:1.5rem}.ingredient-detail-list li{break-inside:avoid;margin-bottom:.1rem}.instructions-text{font-size:9pt;line-height:1.5;white-space:pre-wrap;margin:0}}
