:root{color-scheme:light;--bg: #fbf9f2;--surface: #ffffff;--surface-soft: #f5f4eb;--surface-2: #efeee4;--text: #32332b;--muted: #5f6057;--line: rgba(95, 96, 87, .12);--primary: #406934;--primary-2: #c0f0ad;--danger: #a73b21;--shadow: 0 18px 48px rgba(50, 51, 43, .08);font-family:Plus Jakarta Sans,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:Plus Jakarta Sans,system-ui,sans-serif}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}.loading-screen{min-height:100vh;display:grid;place-items:center;font-size:1.1rem}.app-shell{display:grid;grid-template-columns:280px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:24px;background:linear-gradient(180deg,#f8f5eb,#f3f0e2);border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;gap:24px}.brand-card{display:flex;align-items:center;gap:14px;padding:16px;background:#ffffffb8;border-radius:24px;box-shadow:var(--shadow)}.brand-badge{width:56px;height:56px;border-radius:18px;background:linear-gradient(135deg,var(--primary),#6d9346);color:#fff;display:grid;place-items:center;font-size:1.6rem}.eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.brand-card h1,.topbar h2,.hero-card h3,.detail-copy h1{margin:4px 0 0}.nav-list{display:grid;gap:10px;margin-top:24px}.nav-item{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:18px;color:var(--muted);transition:.16s ease}.nav-item:hover,.nav-item.active{background:#fff;color:var(--text);box-shadow:var(--shadow)}.sidebar-note{padding:16px;background:#ffffffa3;border-radius:20px;color:var(--muted);line-height:1.5}.app-main{padding:24px 28px 40px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.topbar-actions,.button-row,.hero-actions,.pill-row,.panel-toolbar{display:flex;flex-wrap:wrap;gap:10px}.page{display:grid;gap:24px}.two-column{grid-template-columns:minmax(0,1fr) 340px;align-items:start}.column-grow,.column-side{display:grid;gap:24px}.detail-layout{gap:24px}.detail-grid,.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.panel{background:var(--surface);border-radius:28px;padding:22px;box-shadow:var(--shadow)}.panel h3,.panel h4{margin:0}.panel p{margin:6px 0 0;color:var(--muted)}.panel-head{margin-bottom:16px}.hero-card{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;align-items:center;background:linear-gradient(135deg,#fff,#f2f7e9);border-radius:32px;padding:28px;box-shadow:var(--shadow)}.hero-card p{color:var(--muted);line-height:1.6}.hero-stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.stat-card{background:#ffffffd9;border-radius:24px;padding:18px;display:grid;gap:8px}.stat-card span,.stat-card small,.muted,.slot-card small,.billing-card .muted,.member-card .muted{color:var(--muted)}.stat-card strong{font-size:1.65rem}.primary-button,.ghost-button,.danger-button{border:none;border-radius:999px;padding:12px 18px;cursor:pointer;transition:transform .12s ease,opacity .12s ease}.primary-button:hover,.ghost-button:hover,.danger-button:hover{transform:translateY(-1px)}.primary-button{background:linear-gradient(135deg,var(--primary),#5d8f48);color:#fff}.ghost-button{background:var(--surface-soft);color:var(--text)}.danger-button{background:#fde4dd;color:var(--danger)}.small{padding:9px 14px;font-size:.92rem}.dimmed{opacity:.65}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));gap:12px;overflow-x:auto;padding-bottom:6px}.day-column{display:grid;gap:10px}.day-header{position:sticky;top:0;background:var(--surface-soft);padding:12px 14px;border-radius:18px}.slot-card{text-align:left;border:none;background:var(--surface-soft);padding:16px;border-radius:20px;display:grid;gap:8px;cursor:pointer}.slot-card.selected{background:#ebffdf;outline:2px solid rgba(64,105,52,.18)}.slot-label{color:var(--muted);font-size:.88rem}.inline-form,.grid-2,.toolbar-wrap{display:grid;gap:12px}.inline-form{grid-template-columns:1.3fr .7fr .7fr 1fr auto;margin-bottom:18px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar-wrap{grid-template-columns:1.2fr .8fr auto;align-items:center}.recipe-create-form,.stack-form{display:grid;gap:14px}label,.form-label{display:grid;gap:8px;font-weight:600}input,select,textarea{width:100%;border:1px solid transparent;background:var(--surface-soft);border-radius:18px;padding:12px 14px;color:var(--text)}input:focus,select:focus,textarea:focus{outline:none;border-color:#40693438;background:#fff}.check-row,.meal-item,.recipe-mini-card,.billing-card,.member-card,.ingredient-item,.balance-row{display:grid;align-items:center;gap:10px;padding:14px 16px;background:var(--surface-soft);border-radius:20px}.check-row{grid-template-columns:auto 1fr auto auto}.check-row.done span{text-decoration:line-through;opacity:.65}.meal-list,.recipe-mini-list,.grocery-groups,.billing-list,.member-list,.ingredient-list{display:grid;gap:12px}.meal-item,.billing-card,.member-card,.recipe-mini-card,.balance-row{grid-template-columns:1fr auto}.recipe-thumb,.recipe-hero{min-height:100px;border-radius:24px}.recipe-mini-card{grid-template-columns:96px 1fr auto}.recipe-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:20px}.recipe-card{background:var(--surface-soft);border-radius:28px;overflow:hidden}.recipe-hero{position:relative;min-height:180px;display:grid;place-items:center}.recipe-hero-emoji{font-size:3rem}.favorite-button{position:absolute;top:14px;right:14px;width:44px;height:44px;border-radius:999px;border:none;background:#ffffffd9;font-size:1.2rem;cursor:pointer}.favorite-button.active{background:#fff6c7}.recipe-body{padding:18px;display:grid;gap:12px}.recipe-body h3,.detail-copy h1{margin:0}.recipe-body p,.detail-copy p{margin:0;color:var(--muted);line-height:1.6}.tag-row,.chip-wrap{display:flex;flex-wrap:wrap;gap:8px}.tag,.pill,.chip{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:8px 12px;background:#eef4e5;color:var(--text);font-size:.9rem}.chip{border:none;cursor:pointer;background:var(--surface-soft)}.chip.active{background:var(--primary-2)}.detail-hero{display:grid;grid-template-columns:minmax(0,1.3fr) 360px;gap:24px;border-radius:36px;padding:28px;box-shadow:var(--shadow)}.detail-copy{align-self:end}.detail-preview-card{background:#ffffffc7;padding:20px;border-radius:26px;display:grid;gap:12px}.top-gap{margin-top:18px}.steps-list{margin:0;padding-left:18px;display:grid;gap:12px;line-height:1.6}.inline-control{margin-bottom:12px}.ingredient-item{grid-template-columns:1fr auto auto}.settlement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.positive{color:var(--primary)}.negative{color:var(--danger)}.empty-state{padding:18px;border-radius:18px;background:var(--surface-soft);color:var(--muted)}.empty-state.compact{padding:12px}.top-gap{margin-top:10px}@media (max-width: 1200px){.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid,.dashboard-grid,.settlement-grid,.hero-card,.detail-hero,.two-column{grid-template-columns:1fr}}@media (max-width: 900px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;border-right:none;border-bottom:1px solid var(--line)}.toolbar-wrap,.inline-form,.grid-2{grid-template-columns:1fr}}@media (max-width: 720px){.app-main{padding:18px}.topbar{flex-direction:column;align-items:stretch}.recipe-grid,.hero-stats-grid{grid-template-columns:1fr}.check-row{grid-template-columns:auto 1fr}}
