:root { --ink:#253229; --muted:#718078; --paper:#f7f8f4; --surface:#fff; --line:#e5e9e1; --green:#1e7852; --green-dark:#175f40; --mint:#e1f0e7; --coral:#f8e7df; --yellow:#fbf1cf; --shadow:0 12px 32px rgba(39,65,49,.08); }
/* Account, onboarding, and app views are switched with the native hidden attribute. */
[hidden] { display:none !important; }

/* Öffentliche Startseite */
.landing-screen { min-height:100vh; overflow:hidden; color:#18342c; background:radial-gradient(circle at 82% 8%,rgba(211,240,174,.78),transparent 25rem),radial-gradient(circle at 5% 20%,rgba(251,226,184,.68),transparent 24rem),#fffdf8; }
.landing-nav { width:min(1180px,calc(100% - 40px)); margin:0 auto; padding:24px 0; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.landing-brand { color:#18342c; font-size:1.23rem; font-weight:850; letter-spacing:-.04em; text-decoration:none; }
.landing-brand span { color:#4f8f42; }
.landing-nav-links { display:flex; align-items:center; gap:24px; }
.landing-nav-links a { color:#486058; font-weight:700; text-decoration:none; }
.landing-nav-links a:hover { color:#237548; }
.landing-login { border:1px solid #c6d7c9; border-radius:999px; padding:10px 16px; color:#1f6e42; background:#fffefa; font:inherit; font-weight:800; cursor:pointer; }
.landing-login:hover { border-color:#4f8f42; background:#eff8e9; }
.landing-hero { width:min(1180px,calc(100% - 40px)); min-height:560px; margin:0 auto; padding:58px 0 82px; display:grid; grid-template-columns:minmax(0,1.04fr) minmax(400px,.96fr); align-items:center; gap:64px; }
.landing-eyebrow { display:inline-flex; align-items:center; gap:8px; padding:8px 12px; color:#266a3b; background:#e9f7e5; border:1px solid #c5e9ba; border-radius:999px; font-size:.86rem; font-weight:800; }
.landing-copy h1 { max-width:690px; margin:17px 0 18px; color:#15372b; font-size:clamp(2.7rem,5.1vw,4.55rem); line-height:1.02; letter-spacing:-.065em; }
.landing-copy h1 em { color:#4a963f; font-style:normal; }
.landing-copy p { max-width:590px; margin:0; color:#536b61; font-size:1.12rem; line-height:1.65; }
.landing-actions { display:flex; flex-wrap:wrap; align-items:center; gap:15px; margin-top:30px; }
.landing-primary { border:0; border-radius:14px; padding:15px 21px; color:#fff; background:#267844; box-shadow:0 12px 24px rgba(32,112,63,.22); font:inherit; font-weight:850; cursor:pointer; }
.landing-primary:hover { background:#176437; transform:translateY(-1px); }
.landing-proof { color:#5d7169; font-size:.91rem; font-weight:700; }
.landing-proof::before { content:"✓ "; color:#35914b; font-weight:900; }
.landing-preview { position:relative; padding:18px; border:1px solid rgba(177,204,177,.86); border-radius:28px; background:rgba(255,255,252,.84); box-shadow:0 28px 58px rgba(36,92,55,.16); transform:rotate(1.6deg); }
.landing-preview::after { content:""; position:absolute; z-index:-1; inset:16px -18px -18px 18px; border-radius:28px; background:#dff0ce; transform:rotate(-4deg); }
.landing-preview-top { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:6px 5px 17px; }
.landing-preview-top strong { font-size:1.03rem; }
.landing-preview-top span { padding:6px 9px; color:#19713d; background:#e9f6e5; border-radius:8px; font-size:.77rem; font-weight:850; }
.landing-preview-days { display:grid; gap:9px; }
.landing-day { display:grid; grid-template-columns:52px 1fr auto; align-items:center; gap:10px; padding:12px; border:1px solid #e1ebe0; border-radius:13px; background:#fff; }
.landing-day b { color:#237546; font-size:.82rem; }
.landing-day strong { color:#29433a; font-size:.92rem; }
.landing-day span { color:#6a7b73; font-size:.77rem; font-weight:750; }
.landing-budget { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-top:13px; padding:15px; color:#fff; background:#2f7a47; border-radius:13px; }
.landing-budget span { opacity:.82; font-size:.86rem; font-weight:700; }
.landing-budget strong { font-size:1.08rem; }
.landing-section { width:min(1180px,calc(100% - 40px)); margin:0 auto; padding:88px 0; }
.landing-section-heading { max-width:690px; margin-bottom:34px; }
.landing-section-heading p { margin:0 0 9px; color:#3c8a46; font-size:.86rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.landing-section-heading h2 { margin:0; color:#17392d; font-size:clamp(2rem,3.5vw,3rem); line-height:1.1; letter-spacing:-.045em; }
.landing-benefits { display:grid; grid-template-columns:repeat(3,1fr); gap:17px; }
.landing-benefit { min-height:174px; padding:25px; border:1px solid #e0e9dc; border-radius:18px; background:#fff; box-shadow:0 10px 24px rgba(43,79,57,.05); }
.landing-benefit-icon { display:grid; width:42px; height:42px; place-items:center; margin-bottom:17px; color:#18713c; background:#e8f5e3; border-radius:12px; font-size:1.1rem; }
.landing-benefit h3 { margin:0 0 8px; color:#213f33; font-size:1.08rem; }
.landing-benefit p { margin:0; color:#617369; line-height:1.55; }
.landing-story-section { max-width:none; width:100%; background:#f0f8eb; }
.landing-story { width:min(1180px,calc(100% - 40px)); margin:0 auto; display:grid; grid-template-columns:.94fr 1.06fr; gap:62px; align-items:center; }
.landing-story h2 { margin:0 0 16px; color:#17392d; font-size:clamp(2rem,3.4vw,3rem); line-height:1.13; letter-spacing:-.045em; }
.landing-story > div > p { max-width:535px; margin:0; color:#587066; font-size:1.04rem; line-height:1.65; }
.landing-steps { display:grid; gap:16px; }
.landing-step { display:grid; grid-template-columns:42px 1fr; gap:14px; align-items:start; padding:18px 20px; border:1px solid #d5e7d2; border-radius:15px; background:rgba(255,255,255,.75); }
.landing-step-number { display:grid; width:34px; height:34px; place-items:center; color:#fff; background:#3f8e45; border-radius:50%; font-weight:850; }
.landing-step h3 { margin:1px 0 5px; color:#234337; font-size:1rem; }
.landing-step p { margin:0; color:#60746b; line-height:1.48; }
.landing-pricing { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; max-width:840px; }
.landing-price-card { position:relative; padding:28px; border:1px solid #dfe9dc; border-radius:20px; background:#fff; }
.landing-price-card.featured { color:#fff; border-color:#287642; background:#226b3d; box-shadow:0 18px 36px rgba(31,100,55,.22); }
.landing-price-badge { position:absolute; top:-13px; left:24px; padding:6px 10px; color:#1e6a39; background:#d9f2c9; border-radius:999px; font-size:.74rem; font-weight:900; }
.landing-price-card h3 { margin:0; font-size:1.35rem; }
.landing-price { margin:15px 0 16px; color:#235f37; font-size:2.22rem; font-weight:900; letter-spacing:-.05em; }
.landing-price span { color:#6b7e73; font-size:.95rem; font-weight:700; letter-spacing:0; }
.landing-price-card.featured .landing-price { color:#fff; }
.landing-price-card.featured .landing-price span { color:#d6eadb; }
.landing-price-card ul { display:grid; gap:10px; min-height:140px; margin:0 0 24px; padding:0; list-style:none; color:#587067; }
.landing-price-card li::before { content:"✓"; margin-right:9px; color:#34914c; font-weight:900; }
.landing-price-card.featured ul { color:#e6f2e9; }
.landing-price-card.featured li::before { color:#b9eb92; }
.landing-secondary, .landing-card-cta { display:inline-flex; justify-content:center; width:100%; box-sizing:border-box; border:1px solid #9fc3a1; border-radius:12px; padding:12px 15px; color:#24703e; background:#fff; font:inherit; font-weight:850; text-decoration:none; cursor:pointer; }
.landing-card-cta { border-color:#fff; color:#1c6539; background:#fff; }
.landing-secondary:hover { background:#eff8eb; }
.landing-faq { display:grid; grid-template-columns:repeat(2,1fr); gap:12px 18px; max-width:920px; }
.landing-faq details { padding:17px 18px; border-bottom:1px solid #dce7da; }
.landing-faq summary { color:#244438; font-weight:850; cursor:pointer; }
.landing-faq p { margin:11px 0 0; color:#60756b; line-height:1.55; }
.landing-cta { width:min(1180px,calc(100% - 40px)); margin:0 auto 72px; padding:52px 40px; text-align:center; color:#fff; background:linear-gradient(120deg,#225f39,#37864b); border-radius:25px; }
.landing-cta h2 { max-width:680px; margin:0 auto 11px; font-size:clamp(2rem,3.6vw,3.1rem); line-height:1.1; letter-spacing:-.045em; }
.landing-cta p { max-width:560px; margin:0 auto 25px; color:#dcecdf; line-height:1.58; }
.landing-cta .landing-primary { color:#1e6339; background:#fff; box-shadow:none; }
.landing-cta .landing-primary:hover { background:#eaf6e6; }
.landing-footer { width:min(1180px,calc(100% - 40px)); margin:0 auto; padding:0 0 30px; display:flex; align-items:center; justify-content:space-between; gap:18px; color:#6d8076; font-size:.9rem; }
.landing-footer div { display:flex; gap:18px; }
.landing-footer a { color:#4e675b; text-decoration:none; }
.landing-footer a:hover { color:#237445; }
@media (max-width:850px) { .landing-hero { grid-template-columns:1fr; gap:45px; padding-top:42px; } .landing-preview { max-width:530px; width:100%; margin:0 auto; box-sizing:border-box; transform:none; } .landing-story { grid-template-columns:1fr; gap:35px; } .landing-benefits { grid-template-columns:1fr; } }
@media (max-width:600px) { .landing-nav { width:min(100% - 28px,1180px); padding:18px 0; } .landing-nav-links { display:none; } .landing-hero,.landing-section,.landing-story,.landing-cta,.landing-footer { width:min(100% - 28px,1180px); } .landing-hero { min-height:0; padding:39px 0 62px; } .landing-copy h1 { font-size:2.65rem; } .landing-copy p { font-size:1rem; } .landing-day { grid-template-columns:44px 1fr; } .landing-day span { display:none; } .landing-section { padding:63px 0; } .landing-pricing,.landing-faq { grid-template-columns:1fr; } .landing-price-card ul { min-height:0; } .landing-cta { box-sizing:border-box; margin-bottom:46px; padding:42px 23px; } .landing-footer { flex-direction:column; align-items:flex-start; padding-bottom:24px; } }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; min-width:320px; background:var(--paper); color:var(--ink); font-family:"DM Sans",Arial,sans-serif; }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; }
.app-shell { min-height:100vh; display:grid; grid-template-columns:247px minmax(0,1fr); }
.sidebar { background:#fff; padding:31px 18px; border-right:1px solid var(--line); display:flex; flex-direction:column; min-height:100vh; position:sticky; top:0; height:100vh; }
.brand { display:inline-flex; align-items:center; gap:10px; font:700 23px/1 "Fraunces",Georgia,serif; color:var(--ink); text-decoration:none; padding:0 12px; letter-spacing:-1px; }
.brand span span { color:var(--green); }
.brand-mark { display:grid; place-items:center; width:28px; height:28px; border-radius:9px; background:var(--green); color:#fff; font:600 18px/1 Arial; transform:rotate(14deg); }
.nav-list { margin-top:53px; display:grid; gap:6px; }
.nav-item { position:relative; display:flex; align-items:center; gap:14px; color:#66736b; text-decoration:none; padding:13px 13px; border-radius:10px; font-size:15px; font-weight:600; }
.nav-item > span { width:18px; text-align:center; font-size:19px; color:#829188; }
.nav-item.active { background:var(--mint); color:var(--green-dark); }
.nav-item.active > span { color:var(--green); }
.nav-item b { margin-left:auto; min-width:21px; padding:2px 6px; border-radius:20px; background:#f4eee7; color:#947450; text-align:center; font-size:11px; }
.sidebar-note { margin-top:auto; padding:18px; background:#f5f7ef; border-radius:13px; color:#607067; }
.sidebar-note span { font-size:22px; }.sidebar-note p { margin:8px 0 0; font-size:13px; line-height:1.45; }.sidebar-note strong { color:var(--ink); }
.main-content { width:min(1250px,100%); margin:0 auto; padding:47px 55px 65px; }
.mobile-header { display:none; }.page { display:none; animation:rise .35s ease-out; }.page.active { display:block; } @keyframes rise { from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none} }
.topbar { display:flex; justify-content:space-between; gap:24px; align-items:center; margin-bottom:34px; }.topbar.compact { margin-bottom:25px; }
.eyebrow { margin:0 0 8px; color:var(--green); font-size:11px; font-weight:700; letter-spacing:1.25px; }.topbar h1 { margin:0; font:600 clamp(29px,3.3vw,42px)/1.08 "Fraunces",Georgia,serif; letter-spacing:-1.5px; }.subtle { color:var(--muted); margin:10px 0 0; font-size:15px; line-height:1.5; }
.button { border:0; border-radius:10px; padding:12px 17px; background:var(--green); color:#fff; box-shadow:0 5px 12px rgba(30,120,82,.18); font-size:14px; font-weight:700; transition:.2s transform,.2s background; }.button:hover { background:var(--green-dark); transform:translateY(-1px); }.button-secondary { background:#fff; color:var(--green-dark); box-shadow:none; border:1px solid #d8e1d7; }.button-secondary:hover { background:#f5faf5; }.button-large { padding:14px 21px; font-size:15px; }.text-button { border:0; color:var(--green); background:none; font-weight:700; font-size:13px; }.header-actions,.dashboard-actions { display:flex; align-items:center; gap:10px; }.install-button { background:#ecf6ed; }
.overview-grid { display:grid; grid-template-columns:1.33fr 1fr 1fr; gap:16px; margin-bottom:43px; }.budget-card,.stat-card { min-height:128px; padding:22px; background:#fff; border:1px solid var(--line); border-radius:14px; box-shadow:0 4px 14px rgba(36,59,44,.025); display:flex; gap:15px; align-items:flex-start; position:relative; overflow:hidden; }.budget-card { background:#edf7ef; border-color:#d9ebdc; }.card-icon { flex:none; display:grid; place-items:center; width:37px; height:37px; border-radius:11px; background:#d1ead9; color:var(--green); font-weight:700; font-size:18px; }.card-icon.coral { background:var(--coral); color:#c66f52; }.card-icon.yellow { background:var(--yellow); color:#b18d36; }.overview-grid p { margin:1px 0 6px; font-size:12px; color:#6f8175; }.overview-grid strong { display:block; font:700 25px/1.05 "Fraunces",Georgia,serif; letter-spacing:-.5px; }.overview-grid span { color:#6f8175; font-size:11px; }.budget-meter { position:absolute; left:22px; bottom:18px; right:22px; height:5px; overflow:hidden; background:#d4e6d7; border-radius:10px; }.budget-meter i { display:block; height:100%; max-width:100%; background:var(--green); border-radius:inherit; transition:width .4s; }
.section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:17px; }.section-heading h2,.form-section h2 { margin:0; font:600 25px/1.2 "Fraunces",Georgia,serif; letter-spacing:-.6px; }.section-heading p { margin:5px 0 0; color:var(--muted); font-size:13px; }
.meal-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:11px; }.meal-card { min-width:0; overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:14px; box-shadow:0 3px 10px rgba(34,53,40,.02); transition:.2s transform,.2s box-shadow; }.meal-card:hover { transform:translateY(-3px); box-shadow:var(--shadow); }.meal-image { height:104px; display:grid; place-items:center; font-size:48px; position:relative; overflow:hidden; }.meal-image::after { content:""; position:absolute; width:90px; height:90px; border:11px solid rgba(255,255,255,.48); border-radius:50%; }.meal-card:nth-child(3n+1) .meal-image{background:#e8f0df}.meal-card:nth-child(3n+2) .meal-image{background:#f8e8dc}.meal-card:nth-child(3n) .meal-image{background:#f9f1cd}.meal-image span { z-index:1; filter:drop-shadow(0 2px 1px rgba(0,0,0,.07)); }.meal-info { padding:12px 12px 13px; }.meal-day { display:block; margin-bottom:7px; color:var(--green); text-transform:uppercase; letter-spacing:.8px; font-size:10px; font-weight:700; }.meal-info h3 { margin:0; font-size:14px; line-height:1.25; min-height:53px; }.meal-info p { color:#7b8980; font-size:11px; margin:8px 0 10px; }.meal-tags { display:flex; flex-wrap:wrap; gap:4px; }.tag { padding:4px 6px; background:#f3f6f1; border-radius:5px; color:#5c7263; font-size:9px; font-weight:700; }.tag.meat { color:#a35b46; background:#fcf0eb; }.recipe-link { margin-top:11px; border:0; border-bottom:1px solid #8ebca2; padding:0 0 2px; background:none; color:var(--green); font-size:11px; font-weight:700; }
.tip-card { margin-top:31px; padding:18px 21px; display:flex; gap:15px; border-radius:13px; background:#fff6e1; color:#6d5930; }.tip-card .eyebrow { color:#a8842e; margin:1px 0 4px; }.tip-card p:last-child { margin:0; font-size:13px; line-height:1.45; }.tip-icon { display:grid; place-items:center; flex:none; width:34px; height:34px; border-radius:50%; background:#f8e6ad; color:#a8842e; }
.shopping-summary { display:flex; gap:12px; margin:-10px 0 28px; }.summary-pill { padding:8px 12px; background:#ebf6ed; color:#497257; border-radius:100px; font-size:12px; font-weight:600; }.summary-pill strong { color:var(--green); }.shopping-layout { display:grid; grid-template-columns:minmax(0,1fr) 270px; gap:25px; align-items:start; }.shopping-list { display:grid; gap:15px; }.grocery-group { background:#fff; border:1px solid var(--line); border-radius:13px; overflow:hidden; }.grocery-group h2 { margin:0; padding:14px 19px; background:#fbfcfa; border-bottom:1px solid var(--line); font:600 16px "Fraunces",Georgia,serif; }.grocery-group h2 span { margin-right:8px; font-family:Arial,sans-serif; }.grocery-items { padding:3px 18px; }.grocery-item { display:flex; align-items:center; gap:12px; padding:12px 1px; border-bottom:1px solid #edf0eb; }.grocery-item:last-child { border:0; }.grocery-item input { appearance:none; width:18px; height:18px; margin:0; flex:none; border:1.5px solid #bdcabf; border-radius:5px; display:grid; place-content:center; }.grocery-item input::before { content:"✓"; color:#fff; font-size:12px; font-weight:700; transform:scale(0); }.grocery-item input:checked { border-color:var(--green); background:var(--green); }.grocery-item input:checked::before { transform:scale(1); }.grocery-item label { flex:1; font-size:14px; cursor:pointer; }.grocery-item label.done { text-decoration:line-through; color:#98a29b; }.grocery-item span { color:#627269; font-size:13px; font-weight:600; }.market-note { padding:22px; background:#eff6ec; border-radius:13px; }.market-note > span { font-size:24px; }.market-note h3 { margin:12px 0 8px; font:600 19px/1.25 "Fraunces",Georgia,serif; }.market-note h3 span { color:var(--green); }.market-note p { margin:0 0 15px; color:#637269; font-size:13px; line-height:1.55; }.text-link { color:var(--green); font-size:13px; font-weight:700; text-decoration:none; }
.pantry-add-card { padding:24px; border:1px solid #dce8db; border-radius:14px; background:#f0f7ef; display:flex; align-items:center; justify-content:space-between; gap:25px; }.pantry-add-card h3 { margin:0; font:600 21px "Fraunces",Georgia,serif; }.pantry-add-card p { margin:5px 0 0; color:#708077; font-size:13px; }.pantry-form { display:flex; gap:9px; flex:1; max-width:470px; }.pantry-form input { flex:1; }.pantry-suggestions { display:flex; align-items:center; gap:10px; margin:24px 0 15px; }.pantry-suggestions p { margin:0; color:#78867e; font-size:13px; }.pantry-suggestions div { display:flex; flex-wrap:wrap; gap:7px; }.suggestion { border:1px solid #dce4dc; padding:6px 10px; border-radius:20px; color:#607168; background:#fff; font-size:12px; }.suggestion:hover { border-color:#9dbba6; color:var(--green); }.pantry-list { display:flex; flex-wrap:wrap; gap:10px; }.pantry-item { display:flex; align-items:center; gap:7px; padding:10px 11px 10px 14px; background:#fff; border:1px solid var(--line); border-radius:9px; font-size:14px; box-shadow:0 2px 5px rgba(0,0,0,.02); }.pantry-item button { border:0; width:20px; height:20px; border-radius:50%; background:#f4e8e3; color:#aa6854; font-size:16px; line-height:1; }.empty-state { margin:28px 0; padding:28px; text-align:center; color:#849088; background:#fff; border:1px dashed #d4ddd2; border-radius:12px; }
.preferences-form { max-width:850px; }.form-section { padding:27px 0; border-top:1px solid var(--line); }.form-section:first-child { border-top:0; padding-top:0; }.form-section h2 { margin-bottom:19px; }.field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 22px; }.field-grid.split { max-width:650px; }.preferences-form label { position:relative; display:grid; gap:7px; color:#536259; font-size:13px; font-weight:700; }.preferences-form input:not([type="radio"]),.preferences-form select,.preferences-form textarea { width:100%; border:1px solid #d8e0d7; border-radius:8px; padding:11px 13px; color:var(--ink); background:#fff; outline:0; font-weight:500; }.preferences-form input:focus,.preferences-form select:focus,.preferences-form textarea:focus,.pantry-form input:focus { border-color:#70a187; box-shadow:0 0 0 3px rgba(59,136,89,.12); }.preferences-form textarea { resize:vertical; }.preferences-form small { color:#849088; font-size:11px; font-weight:400; }.input-suffix { position:absolute; right:13px; bottom:11px; color:#65746b; }.stepper { display:flex; overflow:hidden; width:120px; height:43px; border:1px solid #d8e0d7; border-radius:8px; background:#fff; }.stepper button { width:40px; border:0; background:#f7f9f6; color:var(--green); font-size:20px; }.stepper output { flex:1; display:grid; place-items:center; font-size:15px; font-weight:700; }.choice-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; }.choice { min-height:128px; display:flex!important; flex-direction:column; align-items:flex-start; gap:5px!important; padding:17px; border:1px solid #dce4dc; border-radius:11px; background:#fff; cursor:pointer; transition:.2s; }.choice input { position:absolute; opacity:0; }.choice:has(input:checked) { border-color:#68a67e; background:#f1f8f2; box-shadow:inset 0 0 0 1px #68a67e; }.choice > span { color:var(--green); font-size:21px; }.choice strong { color:var(--ink); font-size:15px; }.choice small { font-size:12px!important; }.wide-label { max-width:650px; margin-top:20px; }.save-row { margin-top:5px; padding-top:23px; border-top:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:15px; }.save-row p { margin:0; color:var(--green); font-size:13px; font-weight:600; }
.modal-backdrop { position:fixed; z-index:10; inset:0; padding:24px; display:grid; place-items:center; background:rgba(31,48,37,.48); backdrop-filter:blur(3px); }.modal-backdrop[hidden] { display:none; }.recipe-modal { width:min(760px,100%); max-height:min(800px,calc(100vh - 48px)); overflow:auto; position:relative; background:#fff; border-radius:17px; box-shadow:0 22px 65px rgba(0,0,0,.23); }.modal-close { position:absolute; z-index:1; top:14px; right:14px; display:grid; place-items:center; width:35px; height:35px; border:0; border-radius:50%; background:rgba(255,255,255,.92); color:#536259; font-size:25px; }.recipe-modal-hero { height:154px; display:grid; place-items:center; background:#e5f0df; font-size:76px; }.recipe-modal-body { padding:27px 32px 34px; }.recipe-modal-body h2 { margin:0; font:600 31px/1.15 "Fraunces",Georgia,serif; }.recipe-facts { display:flex; flex-wrap:wrap; gap:8px; margin:18px 0 23px; }.recipe-facts span { padding:6px 10px; background:#f0f5ef; color:#557061; border-radius:20px; font-size:12px; font-weight:700; }.recipe-columns { display:grid; grid-template-columns:1fr 1.25fr; gap:33px; border-top:1px solid var(--line); padding-top:22px; }.recipe-columns h3 { margin:0 0 11px; font:600 19px "Fraunces",Georgia,serif; }.recipe-columns ul,.recipe-columns ol { margin:0; padding-left:20px; color:#57665d; font-size:13px; line-height:1.6; }.recipe-columns li+li { margin-top:6px; }
.toast { position:fixed; z-index:20; bottom:24px; left:50%; transform:translate(-50%,90px); padding:12px 16px; border-radius:8px; background:#2d4235; color:#fff; box-shadow:0 8px 18px rgba(0,0,0,.18); font-size:13px; opacity:0; transition:.25s; }.toast.show { transform:translate(-50%,0); opacity:1; }
.feedback-card { max-width:850px; margin-top:38px; padding:28px; border:1px solid #d8e8da; border-radius:15px; background:#f1f8f1; }.feedback-card h2 { margin:5px 0 8px; font:600 25px/1.2 "Fraunces",Georgia,serif; letter-spacing:-.6px; }.feedback-card > div > p:not(.eyebrow) { max-width:580px; margin:0; color:#66786d; font-size:13px; line-height:1.55; }.feedback-form { display:grid; gap:18px; margin-top:23px; }.feedback-form label { position:relative; display:grid; gap:7px; color:#536259; font-size:13px; font-weight:700; }.feedback-form select,.feedback-form textarea { width:100%; border:1px solid #d8e0d7; border-radius:8px; padding:11px 13px; color:var(--ink); background:#fff; outline:0; font:500 14px Arial,sans-serif; }.feedback-form textarea { resize:vertical; }.feedback-form select:focus,.feedback-form textarea:focus { border-color:#70a187; box-shadow:0 0 0 3px rgba(59,136,89,.12); }.feedback-form small { color:#75847b; font-size:11px; font-weight:400; }.feedback-actions { display:flex; align-items:center; gap:14px; }.feedback-actions p { margin:0; color:var(--green); font-size:13px; font-weight:700; }
.account-screen { min-height:100vh; display:grid; place-items:center; padding:28px 18px; background:radial-gradient(circle at 15% 15%,#e4f1e5 0,transparent 34%),radial-gradient(circle at 88% 82%,#f9eadb 0,transparent 30%),#f7f9f5; }.account-card { width:min(100%,660px); padding:clamp(26px,5vw,48px); border:1px solid #dce7da; border-radius:22px; background:rgba(255,255,255,.94); box-shadow:0 18px 55px rgba(45,78,54,.12); }.account-brand { display:inline-flex; margin-bottom:35px; padding:0; color:var(--ink); }.account-card h1 { max-width:520px; margin:7px 0 12px; font:600 clamp(32px,5vw,48px)/1.08 "Fraunces",Georgia,serif; letter-spacing:-1.1px; }.account-card > .subtle { max-width:540px; margin:0 0 25px; font-size:15px; line-height:1.55; }.auth-tabs { display:grid; grid-template-columns:1fr 1fr; gap:4px; margin:0 0 22px; padding:4px; border-radius:10px; background:#eef3ed; }.auth-tab { border:0; border-radius:7px; padding:10px; color:#617267; background:transparent; font-weight:700; }.auth-tab.active { color:var(--green-dark); background:#fff; box-shadow:0 1px 4px rgba(38,71,47,.12); }.auth-form,.onboarding-form { display:grid; gap:15px; }.auth-form label,.onboarding-form label { position:relative; display:grid; gap:7px; color:#536259; font-size:13px; font-weight:700; }.auth-form input:not([type="checkbox"]),.onboarding-form input:not([type="checkbox"]),.onboarding-form select,.onboarding-form textarea { width:100%; border:1px solid #d8e0d7; border-radius:8px; padding:11px 13px; color:var(--ink); background:#fff; outline:0; font-weight:500; }.auth-form input:focus,.onboarding-form input:focus,.onboarding-form select:focus,.onboarding-form textarea:focus { border-color:#70a187; box-shadow:0 0 0 3px rgba(59,136,89,.12); }.auth-form small,.onboarding-form small { color:#849088; font-size:11px; font-weight:400; }.auth-form .button,.onboarding-form .button { justify-self:start; margin-top:5px; }.consent-row { display:flex!important; grid-template-columns:auto 1fr; align-items:flex-start; gap:9px!important; font-weight:500!important; line-height:1.4; }.consent-row input { margin:2px 0 0; accent-color:var(--green); }.consent-row a { color:var(--green); }.auth-status { min-height:20px; margin:2px 0 0; color:#a45740; font-size:13px; font-weight:600; line-height:1.45; }.auth-status.success { color:var(--green); }.auth-note { margin:22px 0 0; color:#77867d; font-size:12px; line-height:1.5; }.onboarding-card { width:min(100%,780px); }.onboarding-form .wide-label { margin-top:2px; }.signout-button { margin-top:auto; border:1px solid #d7e2d6; border-radius:8px; padding:9px 10px; color:#547060; background:#f8fbf7; font-size:12px; font-weight:700; text-align:left; }.signout-button:hover { color:#1e7852; border-color:#a9c9b0; }
.site-footer { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:48px; padding-top:20px; border-top:1px solid var(--line); color:#7a877e; font-size:12px; }.site-footer p { margin:0; }.site-footer strong { color:#516459; }.site-footer div { display:flex; align-items:center; gap:14px; }.site-footer a { color:#557567; text-decoration:none; font-weight:700; }.site-footer span { padding:4px 7px; border-radius:9px; background:#edf5ed; color:#4d765b; font-size:11px; font-weight:700; }
.legal-shell { width:min(840px,100%); margin:0 auto; padding:42px 28px 60px; }.legal-header { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:38px; }.legal-header .brand { padding:0; }.legal-header a:last-child { color:var(--green); font-size:13px; font-weight:700; text-decoration:none; }.legal-document { padding:clamp(24px,5vw,48px); border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:var(--shadow); }.legal-document h1 { margin:0; font:600 clamp(30px,5vw,42px)/1.1 "Fraunces",Georgia,serif; letter-spacing:-1px; }.legal-document h2 { margin:32px 0 10px; font:600 22px "Fraunces",Georgia,serif; }.legal-document p,.legal-document li { color:#5f6c64; font-size:14px; line-height:1.65; }.legal-document ul { padding-left:20px; }.legal-document .subtle { margin:9px 0 0; }.legal-alert { margin:26px 0; padding:16px 18px; border-left:4px solid #d1953b; border-radius:8px; background:#fff7df; color:#705a2a; font-size:13px; line-height:1.5; }.placeholder { display:inline-block; padding:1px 5px; border-radius:3px; background:#fff0cf; color:#765e2e; font-weight:700; }.legal-footer { margin-top:26px; color:#879188; font-size:12px; }
@media (max-width:1050px) { .main-content { padding:38px 31px; }.meal-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }.meal-card:nth-child(n+5) { margin-top:3px; }.overview-grid { grid-template-columns:1.35fr 1fr; }.overview-grid .stat-card:last-child { display:none; } }
@media (max-width:760px) { .account-screen { padding:18px 14px; align-items:start; }.account-card { padding:26px 21px; border-radius:16px; }.account-brand { margin-bottom:28px; }.account-card h1 { font-size:34px; }.auth-form .button,.onboarding-form .button { width:100%; }.app-shell { display:block; }.sidebar { display:none; position:fixed; z-index:30; inset:62px 0 0; height:auto; min-height:0; padding:18px; }.sidebar.open { display:flex; }.sidebar .brand { display:none; }.sidebar-note { margin-top:20px; }.mobile-header { height:62px; padding:0 17px; display:flex; align-items:center; justify-content:space-between; background:#fff; border-bottom:1px solid var(--line); }.mobile-header .brand { padding:0; font-size:21px; }.mobile-header .brand-mark { width:25px; height:25px; }.icon-button { border:0; padding:7px; border-radius:7px; color:var(--green); background:#edf5ed; font-size:20px; }.main-content { padding:28px 17px 42px; }.topbar { align-items:flex-start; flex-direction:column; margin-bottom:25px; }.topbar h1 { font-size:31px; }.topbar .button { align-self:stretch; }.header-actions,.dashboard-actions { width:100%; }.header-actions .button,.dashboard-actions .button { flex:1; padding:10px; }.overview-grid { grid-template-columns:1fr; gap:10px; margin-bottom:31px; }.overview-grid .stat-card:last-child { display:flex; }.budget-card,.stat-card { min-height:100px; }.meal-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }.meal-image { height:93px; }.meal-info h3 { min-height:36px; }.section-heading { align-items:flex-start; }.section-heading .text-button { margin-top:7px; white-space:nowrap; }.shopping-layout { grid-template-columns:1fr; }.market-note { display:none; }.shopping-summary { flex-wrap:wrap; }.pantry-add-card { align-items:stretch; flex-direction:column; }.pantry-form { max-width:none; }.field-grid,.choice-grid { grid-template-columns:1fr; }.choice { min-height:100px; }.recipe-modal-body { padding:22px; }.recipe-columns { grid-template-columns:1fr; gap:20px; }.recipe-modal-hero { height:120px; }.recipe-modal-body h2 { font-size:27px; }.site-footer { align-items:flex-start; flex-direction:column; margin-top:35px; }.site-footer div { flex-wrap:wrap; } }
@media print { .sidebar,.mobile-header,.button,.text-button,.tip-card,.market-note,.modal-backdrop { display:none!important; }.app-shell { display:block; }.main-content { padding:0; }.page { display:none!important; }.page.active { display:block!important; }.meal-grid { grid-template-columns:repeat(4,1fr); }.meal-card { break-inside:avoid; }.overview-grid { grid-template-columns:repeat(3,1fr); }.shopping-layout { display:block; }.grocery-group { break-inside:avoid; margin-bottom:10px; } }
.feature-chip,.nav-premium { display:inline-block; margin-left:4px; padding:2px 6px; border-radius:999px; background:#f8e9bb; color:#87681f; font:700 10px Arial,sans-serif; letter-spacing:.15px; vertical-align:middle; white-space:nowrap; }.feature-chip.light { color:#755b1c; background:#fff1be; }.nav-premium { margin-left:auto; font-style:normal; font-size:9px; }.premium-inline-note { margin:15px 0 0; padding:10px 12px; border-left:3px solid #d0a544; border-radius:6px; background:#fff8e7; color:#76612b; font-size:12px; line-height:1.45; }.premium-lock-card { display:flex; gap:20px; align-items:flex-start; max-width:780px; padding:28px; border:1px solid #ead69b; border-radius:16px; background:linear-gradient(135deg,#fff9e9,#f2f8ef); }.premium-lock-card > span { display:grid; flex:none; place-items:center; width:48px; height:48px; border-radius:14px; background:#f5e6b6; color:#87671e; font-size:24px; }.premium-lock-card h2 { margin:3px 0 8px; font:600 25px/1.2 "Fraunces",Georgia,serif; }.premium-lock-card p:not(.eyebrow) { max-width:580px; margin:0 0 17px; color:#687467; font-size:14px; line-height:1.55; }.premium-hero { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:25px; align-items:center; padding:30px; border:1px solid #e7d393; border-radius:18px; background:linear-gradient(135deg,#fff9e7,#f0f8ed); }.premium-hero h2 { margin:2px 0 8px; font:600 29px/1.15 "Fraunces",Georgia,serif; }.premium-hero p:not(.eyebrow) { max-width:620px; margin:0; color:#687467; font-size:14px; line-height:1.55; }.premium-price { min-width:135px; padding:13px 17px; border-radius:13px; background:#fff; text-align:center; box-shadow:0 3px 10px rgba(89,79,30,.07); }.premium-price strong { display:block; color:var(--green-dark); font:600 27px "Fraunces",Georgia,serif; }.premium-price span,.premium-price small { display:block; color:#687767; font-size:12px; }.premium-price small { margin-top:7px; color:#927431; }.premium-hero .button { grid-column:1/-1; justify-self:start; }.premium-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; margin-top:22px; }.premium-feature { min-height:195px; padding:21px; border:1px solid var(--line); border-radius:14px; background:#fff; }.premium-feature > span { display:grid; place-items:center; width:37px; height:37px; border-radius:11px; background:#e8f2e8; color:var(--green); font-size:19px; }.premium-feature h2 { margin:14px 0 7px; font:600 20px "Fraunces",Georgia,serif; }.premium-feature p { margin:0; color:#6b796f; font-size:13px; line-height:1.52; }.premium-feature b { display:inline-block; margin-top:15px; color:#5e8068; font-size:11px; }.premium-feature.upcoming { background:#fafafa; }.premium-feature.upcoming > span { background:#f5ebcf; color:#9b7b27; }.premium-feature.upcoming b { color:#927431; }.premium-disclosure { max-width:820px; margin:21px 0 0; color:#78827c; font-size:12px; line-height:1.5; }
@media (max-width:760px) { .premium-hero { grid-template-columns:1fr; gap:16px; padding:22px; }.premium-hero .button { width:100%; }.premium-price { justify-self:start; }.premium-grid { grid-template-columns:1fr; }.premium-lock-card { padding:22px; gap:14px; }.premium-lock-card h2 { font-size:23px; } }
.leftover-hint { margin:9px 0 0!important; padding:7px 8px; border-radius:7px; background:#f5f8e9; color:#6f743a!important; font-size:10px!important; line-height:1.35; }.offer-form { margin-top:17px; }.offer-empty { width:100%; margin:5px 0 0; font-size:13px; }
.premium-actions { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:10px; }.premium-actions .button { margin:0; }.admin-feedback-list { display:grid; gap:10px; margin-top:22px; }.admin-feedback-item { padding:14px; border:1px solid #dce7dc; border-radius:10px; background:#fff; }.admin-feedback-item p { margin:7px 0 0; color:#59695e; font-size:13px; line-height:1.45; }.admin-feedback-item small { color:#77867d; font-size:11px; }.admin-feedback-item b { color:var(--green-dark); font-size:12px; }

/* Öffentliche Startseite: Zuordnung für den klaren Produkt- und Preispfad */
.landing-nav > nav { display:flex; align-items:center; gap:24px; }.landing-nav > nav a { color:#486058; font-weight:700; text-decoration:none; }.landing-nav > nav a:hover { color:#237548; }
.landing-hero-copy h1 { max-width:690px; margin:17px 0 18px; color:#15372b; font-size:clamp(2.7rem,5.1vw,4.55rem); line-height:1.02; letter-spacing:-.065em; }.landing-hero-copy h1 em,.landing-story h2 em,.landing-premium h2 em,.landing-final h2 em { color:#4a963f; font-style:normal; }.landing-lead { max-width:590px; margin:0; color:#536b61; font-size:1.12rem; line-height:1.65; }.landing-link { color:#277043; font-weight:850; text-decoration:none; }.landing-link:hover { color:#174f2f; }.landing-trust { display:flex; flex-wrap:wrap; gap:8px; margin:20px 0 0; color:#5d7169; font-size:.89rem; font-weight:700; }.landing-trust span { color:#35914b; font-weight:900; }
.landing-plan-card { position:relative; padding:21px; border:1px solid rgba(177,204,177,.86); border-radius:28px; background:rgba(255,255,252,.9); box-shadow:0 28px 58px rgba(36,92,55,.16); transform:rotate(1.6deg); }.landing-plan-card::after { content:""; position:absolute; z-index:-1; inset:16px -18px -18px 18px; border-radius:28px; background:#dff0ce; transform:rotate(-4deg); }.landing-card-head { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:4px 2px 16px; }.landing-card-head p { margin:0 0 4px; color:#6b8073; font-size:.68rem; font-weight:900; letter-spacing:.08em; }.landing-card-head strong { color:#29433a; font-size:1.03rem; }.landing-avatar { display:grid; place-items:center; width:39px; height:39px; border-radius:50%; background:#e7f4e2; }.landing-plan-card .landing-budget { display:grid; grid-template-columns:1fr auto; gap:3px 12px; margin:0 0 12px; padding:14px; border-radius:13px; color:#fff; background:#2f7a47; }.landing-plan-card .landing-budget span { font-size:.82rem; font-weight:700; opacity:.84; }.landing-plan-card .landing-budget strong { grid-column:2; grid-row:1; font-size:1.04rem; }.landing-plan-card .landing-budget small { font-size:.72rem; font-weight:650; opacity:.82; }.landing-plan-card .landing-budget i { grid-column:1/-1; height:5px; overflow:hidden; border-radius:999px; background:rgba(255,255,255,.25); }.landing-plan-card .landing-budget i b { display:block; width:70%; height:100%; border-radius:inherit; background:#d6efa9; }.landing-days { display:grid; gap:9px; margin:0; padding:0; list-style:none; }.landing-days li { display:grid; grid-template-columns:34px 1fr auto; align-items:center; gap:10px; padding:11px; border:1px solid #e1ebe0; border-radius:13px; background:#fff; }.landing-days li > span { color:#237546; font-size:.76rem; font-weight:900; }.landing-days strong { display:block; color:#29433a; font-size:.91rem; }.landing-days small { display:block; margin-top:3px; color:#6a7b73; font-size:.73rem; font-weight:700; }.landing-days em { font-style:normal; }.landing-card-foot { display:flex; align-items:center; flex-wrap:wrap; gap:7px; margin-top:12px; color:#5d7468; font-size:.75rem; font-weight:700; }.landing-card-foot > span { color:#337d45; }.landing-card-foot b { margin-left:auto; color:#237546; }
.landing-benefits > article { min-height:174px; padding:25px; border:1px solid #e0e9dc; border-radius:18px; background:#fff; box-shadow:0 10px 24px rgba(43,79,57,.05); }.landing-benefits > article > span { display:grid; width:42px; height:42px; place-items:center; margin-bottom:17px; color:#18713c; background:#e8f5e3; border-radius:12px; font-size:1.1rem; }.landing-benefits > article h2 { margin:0 0 8px; color:#213f33; font-size:1.08rem; }.landing-benefits > article p { margin:0; color:#617369; line-height:1.55; }
.landing-story { max-width:none; width:100%; box-sizing:border-box; padding:88px max(20px,calc((100% - 1180px)/2)); background:#f0f8eb; }.landing-story h2 { margin:0 0 16px; color:#17392d; font-size:clamp(2rem,3.4vw,3rem); line-height:1.13; letter-spacing:-.045em; }.landing-story > div > p:not(.eyebrow) { max-width:535px; margin:0; color:#587066; font-size:1.04rem; line-height:1.65; }.landing-steps { margin:0; padding:0; list-style:none; }.landing-steps li { display:grid; grid-template-columns:42px 1fr; gap:14px; align-items:start; padding:18px 20px; border:1px solid #d5e7d2; border-radius:15px; background:rgba(255,255,255,.75); }.landing-steps li + li { margin-top:16px; }.landing-steps li > b { display:grid; width:34px; height:34px; place-items:center; color:#fff; background:#3f8e45; border-radius:50%; font-weight:850; }.landing-steps strong { display:block; margin:1px 0 5px; color:#234337; font-size:1rem; }.landing-steps span { color:#60746b; line-height:1.48; }
.landing-premium { display:grid; grid-template-columns:.93fr 1.07fr; gap:55px; align-items:center; }.landing-premium-copy h2 { margin:8px 0 15px; color:#17392d; font-size:clamp(2rem,3.4vw,3rem); line-height:1.13; letter-spacing:-.045em; }.landing-premium-copy > p:not(.eyebrow) { max-width:510px; margin:0 0 23px; color:#587066; line-height:1.65; }.landing-price-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }.landing-price-grid article { padding:25px; border:1px solid #dfe9dc; border-radius:20px; background:#fff; }.landing-price-grid article.featured { color:#fff; border-color:#287642; background:#226b3d; box-shadow:0 18px 36px rgba(31,100,55,.22); }.landing-price-grid .price-label { margin:0 0 13px; color:#4a8551; font-size:.7rem; font-weight:900; letter-spacing:.09em; }.landing-price-grid article.featured .price-label { color:#bde5a3; }.landing-price-grid h3 { margin:0; color:#29483a; font-size:1.12rem; }.landing-price-grid article.featured h3 { color:#fff; }.landing-price-grid > article > strong { display:block; margin:14px 0 2px; color:#235f37; font-size:2.15rem; letter-spacing:-.05em; }.landing-price-grid > article.featured > strong { color:#fff; }.landing-price-grid > article > span { display:block; min-height:32px; color:#6b7e73; font-size:.84rem; font-weight:700; }.landing-price-grid > article.featured > span { color:#d6eadb; }.landing-price-grid ul { display:grid; gap:9px; margin:17px 0 0; padding:0; list-style:none; color:#587067; font-size:.88rem; line-height:1.35; }.landing-price-grid li::before { content:"✓"; margin-right:8px; color:#34914c; font-weight:900; }.landing-price-grid article.featured ul { color:#e6f2e9; }.landing-price-grid article.featured li::before { color:#b9eb92; }
.landing-faq { width:min(920px,100%); }.landing-faq > .eyebrow,.landing-faq > h2 { display:none; }.landing-faq details { padding:17px 18px; border-bottom:1px solid #dce7da; }.landing-faq summary { color:#244438; font-weight:850; cursor:pointer; }.landing-faq p { margin:11px 0 0; color:#60756b; line-height:1.55; }.landing-final { width:min(1180px,calc(100% - 40px)); box-sizing:border-box; margin:0 auto 72px; padding:52px 40px; text-align:center; color:#fff; background:linear-gradient(120deg,#225f39,#37864b); border-radius:25px; }.landing-final .eyebrow { color:#cce8cf; }.landing-final h2 { max-width:680px; margin:0 auto 11px; font-size:clamp(2rem,3.6vw,3.1rem); line-height:1.1; letter-spacing:-.045em; }.landing-final h2 em { color:#d5f1a8; }.landing-final > p:last-child { max-width:560px; margin:16px auto 0; color:#dcecdf; line-height:1.58; }.landing-final .button { color:#1e6339; background:#fff; box-shadow:none; }.landing-final .button:hover { background:#eaf6e6; }
@media (max-width:850px) { .landing-plan-card { max-width:530px; width:100%; margin:0 auto; box-sizing:border-box; transform:none; }.landing-premium { grid-template-columns:1fr; gap:35px; } }
@media (max-width:600px) { .landing-nav > nav { display:none; }.landing-hero-copy h1 { font-size:2.65rem; }.landing-lead { font-size:1rem; }.landing-trust { font-size:.81rem; }.landing-plan-card { padding:16px; }.landing-story { padding:63px 14px; }.landing-price-grid { grid-template-columns:1fr; }.landing-final { width:calc(100% - 28px); margin-bottom:46px; padding:42px 23px; }.landing-footer { width:calc(100% - 28px); } }

.admin-usage-card { margin-top:22px; }.admin-usage-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:20px; }.admin-usage-metric { min-height:95px; padding:15px; border:1px solid #dce8dc; border-radius:11px; background:#fdfefd; }.admin-usage-metric p { margin:0 0 7px; color:#738278; font-size:11px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }.admin-usage-metric strong { display:block; color:var(--green-dark); font:600 28px/1 "Fraunces",Georgia,serif; }.admin-usage-metric span { display:block; margin-top:7px; color:#617268; font-size:12px; line-height:1.35; }.admin-usage-metric.goals { grid-column:span 2; }.admin-usage-metric.goals strong { font:600 18px/1.32 "Fraunces",Georgia,serif; }.admin-usage-empty { margin:18px 0 0; color:#78857d; font-size:13px; }.admin-usage-note { margin:12px 0 0; color:#78857d; font-size:12px; line-height:1.45; }
@media (max-width:760px) { .admin-usage-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.admin-usage-metric.goals { grid-column:span 2; } }

/* Feedback-Verbesserungen v20 */
.dislike-chips{display:flex;flex-wrap:wrap;gap:8px;margin:9px 0 12px}.dislike-chip{position:relative;cursor:pointer}.dislike-chip input{position:absolute;opacity:0;pointer-events:none}.dislike-chip span{display:inline-flex;align-items:center;min-height:36px;padding:7px 12px;border:1px solid #d7e4d5;border-radius:999px;background:#fff;color:#50635a;font-size:13px;font-weight:750;transition:.18s ease}.dislike-chip input:checked+span{border-color:#43824b;background:#e9f4e8;color:#245f35;box-shadow:inset 0 0 0 1px #43824b}.dislike-chip input:focus-visible+span{outline:3px solid rgba(67,130,75,.2);outline-offset:2px}.field-label{display:block;color:#334c40;font-size:13px;font-weight:800}.free-plan-availability{margin:0 0 14px;padding:11px 13px;border-radius:10px;background:#f3f8ef;color:#486451;font-size:13px;line-height:1.45}.auth-confirmation.success{padding:12px 14px;border:1px solid #b8d9b9;border-radius:10px;background:#eff8ed;color:#255f35;line-height:1.5}.button:disabled{cursor:not-allowed;opacity:.55}


/* Planivoa 2.0: recipe inspiration */
.inspiration-section{margin-top:2.25rem}.filter-row{display:flex;gap:.65rem;flex-wrap:wrap;margin:1rem 0 1.25rem}.filter-chip{border:1px solid var(--border,#dfe5df);background:#fff;border-radius:999px;padding:.65rem 1rem;font:inherit;font-weight:700;cursor:pointer}.filter-chip.active,.filter-chip:hover{background:#173f35;color:#fff;border-color:#173f35}.inspiration-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.inspiration-card{display:flex;gap:1rem;background:#fff;border:1px solid var(--border,#e2e7e3);border-radius:20px;padding:1.15rem;box-shadow:0 8px 28px rgba(26,63,53,.06)}.inspiration-icon{display:grid;place-items:center;flex:0 0 64px;height:64px;border-radius:18px;background:#f3f7f2;font-size:2rem}.inspiration-card h3{margin:.15rem 0 .45rem}.inspiration-card p{margin:.2rem 0;color:#627069}.inspiration-card .text-button{margin-top:.65rem}@media(max-width:980px){.inspiration-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.inspiration-grid{grid-template-columns:1fr}.inspiration-card{align-items:flex-start}}
