:root{
  --bg:#f5f5ef;
  --surface:#ffffff;
  --surface-2:#f0f1e8;
  --text:#20231d;
  --muted:#7a7f73;
  --line:#e4e6dc;
  --brand:#355b45;
  --brand-2:#dce8d5;
  --brand-3:#edf3e9;
  --warm:#efd6b6;
  --danger:#a34d46;
  --shadow:0 16px 45px rgba(44,54,42,.08);
  --radius:22px;
  --radius-sm:14px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:"DM Sans",system-ui,-apple-system,sans-serif;font-size:15px}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
button:disabled{opacity:.55;cursor:not-allowed}
.app-shell{display:grid;grid-template-columns:230px 1fr;min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;padding:26px 20px;display:flex;flex-direction:column;background:#27332b;color:white}
.brand{display:flex;align-items:center;gap:12px;color:white;text-decoration:none;margin:0 4px 34px}
.brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#e6d5b5;color:#243029;font:700 26px/1 "Playfair Display",serif}
.brand strong{font:700 23px/1 "Playfair Display",serif;display:block;letter-spacing:-.4px}
.brand small{display:block;color:#aebcaf;font-size:10px;margin-top:4px;letter-spacing:.25px}
.nav{display:grid;gap:7px}
.nav-item{border:0;background:transparent;color:#c6d0c7;padding:12px 14px;border-radius:13px;display:flex;align-items:center;gap:12px;text-align:left;font-weight:600}
.nav-item span{font-size:19px;width:22px;text-align:center}
.nav-item:hover,.nav-item.active{background:rgba(255,255,255,.10);color:white}
.sidebar-card{margin-top:auto;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:16px;color:#dfe7df}
.sidebar-card p{font-size:12px;line-height:1.5;margin:8px 0 0}
.tiny-label{font-size:9px;letter-spacing:1.4px;color:#a9bcaa;font-weight:700}
.main{min-width:0;padding:0 34px 44px}
.mobile-brand{display:none}
.topbar{height:104px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);margin-bottom:24px}
.eyebrow{font-size:10px;letter-spacing:1.4px;font-weight:700;color:var(--muted);text-transform:uppercase}
h1,h2,h3,p{margin-top:0}
h1{font:700 33px/1.05 "Playfair Display",serif;margin:5px 0 0;letter-spacing:-.5px}
h2{font:700 23px/1.1 "Playfair Display",serif;margin-bottom:5px}
.top-actions{display:flex;align-items:center;gap:9px}
.icon-btn,.week-pill,.primary-btn,.secondary-btn,.ghost-btn{border-radius:12px;border:1px solid var(--line);background:white;min-height:42px;padding:0 14px;font-weight:600}
.icon-btn{width:42px;padding:0;font-size:18px}
.week-pill{background:transparent;min-width:150px}
.primary-btn{border-color:var(--brand);background:var(--brand);color:white;box-shadow:0 7px 15px rgba(53,91,69,.13)}
.primary-btn span{font-size:17px;margin-right:3px}
.secondary-btn{background:var(--brand-3);border-color:var(--brand-2);color:var(--brand)}
.ghost-btn{background:transparent;border-color:var(--line);box-shadow:none}
.full{width:100%}
.view{display:none}.view.active{display:block}
.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:27px}
.summary-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:17px 18px;display:flex;align-items:center;gap:13px;min-height:100px}
.summary-card.accent{background:var(--brand-3);border-color:#d8e4d1}
.summary-icon{font-size:25px;width:43px;height:43px;border-radius:13px;background:var(--surface-2);display:grid;place-items:center}
.summary-card.accent .summary-icon{background:var(--brand-2);color:var(--brand)}
.summary-card small,.summary-card span:not(.summary-icon){display:block;color:var(--muted);font-size:11px}
.summary-card strong{font-size:27px;line-height:1;display:block;margin:4px 0}
.planner-head,.panel-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 15px}
.planner-head p,.panel-head p{color:var(--muted);font-size:13px;margin:0}
.week-grid{display:grid;grid-template-columns:repeat(7,minmax(170px,1fr));gap:10px;overflow-x:auto;padding-bottom:8px}
.day-column{background:rgba(255,255,255,.55);border:1px solid var(--line);border-radius:18px;min-height:420px;overflow:hidden}
.day-column.today{border-color:#adc4ad;box-shadow:0 0 0 2px rgba(53,91,69,.05)}
.day-head{padding:14px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:8px;background:rgba(255,255,255,.55)}
.day-head .date{display:flex;align-items:baseline;gap:6px}.day-head strong{font-size:14px;text-transform:capitalize}.day-head b{font-size:23px}.day-head small{color:var(--muted)}
.day-add{border:0;background:transparent;color:var(--brand);font-size:22px;width:30px;height:30px;border-radius:9px}.day-add:hover{background:var(--brand-3)}
.day-body{padding:10px;display:grid;gap:9px;align-content:start}
.meal-card{background:white;border:1px solid var(--line);border-radius:14px;padding:10px 11px;box-shadow:0 5px 13px rgba(47,54,45,.035);cursor:pointer;transition:.15s}
.meal-card:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(47,54,45,.065)}
.meal-type{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:var(--brand);font-weight:700;margin-bottom:5px}
.meal-label{font-weight:700;font-size:13px;margin-bottom:5px}
.meal-dishes{display:grid;gap:4px}
.meal-dish{display:flex;gap:6px;align-items:flex-start;color:#4e534b;font-size:12px;line-height:1.35}.meal-dish .emo{width:17px;text-align:center}
.empty-day{color:#a2a69d;text-align:center;font-size:11px;padding:22px 7px;border:1px dashed #dfe2d9;border-radius:13px;background:rgba(255,255,255,.35)}
.section-toolbar{display:flex;justify-content:space-between;gap:12px;margin-bottom:18px}
.searchbox{flex:1;max-width:520px;background:white;border:1px solid var(--line);border-radius:13px;display:flex;align-items:center;padding:0 13px;min-height:45px}
.searchbox span{font-size:20px;color:var(--muted);margin-right:7px}.searchbox input{width:100%;border:0;outline:0;background:transparent}
.section-toolbar select{border:1px solid var(--line);background:white;border-radius:12px;padding:0 13px}
.recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:15px}
.recipe-card{background:white;border:1px solid var(--line);border-radius:18px;padding:17px;min-height:215px;display:flex;flex-direction:column;box-shadow:0 5px 17px rgba(44,54,42,.035);cursor:pointer;transition:.15s}
.recipe-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.recipe-card-head{display:flex;justify-content:space-between;gap:12px}.recipe-emoji{width:48px;height:48px;background:var(--surface-2);border-radius:14px;display:grid;place-items:center;font-size:25px}.recipe-fav{font-size:19px;color:#b77b69}
.recipe-card h3{font-size:16px;margin:13px 0 5px}.recipe-card p{font-size:12px;color:var(--muted);line-height:1.45;min-height:35px;margin-bottom:12px}
.recipe-meta{display:flex;gap:7px;flex-wrap:wrap;margin-top:auto}.chip{font-size:10px;background:var(--surface-2);border-radius:999px;padding:5px 8px;color:#5f655b}.chip.method{background:#eef1e8;color:#50604e}.chip.video{background:#f4ece3;color:#8a6550}.chip.ok{background:#e8f2e4;color:#4b704f}.chip.warn{background:#f6e8e3;color:#9a5f53}
.empty-state{grid-column:1/-1;background:white;border:1px dashed #d6d9cf;border-radius:20px;padding:42px 20px;text-align:center;color:var(--muted)}.empty-state .big{font-size:42px;margin-bottom:10px}.empty-state strong{display:block;color:var(--text);font-size:17px;margin-bottom:4px}
.panel{background:white;border:1px solid var(--line);border-radius:19px;padding:20px}
.segmented{display:flex;background:#e9eae2;border-radius:12px;padding:3px}.segmented button{border:0;background:transparent;border-radius:9px;padding:8px 12px;color:var(--muted);font-size:12px}.segmented button.active{background:white;color:var(--text);box-shadow:0 2px 6px rgba(0,0,0,.06)}
.ingredient-list{display:grid}.ingredient-row{display:grid;grid-template-columns:minmax(190px,1fr) 110px minmax(140px,220px) 100px 38px;gap:12px;align-items:center;padding:12px 6px;border-top:1px solid var(--line)}.ingredient-row:first-child{border-top:0}
.ing-main{display:flex;align-items:center;gap:10px;min-width:0}.status-dot{width:10px;height:10px;border-radius:50%;background:#c6c9c0;flex:0 0 auto}.status-dot.in{background:#6d9b6d}.ing-main strong{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ing-main small{color:var(--muted)}
.toggle-btn{border:1px solid var(--line);border-radius:999px;background:white;padding:6px 10px;font-size:11px}.toggle-btn.on{background:var(--brand-3);border-color:#cddfc8;color:var(--brand)}
.store-pill{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.edit-icon{border:0;background:transparent;color:var(--muted);font-size:17px}
.shopping-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:16px;align-items:start}.shopping-list{display:grid}.shop-group{margin-top:12px}.shop-group-title{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);font-weight:700;padding:8px 0}.shop-item{display:grid;grid-template-columns:30px 1fr auto;gap:8px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.shop-item:first-of-type{border-top:0}.shop-check{width:22px;height:22px;border-radius:7px;border:1px solid #cfd2c8;background:white;display:grid;place-items:center;color:white;padding:0}.shop-check.checked{background:var(--brand);border-color:var(--brand)}.shop-item strong{font-size:13px}.shop-item small{display:block;color:var(--muted);font-size:10px}.shop-item.checked .shop-info{text-decoration:line-through;opacity:.55}.shop-actions{display:flex;gap:6px}.mini-btn{border:0;background:var(--surface-2);border-radius:8px;padding:6px 8px;font-size:10px;color:var(--muted)}
.quick-add{display:grid;grid-template-columns:1.5fr .6fr .7fr 1fr auto;gap:7px;margin:14px 0 7px}.quick-add input{min-width:0}
input,select,textarea{border:1px solid #dfe1d8;background:#fbfbf8;border-radius:11px;padding:11px 12px;outline:none;transition:.15s;width:100%}input:focus,select:focus,textarea:focus{border-color:#97b09a;box-shadow:0 0 0 3px rgba(80,123,90,.08);background:white}textarea{resize:vertical}
.modal-backdrop{position:fixed;z-index:1000;inset:0;background:rgba(22,28,23,.45);backdrop-filter:blur(5px);display:grid;place-items:center;padding:22px;animation:fadeIn .14s ease}.modal-card{width:min(760px,100%);max-height:calc(100vh - 44px);overflow:auto;background:#fff;border-radius:23px;box-shadow:0 30px 90px rgba(15,24,17,.25);padding:22px}.modal-card.recipe-modal{width:min(860px,100%)}.compact-modal{width:min(610px,100%)}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:18px}.modal-header h2{margin-top:5px}.close-modal{border:0;background:var(--surface-2);width:36px;height:36px;border-radius:11px;font-size:23px;color:var(--muted)}
form label{display:block;font-size:11px;font-weight:700;color:#5f645c;margin-bottom:12px}form label>span{font-weight:400;color:#999d95}form label input,form label select,form label textarea{margin-top:6px;font-weight:400;color:var(--text)}
.form-grid{display:grid;gap:11px}.form-grid.two{grid-template-columns:1fr 1fr}.form-grid.four{grid-template-columns:repeat(4,1fr)}.form-grid label{position:relative}.form-grid label small{position:absolute;right:10px;bottom:13px;color:var(--muted);font-size:9px}
.field-label{font-size:11px;font-weight:700;color:#5f645c;margin:1px 0 7px}.field-label span{font-weight:400;color:#999d95}.cooking-methods{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 15px}.method-choice{margin:0!important;font-weight:500!important}.method-choice input{position:absolute;opacity:0;pointer-events:none}.method-choice span{display:flex;align-items:center;min-height:38px;padding:8px 11px;border:1px solid var(--line);border-radius:12px;background:#fbfbf8;color:#5f645c;font-weight:600;transition:.15s}.method-choice input:checked+span{border-color:#a9c0a8;background:var(--brand-3);color:var(--brand);box-shadow:0 0 0 2px rgba(53,91,69,.05)}.meal-items,.recipe-ingredients{display:grid;gap:7px;margin-bottom:8px}.meal-item-row{display:grid;grid-template-columns:1fr 1fr 38px;gap:7px}.meal-item-row select,.meal-item-row input{margin:0}.recipe-ing-row{display:grid;grid-template-columns:1.5fr .5fr .7fr 1fr 38px;gap:7px}.remove-row{border:1px solid var(--line);background:white;border-radius:10px;color:var(--danger);font-size:16px}
.recipe-title-row{display:flex;gap:10px;align-items:end}.recipe-title-row .grow{flex:1}.emoji-field{width:80px}.favorite-check{width:48px;height:43px;margin-bottom:12px;position:relative}.favorite-check input{position:absolute;opacity:0}.favorite-check span{display:grid;place-items:center;width:100%;height:43px;border:1px solid var(--line);border-radius:11px;font-size:20px;color:#b77b69}.favorite-check input:checked+span{background:#f5eae6;border-color:#ead1ca}.check-row{display:flex;gap:18px;margin:6px 0 14px}.check-row label{display:flex;align-items:center;gap:7px;margin:0;font-weight:500}.check-row input{width:auto;margin:0}
.modal-actions{display:grid;grid-template-columns:auto 1fr auto auto;gap:8px;align-items:center;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.danger-link{border:0;background:transparent;color:var(--danger);padding:10px 0;font-weight:600}.hidden{display:none!important}
.video-preview{position:relative;width:100%;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:#111;margin:8px 0 18px}.video-preview iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}.video-preview.vertical{width:min(100%,430px);aspect-ratio:9/16;margin-left:auto;margin-right:auto}.video-preview.instagram.post{width:min(100%,540px);aspect-ratio:4/5;margin-left:auto;margin-right:auto}.video-embed-error{display:grid;gap:4px;background:#f7eee9;border:1px solid #eed9cf;color:#855d50;border-radius:14px;padding:13px 14px;margin:8px 0 16px;font-size:12px;line-height:1.45}.video-embed-error strong{color:#69473c}.video-embed-error span{color:#8c746b}
.toast{position:fixed;z-index:2000;right:22px;bottom:22px;background:#27332b;color:white;padding:11px 14px;border-radius:12px;box-shadow:var(--shadow);transform:translateY(20px);opacity:0;pointer-events:none;transition:.2s;font-size:12px}.toast.show{transform:translateY(0);opacity:1}.toast.error{background:#8c4b45}
.error-screen{max-width:700px;margin:80px auto;background:white;padding:25px;border-radius:18px;border:1px solid #ead4cf}.error-screen code{display:block;background:#f5f5ef;padding:12px;border-radius:10px;margin-top:12px;white-space:pre-wrap}
.mobile-nav{display:none}
@media(max-width:1100px){.app-shell{grid-template-columns:190px 1fr}.sidebar{padding:22px 14px}.main{padding:0 22px 34px}.week-grid{grid-template-columns:repeat(7,minmax(155px,1fr))}.shopping-layout{grid-template-columns:1fr}.quick-add{grid-template-columns:1fr 90px 90px 1fr auto}.ingredient-row{grid-template-columns:minmax(160px,1fr) 100px 150px 90px 36px}}
@media(max-width:780px){body{padding-bottom:78px}.app-shell{display:block}.sidebar{display:none}.main{padding:0 14px 24px}.topbar{height:auto;min-height:96px;padding:12px 0 14px;margin-bottom:16px;align-items:flex-end}.topbar-copy{min-width:0}.mobile-brand{display:flex;align-items:center;gap:7px;margin-bottom:7px;color:var(--brand)}.mobile-brand-mark{width:26px;height:26px;display:grid;place-items:center;border-radius:8px;background:#e6d5b5;color:#243029;font:700 17px/1 "Playfair Display",serif}.mobile-brand strong{font:700 18px/1 "Playfair Display",serif;letter-spacing:-.2px}.topbar h1{font-size:24px}.topbar .eyebrow{font-size:8px;letter-spacing:.8px}.top-actions{display:grid;grid-template-columns:34px minmax(94px,1fr) 34px;gap:5px;max-width:205px}.top-actions .primary-btn{display:none}.week-pill{min-width:0;height:36px;min-height:36px;padding:0 7px;font-size:10px}.icon-btn{width:34px;height:36px;min-height:36px}.summary-grid{grid-template-columns:repeat(3,1fr);gap:7px}.summary-card{padding:11px;min-height:92px;display:block}.summary-icon{width:32px;height:32px;font-size:17px;margin-bottom:7px}.summary-card strong{font-size:21px}.summary-card span:not(.summary-icon){display:none}.summary-card small{font-size:9px}.planner-head{align-items:flex-end}.planner-head .ghost-btn{display:none}.planner-head p{font-size:11px}.week-grid{display:flex;overflow-x:auto;scroll-snap-type:x proximity;margin:0 -14px;padding:0 14px 12px;gap:8px;scrollbar-width:none}.week-grid::-webkit-scrollbar{display:none}.day-column{min-width:clamp(156px,44vw,250px);scroll-snap-align:start;min-height:350px;border-radius:15px}.day-head{padding:10px}.day-head .date{gap:4px}.day-head strong{font-size:12px}.day-head b{font-size:20px}.day-head small{font-size:9px}.day-add{width:26px;height:26px;font-size:19px}.day-body{padding:7px;gap:7px}.meal-card{padding:8px;border-radius:12px}.meal-type{font-size:8px}.meal-label{font-size:11px}.meal-dish{font-size:10px}.empty-day{padding:18px 5px;font-size:10px}.section-toolbar{flex-direction:column}.section-toolbar .searchbox{max-width:none}.recipe-grid{grid-template-columns:1fr}.pantry-toolbar{align-items:stretch}.ingredient-row{grid-template-columns:1fr auto 34px;gap:7px}.ingredient-row .store-pill{grid-column:1/2;padding-left:20px}.ingredient-row .toggle-btn.buy-toggle{grid-column:2/3;grid-row:2}.ingredient-row .stock-toggle{grid-column:2/3;grid-row:1}.shopping-layout{grid-template-columns:1fr}.panel{padding:15px}.quick-add{grid-template-columns:1fr 74px}.quick-add input[name="unit"],.quick-add input[name="store_name"]{grid-column:auto}.quick-add .primary-btn{grid-column:1/-1}.form-grid.four{grid-template-columns:1fr 1fr}.meal-item-row{grid-template-columns:1fr 36px}.meal-item-row .custom-dish{grid-column:1/2}.recipe-ing-row{grid-template-columns:1.4fr .65fr .8fr 38px}.recipe-ing-row .ing-note{grid-column:1/-1}.modal-backdrop{padding:0;align-items:end}.modal-card{border-radius:23px 23px 0 0;max-height:92vh;padding:18px}.modal-actions{position:sticky;bottom:-18px;background:white;margin-left:-18px;margin-right:-18px;padding:13px 18px 18px;grid-template-columns:auto 1fr auto}.modal-actions .ghost-btn{display:none}.mobile-nav{position:fixed;z-index:800;display:grid;grid-template-columns:1fr 1fr 64px 1fr 1fr;left:0;right:0;bottom:0;background:white;border-top:1px solid var(--line);height:68px;padding:6px max(5px,env(safe-area-inset-left)) calc(5px + env(safe-area-inset-bottom));box-shadow:0 -8px 25px rgba(31,40,32,.08)}.mobile-nav button{border:0;background:transparent;color:#8a8f86;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.mobile-nav button.active{color:var(--brand)}.mobile-nav button span{font-size:18px}.mobile-nav button small{font-size:9px}.mobile-nav .mobile-add{width:52px;height:52px;border-radius:50%;background:var(--brand);color:white;font-size:26px;margin:-13px auto 0;box-shadow:0 8px 18px rgba(53,91,69,.25)}.toast{left:14px;right:14px;bottom:82px;text-align:center}.recipe-title-row{align-items:end}.favorite-check{flex:0 0 45px}}
@media(max-width:480px){.summary-card:nth-child(2){display:none}.summary-grid{grid-template-columns:1fr 1fr}.topbar{gap:7px}.top-actions{max-width:210px}.form-grid.two{grid-template-columns:1fr}.recipe-ing-row{grid-template-columns:1.2fr .55fr 38px}.recipe-ing-row .ing-unit{grid-column:2/3}.recipe-ing-row .ing-note{grid-column:1/-1}.emoji-field{width:70px}.modal-header h2{font-size:21px}.check-row{display:grid;gap:8px}.section-toolbar select{min-height:43px}}

/* ===== Recetig v3 ===== */
html,body{max-width:100%;overflow-x:hidden}.context-hidden{display:none!important}.muted-copy{color:var(--muted);margin:0;font-size:13px}.toolbar-actions{display:flex;align-items:center;gap:10px}.shopping-topline{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:18px}.shopping-topline p{color:var(--muted);font-size:13px;margin:0}
.store-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.store-card{background:white;border:1px solid var(--line);border-radius:18px;padding:17px;display:grid;grid-template-columns:46px 1fr 34px;gap:12px;align-items:start;cursor:pointer;box-shadow:0 5px 17px rgba(44,54,42,.035)}.store-card:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.store-icon{width:46px;height:46px;border-radius:14px;background:var(--brand-3);color:var(--brand);display:grid;place-items:center;font-size:21px}.store-card h3{margin:1px 0 4px;font-size:16px}.store-card p{margin:0 0 8px;color:var(--muted);font-size:11px;line-height:1.4}.store-card span{font-size:10px;color:var(--brand);font-weight:700}
.store-choice-list{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 13px}.store-choice{margin:0!important}.store-choice input{position:absolute;opacity:0;pointer-events:none}.store-choice span{display:block;padding:8px 11px;border:1px solid var(--line);border-radius:999px;background:#fbfbf8;font-size:11px;font-weight:600!important;color:var(--muted)!important}.store-choice input:checked+span{background:var(--brand-3);border-color:#bcd0b8;color:var(--brand)!important}.inline-empty{width:100%;padding:11px 12px;border-radius:11px;background:var(--surface-2);color:var(--muted);font-size:11px}
.shop-group-title{display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--line)}.shop-group-title b{margin-left:auto;background:var(--surface-2);border-radius:999px;padding:3px 7px;font-size:9px;color:var(--text)}
.recipe-viewer{width:min(900px,100%)}.viewer-head{display:grid;grid-template-columns:42px 62px 1fr auto;gap:14px;align-items:center;margin-bottom:16px}.viewer-close{grid-column:1;width:38px;height:38px;border:0;background:var(--surface-2);border-radius:12px;font-size:22px;color:var(--muted)}.viewer-emoji{width:62px;height:62px;border-radius:18px;background:var(--surface-2);display:grid;place-items:center;font-size:31px}.viewer-title h2{font-size:28px;margin:3px 0 5px}.viewer-title p{color:var(--muted);font-size:12px;margin:0;line-height:1.5}.viewer-meta{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 18px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.viewer-meta span{background:var(--surface-2);border-radius:999px;padding:6px 9px;font-size:10px;color:#596056}.viewer-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:24px}.viewer-grid h3{font:700 20px/1.1 "Playfair Display",serif;margin:3px 0 12px}.viewer-ingredients{display:grid;gap:7px}.viewer-ing{display:grid;grid-template-columns:27px 1fr;gap:9px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:9px}.viewer-ing-check{width:24px;height:24px;border-radius:8px;display:grid;place-items:center;font-size:11px;font-weight:700}.viewer-ing-check.yes{background:var(--brand-3);color:var(--brand)}.viewer-ing-check.no{background:#f6e8e3;color:#9a5f53}.viewer-ing strong{display:block;font-size:12px}.viewer-ing small{display:block;color:var(--muted);font-size:9px;margin-top:2px}.viewer-instructions{font-size:13px;line-height:1.75;color:#464c43;white-space:normal;background:#fafaf6;border:1px solid var(--line);border-radius:14px;padding:15px;min-height:130px}

@media(max-width:780px){
  .main{width:100%;max-width:100%;overflow:hidden}.topbar{width:100%}.top-actions{flex:0 0 auto}.toolbar-actions{width:100%;display:grid;grid-template-columns:1fr auto}.stores-shortcut{white-space:nowrap}.shopping-topline{align-items:flex-start;flex-direction:column}.shopping-topline .secondary-btn{width:100%}
  .week-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;overflow:visible!important;scroll-snap-type:none!important;margin:0!important;padding:0!important;width:100%!important}.day-column{min-width:0!important;width:auto!important;min-height:220px!important;scroll-snap-align:none!important}.day-column.sunday{grid-column:1/-1}.day-head{padding:9px!important}.day-body{padding:7px!important}.meal-card{min-width:0}.meal-dish span:last-child{overflow:hidden;text-overflow:ellipsis}.empty-day{width:100%;padding:13px 4px}
  .ingredient-list{gap:9px}.ingredient-row{border:1px solid var(--line)!important;border-radius:14px;padding:11px!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;background:#fff}.ingredient-row:first-child{border-top:1px solid var(--line)!important}.ing-main{grid-column:1/-1}.ingredient-row .stock-toggle{grid-column:1/2!important;grid-row:auto!important;justify-self:start}.ingredient-row .buy-toggle{grid-column:2/3!important;grid-row:auto!important;justify-self:end}.ingredient-row .store-pill{grid-column:1/2!important;padding-left:0!important;white-space:normal!important}.ingredient-row .edit-icon{grid-column:2/3;grid-row:3;justify-self:end}.toggle-btn{max-width:100%}
  .quick-add{grid-template-columns:1fr 80px!important}.quick-add input,.quick-add select{min-width:0}.quick-add select{grid-column:1/-1}.quick-add .primary-btn{grid-column:1/-1}.shopping-layout{gap:12px}.shop-item{grid-template-columns:28px minmax(0,1fr) auto}.shop-info{min-width:0}.shop-info strong{overflow-wrap:anywhere}.shop-actions .chip{display:none}
  .store-grid{grid-template-columns:1fr}.store-card{grid-template-columns:42px minmax(0,1fr) 30px}.store-icon{width:42px;height:42px}.section-toolbar>div:first-child:not(.searchbox){width:100%}
  .viewer-head{grid-template-columns:50px minmax(0,1fr) auto;gap:10px;align-items:start}.viewer-close{position:absolute;right:17px;top:17px;z-index:2}.viewer-emoji{width:50px;height:50px;border-radius:15px;font-size:25px;grid-column:1}.viewer-title{grid-column:2/4;padding-right:38px}.viewer-title h2{font-size:23px}.viewer-head>#editRecipeBtn{grid-column:1/-1;width:100%}.viewer-grid{grid-template-columns:1fr;gap:17px}.viewer-meta{margin-bottom:13px}.recipe-viewer .video-preview{margin-top:0}
  .recipe-ing-row{grid-template-columns:minmax(0,1.35fr) minmax(70px,.55fr) 36px!important}.recipe-ing-row>*{min-width:0}.recipe-ing-row .ing-unit{grid-column:1/2!important}.recipe-ing-row .ing-note{grid-column:1/3!important}.recipe-ing-row .remove-row{grid-column:3;grid-row:1/3}.meal-item-row{grid-template-columns:minmax(0,1fr) 36px!important}.meal-item-row>*{min-width:0}.meal-item-row .custom-dish{grid-column:1/2!important}
  .store-choice-list{display:grid;grid-template-columns:1fr 1fr}.store-choice span{text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-card{width:100%;max-width:100%;overflow-x:hidden}.modal-actions{grid-template-columns:auto 1fr auto!important}.modal-actions .primary-btn{min-width:0;padding-left:11px;padding-right:11px}
}
@media(max-width:430px){
  .main{padding-left:10px;padding-right:10px}.topbar{gap:6px}.topbar h1{font-size:21px}.top-actions{max-width:190px}.week-grid{gap:6px!important}.day-column{border-radius:13px!important}.day-head strong{font-size:11px!important}.day-head b{font-size:18px!important}.meal-card{padding:7px!important}.meal-label{font-size:10px!important}.meal-dish{font-size:9px!important}.summary-card{padding:10px}.summary-grid{gap:6px}.toolbar-actions{grid-template-columns:1fr}.stores-shortcut{width:100%}.segmented{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}.segmented button{padding:8px 5px}.viewer-title h2{font-size:21px}.form-grid.four{grid-template-columns:1fr 1fr}.recipe-title-row{display:grid;grid-template-columns:70px 1fr 44px}.recipe-title-row .grow{min-width:0}.store-choice-list{grid-template-columns:1fr}.modal-card{padding:15px}.modal-actions{bottom:-15px;margin-left:-15px;margin-right:-15px;padding-left:15px;padding-right:15px}
}


/* ===== Recetig v4: viewer/video/mobile input fixes ===== */
.viewer-head,.viewer-title{min-width:0}.viewer-title h2{max-width:100%;overflow-wrap:anywhere;word-break:break-word;hyphens:auto;line-height:1.08}.viewer-title p{overflow-wrap:anywhere}.recipe-viewer{overflow-x:hidden}.recipe-viewer #viewerVideo{width:100%;min-width:0}.video-preview{max-width:100%}
@media(max-width:780px){
  input,select,textarea{font-size:16px!important}
  .searchbox input{font-size:16px!important}
  .viewer-title{min-width:0!important;width:100%}.viewer-title h2{font-size:22px!important;line-height:1.12!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}.recipe-viewer{padding-left:15px!important;padding-right:15px!important}.video-preview.vertical{width:min(100%,390px);max-height:72vh}.video-preview.instagram.post{width:100%;aspect-ratio:4/5}.video-preview.youtube{aspect-ratio:16/9}
}
@media(max-width:430px){.viewer-title h2{font-size:20px!important}.video-preview.vertical{width:100%;max-height:none}}
\n\n/* ===== Recetig v5: historial, selector de ingredientes y zoom movil ===== */\nhtml{-webkit-text-size-adjust:100%;text-size-adjust:100%}\ninput,select,textarea,button{touch-action:manipulation}\ninput,select,textarea{font-size:16px!important}\n.meal-recipe-select{min-width:0}.meal-recipe-select select{width:100%;margin:0}.last-eaten-hint{min-height:17px;padding:4px 2px 0;font-size:10px;line-height:1.25;color:var(--muted);white-space:normal}.last-eaten-hint.has-history{color:#6a735f}.last-eaten-hint.never{color:#9a8a73}\n.ingredient-combo{position:relative;min-width:0}.ingredient-input-wrap{display:grid;grid-template-columns:minmax(0,1fr) 38px;min-width:0}.ingredient-input-wrap .ing-name{border-radius:11px 0 0 11px!important;border-right:0!important;min-width:0}.ingredient-dropdown-toggle{border:1px solid var(--line);border-left:1px solid #e5e6df;background:#fbfbf8;border-radius:0 11px 11px 0;color:var(--brand);font-size:19px;line-height:1;padding:0;min-width:38px}.ingredient-dropdown-toggle.open{background:var(--brand-3);transform:none}.ingredient-suggestions{display:none;position:absolute;z-index:1200;left:0;right:0;top:calc(100% + 5px);max-height:260px;overflow-y:auto;background:white;border:1px solid var(--line);border-radius:13px;box-shadow:0 14px 35px rgba(31,40,32,.16);padding:5px}.ingredient-suggestions.open{display:block}.ingredient-suggestion{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;border:0;background:white;border-radius:9px;padding:9px 10px;color:var(--text)}.ingredient-suggestion:hover,.ingredient-suggestion:focus{background:var(--surface-2);outline:none}.ingredient-suggestion span{min-width:0;display:grid;gap:2px}.ingredient-suggestion strong{font-size:13px;overflow-wrap:anywhere}.ingredient-suggestion small{font-size:10px;color:var(--muted)}.ingredient-suggestion em{font-style:normal;font-size:10px;font-weight:700;color:var(--brand);background:var(--brand-3);padding:5px 8px;border-radius:999px;flex:0 0 auto}.ingredient-new-hint,.ingredient-no-match{padding:9px 10px;font-size:10px;line-height:1.35;color:var(--muted);border-top:1px solid var(--line);overflow-wrap:anywhere}.ingredient-new-hint strong{color:var(--text)}\n@media(max-width:780px){\n  .meal-item-row{align-items:start}.last-eaten-hint{font-size:9px;padding-top:3px}.ingredient-suggestions{position:fixed;left:12px;right:12px;top:auto;bottom:calc(76px + env(safe-area-inset-bottom));max-height:min(48vh,360px);border-radius:16px;padding:7px;box-shadow:0 12px 40px rgba(31,40,32,.24)}.ingredient-suggestion{padding:11px 10px}.ingredient-suggestion strong{font-size:14px}.ingredient-suggestion small{font-size:11px}\n}\n