:root{font-family:Avenir Next,Segoe UI,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;color:#17322a;background:radial-gradient(circle at top left,rgba(255,214,153,.35),transparent 32%),linear-gradient(180deg,#fffaf2,#f5f0e6);color-scheme:light;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg: #fffdf8;--bg-soft: rgba(255, 255, 255, .72);--bg-strong: #fff4e2;--ink: #17322a;--ink-soft: #567268;--line: rgba(23, 50, 42, .12);--line-strong: rgba(23, 50, 42, .2);--brand: #256454;--brand-strong: #174338;--accent: #ec8b4a;--danger: #b94c3d;--shadow: 0 20px 50px rgba(38, 54, 45, .08);--radius-lg: 24px;--radius-md: 18px;--radius-sm: 12px}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.site-header{padding:2rem 1.5rem 1rem}.site-header__content{max-width:1180px;margin:0 auto;padding:2rem;border:1px solid rgba(255,255,255,.4);border-radius:32px;background:linear-gradient(135deg,#fff9eef5,#f8f1e6cc),#ffffffbf;box-shadow:var(--shadow);display:grid;gap:1.5rem}.site-header h1{margin:.2rem 0 .4rem;font-size:clamp(2.2rem,4vw,3.5rem);line-height:.95;letter-spacing:-.04em}.site-header__subtitle,.page-header__description,.section-card__header p,.muted,.empty-state p,.checklist__item span,.recipe-card__header p,.ingredients-header p{color:var(--ink-soft)}.eyebrow{margin:0;color:var(--accent);text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;font-weight:700}.main-nav{display:flex;flex-wrap:wrap;gap:.75rem}.main-nav__link{padding:.8rem 1rem;border-radius:999px;background:#ffffffa6;border:1px solid transparent;color:var(--ink-soft);transition:transform .18s ease,border-color .18s ease,color .18s ease}.main-nav__link:hover{transform:translateY(-1px);border-color:#2564543d;color:var(--brand-strong)}.main-nav__link--active{background:var(--brand);color:#fff}.page-wrap{max-width:1180px;margin:0 auto;padding:0 1.5rem 2rem}.page-content{display:grid;gap:1.5rem;padding-bottom:2rem}.page-header{display:flex;justify-content:space-between;align-items:end;gap:1rem;flex-wrap:wrap}.page-header h2{margin:.2rem 0 .3rem;font-size:clamp(1.8rem,3vw,2.5rem);letter-spacing:-.03em}.page-header__description{max-width:60ch;margin:0}.page-header__actions{display:flex;gap:.75rem;flex-wrap:wrap;align-items:flex-start}.section-card{border-radius:var(--radius-lg);background:var(--bg-soft);border:1px solid rgba(255,255,255,.65);box-shadow:var(--shadow);padding:1.4rem;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.section-card__header{display:flex;justify-content:space-between;gap:1rem;align-items:start;margin-bottom:1rem}.section-card__header h3,.recipe-card h3,.empty-state h3,.shopping-list__row h4{margin:0}.section-card__header p{margin:.2rem 0 0}.hero-grid,.home-grid,.two-column-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.stat-card{background:#fff;border-radius:var(--radius-md);padding:1.1rem;border:1px solid var(--line)}.stat-card strong{display:block;font-size:2rem;letter-spacing:-.04em;color:var(--brand-strong)}.checklist,.recipe-cards,.shopping-list{display:grid;gap:.9rem}.checklist__item{display:grid;gap:.2rem;padding:1rem 1.1rem;background:#fff;border-radius:var(--radius-md);border:1px solid var(--line);transition:transform .18s ease,border-color .18s ease}.checklist__item:hover{transform:translateY(-2px);border-color:#2564543d}.feature-list{display:grid;gap:.75rem;margin:0;padding-left:1.2rem}.button{border:0;border-radius:999px;background:var(--brand);color:#fff;padding:.78rem 1.1rem;display:inline-flex;align-items:center;justify-content:center;line-height:1;transition:transform .18s ease,opacity .18s ease,background .18s ease}.button:hover:not(:disabled){transform:translateY(-1px);background:var(--brand-strong)}.button:disabled{opacity:.45;cursor:not-allowed}.button--ghost{background:#fff;color:var(--brand-strong);border:1px solid var(--line)}.button--danger{background:#b94c3d1f;color:var(--danger)}.button--danger:hover:not(:disabled){background:#b94c3d2e}.button--compact{padding:.72rem 1rem;align-self:flex-start}.recipe-form,.field-stack{display:grid;gap:1rem}.field-group{display:grid;gap:.45rem}.field-group label,.week-picker span{font-weight:600}.field-group input,.planning-table select,.week-picker input{width:100%;padding:.84rem .95rem;border-radius:var(--radius-sm);border:1px solid var(--line);background:#fff;color:var(--ink)}.field-group input:focus,.planning-table select:focus,.week-picker input:focus{outline:2px solid rgba(37,100,84,.18);border-color:#25645457}.ingredients-header,.form-actions,.recipe-card__header,.shopping-list__row{display:flex;justify-content:space-between;gap:1rem;align-items:start;flex-wrap:wrap}.ingredients-header h4{margin:0}.ingredient-list{display:grid;gap:.85rem}.inline-form,.store-editor__item,.store-editor__list{display:grid;gap:.9rem}.store-editor__item{padding:1rem;border-radius:var(--radius-md);background:#fff;border:1px solid var(--line)}.field-error{margin:0;color:var(--danger);font-size:.92rem}.ingredient-row{display:grid;grid-template-columns:minmax(0,2.2fr) 1fr 1fr auto;gap:.85rem;padding:1rem;border-radius:var(--radius-md);background:#fff;border:1px solid var(--line)}.ingredient-row__remove{align-self:end}.recipe-card{background:#fff;border-radius:var(--radius-md);border:1px solid var(--line);padding:1rem}.recipe-card__actions{display:flex;gap:.6rem;flex-wrap:wrap}.ingredient-summary,.store-list{display:grid;gap:.55rem;margin:1rem 0 0;padding:0;list-style:none}.ingredient-summary li,.store-list li{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.7rem .85rem;border-radius:var(--radius-sm);background:#f8f4eccc}.week-picker{display:grid;gap:.4rem;min-width:240px}.week-picker small{color:var(--ink-soft)}.planning-table-wrap{overflow-x:auto}.planning-table{width:100%;border-collapse:collapse}.planning-table th,.planning-table td{padding:.9rem;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.planning-table thead th{font-size:.95rem;color:var(--ink-soft)}.planning-table tbody th span{display:block}.planning-table tbody th small{color:var(--ink-soft)}.shopping-list__row{background:#fff;border-radius:var(--radius-md);border:1px solid var(--line);padding:1rem}.shopping-list__row p{margin:.3rem 0 0;color:var(--ink-soft)}.store-select{display:grid;gap:.35rem;min-width:min(100%,320px)}.store-select__label{font-size:.85rem;color:var(--ink-soft);font-weight:600}.store-select__buttons{display:flex;flex-wrap:wrap;gap:.5rem}.store-select__button{border:1px solid var(--line);background:#fff;color:var(--brand-strong);border-radius:999px;padding:.62rem .9rem;transition:transform .18s ease,border-color .18s ease,background .18s ease}.store-select__button:hover{transform:translateY(-1px);border-color:#2564543d}.store-select__button--active{background:#25645424;border-color:#25645457;color:var(--brand-strong);font-weight:600}.store-select__button--muted{color:var(--ink-soft)}.store-group-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.store-group-card{background:#fff;border-radius:var(--radius-md);border:1px solid var(--line);padding:1rem}.store-group-card__header{display:flex;justify-content:space-between;gap:1rem;align-items:start;margin-bottom:.8rem}.store-group-card__header h3{margin:0}.store-group-card__header p{margin:.25rem 0 0;color:var(--ink-soft)}.shopping-checklist{list-style:none;padding:0;margin:0;display:grid;gap:.65rem}.shopping-checklist__item{display:flex;gap:.8rem;align-items:center;padding:.8rem;border-radius:var(--radius-sm);background:#f8f4eccc;border:1px solid transparent;transition:border-color .18s ease,background .18s ease,opacity .18s ease}.shopping-checklist__item--checked{opacity:.7}.shopping-checklist__item--dragging{opacity:.35;border-color:#25645442}.shopping-check{display:flex;gap:.8rem;align-items:center;flex:1}.shopping-check input{width:1.05rem;height:1.05rem;margin:0}.shopping-check__text{display:grid;gap:.12rem}.shopping-check__text strong{font-weight:600}.shopping-check__text small{color:var(--ink-soft)}.shopping-checklist__item--checked .shopping-check__text strong,.shopping-checklist__item--checked .shopping-check__text small{text-decoration:line-through}.shopping-check__drag-surface{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0;padding:.45rem .55rem;border-radius:14px;cursor:grab;user-select:none;-webkit-user-select:none;touch-action:none}.shopping-check__drag-surface:active{cursor:grabbing}.shopping-check__drag-surface:hover{background:#2564540f}.shopping-check__grab{color:var(--ink-soft);font-weight:700;letter-spacing:.08em;flex-shrink:0}.drag-preview{position:fixed;top:0;left:0;pointer-events:none;z-index:30;display:grid;gap:.1rem;min-width:180px;max-width:min(280px,calc(100vw - 2rem));padding:.75rem .9rem;border-radius:var(--radius-sm);border:1px solid rgba(37,100,84,.18);background:#fffdf8f5;box-shadow:0 18px 34px #17322a29}.drag-preview small{color:var(--ink-soft)}.empty-state{padding:2rem 1rem;text-align:center;border:1px dashed var(--line-strong);border-radius:var(--radius-md);background:#ffffff8f}.empty-state p{margin:.6rem auto 0;max-width:48ch}@media (max-width: 920px){.hero-grid,.home-grid,.two-column-layout,.stats-grid,.ingredient-row{grid-template-columns:1fr}}@media (max-width: 720px){.site-header{padding:1rem 1rem .5rem}.site-header__content,.page-wrap{padding-left:1rem;padding-right:1rem}.page-wrap{padding-top:0}.section-card,.site-header__content{padding:1.1rem}.page-header,.section-card__header,.shopping-list__row{align-items:stretch}.store-select,.store-select__buttons{width:100%}.store-select__button{flex:1 1 140px}.page-header__actions .week-picker{width:100%}.page-header__actions>*:not(.button--compact){width:100%}}
