:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#213126;--bg:#f8faf7;--surface:#fff;--surface-strong:#f1f6ef;--text:#213126;--muted:#6e7d70;--border:#dfe7dc;--primary:#2f6f4f;--primary-strong:#24583e;--accent:#f0b35b;--danger:#b43a31;--shadow:0 14px 34px #273b2a1f;background:#f8faf7;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--bg)}body{background:var(--bg);min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}.app-shell{background:var(--bg);max-width:540px;min-height:100vh;margin:0 auto;position:relative}.top-bar{z-index:20;padding:calc(12px + env(safe-area-inset-top)) 20px 12px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f8faf7e6;border-bottom:1px solid #dfe7dcbf;position:sticky;top:0}.top-bar h1,.top-bar p{margin:0}.top-bar h1{font-size:1.55rem;line-height:1.1}.eyebrow{color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:700}.app-main{padding:18px 16px calc(96px + env(safe-area-inset-bottom))}.bottom-nav{z-index:30;width:min(100%,540px);padding:8px 10px calc(8px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-top:1px solid var(--border);background:#fffffff0;grid-template-columns:repeat(5,1fr);gap:4px;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -10px 24px #21312614}.bottom-nav__item{min-height:54px;color:var(--muted);border-radius:8px;place-items:center;gap:3px;font-size:.72rem;font-weight:700;display:grid}.bottom-nav__item.active{color:var(--primary);background:var(--surface-strong)}.page-stack,.form-stack,.repeat-stack,.day-list{gap:14px;display:grid}.card{background:var(--surface);box-shadow:var(--shadow);border:1px solid #dfe7dcf2;border-radius:8px}.content-card,.filter-card,.recipe-card,.day-card,.shopping-list,.manual-item-form{padding:16px}.content-card h2,.recipe-card h2,.day-card h2,.state h2{margin:0;font-size:1.08rem}.content-card p,.recipe-card p,.state p{color:var(--muted);line-height:1.5}.dashboard-hero{color:#fff;box-shadow:var(--shadow);background:linear-gradient(135deg,#2f6f4f,#5c8d62);border-radius:8px;padding:22px 18px}.dashboard-hero p,.dashboard-hero h2{margin:0}.dashboard-hero p{opacity:.84;font-weight:700}.dashboard-hero h2{max-width:14rem;margin-top:8px;font-size:1.55rem;line-height:1.12}.quick-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.quick-card{min-height:108px;color:var(--text);align-content:space-between;padding:12px;display:grid}.quick-card svg{color:var(--primary)}.quick-card span{color:var(--muted);font-size:.78rem;font-weight:700}.quick-card strong{font-size:1.5rem}.section-heading,.detail-actions,.meal-slot__top,.week-scroller,.shopping-item,.check-row,.meta-row{align-items:center;display:flex}.section-heading,.detail-actions,.meal-slot__top,.week-scroller,.shopping-item{justify-content:space-between;gap:12px}.section-heading a{color:var(--primary);font-weight:800}.action-list{gap:8px;display:grid}.action-list a{background:var(--surface-strong);color:var(--primary);border-radius:8px;padding:12px;font-weight:800}.filter-card,.recipe-list,.recipe-card{gap:12px;display:grid}.recipe-card p{margin:6px 0 0}.meta-row{color:var(--muted);flex-wrap:wrap;gap:8px;font-size:.86rem;font-weight:700}.meta-row span{align-items:center;gap:5px;display:inline-flex}.tag-row{flex-wrap:wrap;gap:7px;display:flex}.tag{background:var(--surface-strong);min-height:28px;color:var(--primary);border-radius:999px;align-items:center;padding:0 10px;font-size:.78rem;font-weight:800;display:inline-flex}.field{gap:7px;display:grid}.field span{color:var(--muted);font-size:.82rem;font-weight:800}.field input,.field textarea,.field select{border:1px solid var(--border);width:100%;min-height:46px;color:var(--text);background:#fff;border-radius:8px;outline:none;padding:11px 12px}.field textarea{resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2f6f4f24}.field--compact input,.field--compact textarea,.field--compact select{min-height:42px}.field-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.form-section{background:var(--surface);border:1px solid var(--border);border-radius:8px;gap:12px;padding:14px;display:grid}.repeat-row{grid-template-columns:minmax(0,1fr) 42px;align-items:end;gap:8px;display:grid}.repeat-row--ingredient{grid-template-columns:minmax(0,1.2fr) minmax(74px,.55fr) minmax(68px,.55fr) 42px}.repeat-row__remove{align-self:end}.button,.icon-button{cursor:pointer;border:0;justify-content:center;align-items:center;display:inline-flex}.button{border-radius:8px;gap:7px;min-height:44px;padding:0 15px;font-weight:850}.button:disabled{cursor:not-allowed;opacity:.62}.button--primary{color:#fff;background:var(--primary)}.button--primary:active{background:var(--primary-strong)}.button--ghost{color:var(--primary);background:var(--surface-strong)}.button--danger{color:#fff;background:var(--danger)}.button--wide{width:100%}.icon-button{width:40px;height:40px;color:var(--primary);background:var(--surface-strong);border-radius:8px;flex:0 0 40px}.fab{right:max(20px,50vw - 250px);bottom:calc(88px + env(safe-area-inset-bottom));z-index:25;color:#fff;background:var(--primary);border-radius:50%;place-items:center;width:58px;height:58px;display:grid;position:fixed;box-shadow:0 16px 30px #2f6f4f47}.state{text-align:center;justify-items:center;gap:8px;padding:18px;display:grid}.state p{margin:0}.spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}.form-error{color:var(--danger);background:#fff0ee;border-radius:8px;padding:12px;font-weight:800}.form-success{background:var(--surface-strong);color:var(--primary);border-radius:8px;padding:12px;font-weight:800}.auth-shell{background:var(--bg);place-items:center;max-width:540px;min-height:100vh;margin:0 auto;padding:24px 16px;display:grid}.auth-card{gap:18px;width:100%;padding:22px;display:grid}.auth-card h1,.auth-card p{margin:0}.auth-card h1{font-size:1.5rem}.auth-icon{width:56px;height:56px;color:var(--primary);background:var(--surface-strong);border-radius:8px;place-items:center;display:grid}.settings-form{margin-top:14px}.week-scroller{background:var(--surface);border:1px solid var(--border);min-height:62px;box-shadow:var(--shadow);border-radius:8px;padding:10px}.week-scroller div{justify-items:center;gap:2px;display:grid}.week-scroller span,.muted{color:var(--muted)}.week-scroller span{font-size:.76rem;font-weight:800}.day-card{gap:12px;display:grid}.meal-slot-stack{gap:10px;display:grid}.meal-slot{border:1px solid var(--border);background:#fbfcfa;border-radius:8px;gap:8px;padding:10px;display:grid}.meal-slot__top span{font-weight:850}.planned-meal-list{gap:8px;display:grid}.planned-meal{background:var(--surface-strong);border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:10px;display:flex}.planned-meal div{gap:3px;display:grid}.planned-meal span,.planned-meal p{color:var(--muted);margin:0;font-size:.82rem}.ingredient-list,.step-list,.plain-list{margin:12px 0 0;padding-left:18px}.ingredient-list{gap:8px;padding-left:0;list-style:none;display:grid}.ingredient-list li{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding:10px 0;display:flex}.step-list{gap:10px;display:grid}.shopping-list{gap:8px;display:grid}.shopping-item{border:1px solid var(--border);background:#fbfcfa;border-radius:8px;min-height:58px;padding:10px}.shopping-item--checked{opacity:.62}.shopping-item--checked strong{text-decoration:line-through}.check-row{flex:1;gap:10px;min-width:0}.check-row input{width:20px;height:20px;accent-color:var(--primary)}.check-row span{gap:2px;min-width:0;display:grid}.check-row small{color:var(--muted)}.manual-item-form{gap:12px;display:grid}.sheet-backdrop,.dialog-backdrop{z-index:50;background:#141e1847;align-items:end;display:grid;position:fixed;inset:0}.sheet{width:min(100%,540px);max-height:min(82vh,680px);padding:8px 16px calc(18px + env(safe-area-inset-bottom));background:var(--surface);border-radius:8px 8px 0 0;margin:0 auto;overflow:auto;box-shadow:0 -18px 40px #21312638}.sheet__handle{background:var(--border);border-radius:999px;width:42px;height:5px;margin:4px auto 12px}.sheet__header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.sheet__header h2,.dialog h2{margin:0;font-size:1.12rem}.dialog-backdrop{align-items:center;padding:18px}.dialog{background:var(--surface);width:min(100%,420px);box-shadow:var(--shadow);border-radius:8px;margin:0 auto;padding:18px}.dialog p{color:var(--muted);line-height:1.5}.dialog__actions{justify-content:flex-end;gap:10px;display:flex}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=420px){.quick-grid{grid-template-columns:1fr}.repeat-row--ingredient{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 42px}.repeat-row--ingredient .field:first-child{grid-column:1/-1}.repeat-row--ingredient .repeat-row__remove{grid-area:2/3}.field-grid{grid-template-columns:1fr}}
