@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Serif+Display&display=swap";
:root{--bg:#f6f7f9;--panel:#fff;--panel-muted:#f1f3f6;--border:#0f172a1a;--text:#0f172af5;--muted:#475569eb;--muted2:#64748beb;--accent:#2563eb;--accent-ink:#1d4ed8;--danger:#e11d48;--radius:16px;--radius-sm:12px;--focus:0 0 0 3px #2563eb2e;--home-bg-start:#fff9f5;--home-bg-mid:#fff5eb;--home-bg-end:#ffede0;--home-accent:#e07a3a;--home-text-dark:#2d2a26;--home-text-muted:#8b7355;--home-text-muted2:#6b5d4d;--home-green:#6b8e5e}*{box-sizing:border-box}html,body{height:100%}body{background:var(--bg);color:var(--text);margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,Apple Color Emoji,Segoe UI Emoji;line-height:1.45}a{color:inherit;text-decoration:none}a:hover{text-underline-offset:3px;text-decoration:underline}.app{flex-direction:column;min-height:100vh;display:flex}.topbar{z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);background:#ffffffeb;position:sticky;top:0}.topbar-inner{justify-content:space-between;align-items:center;gap:14px;max-width:1120px;margin:0 auto;padding:14px 18px;display:flex}.brand{letter-spacing:.2px;align-items:center;gap:10px;font-weight:800;display:flex}.brand-icon{background:#2563eb1a;border:1px solid #2563eb2e;border-radius:10px;place-items:center;width:32px;height:32px;display:grid}.brand-text{font-size:16px}.nav{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.navlink{color:var(--muted);border:1px solid #0000;border-radius:12px;padding:8px 10px}.navlink:hover{color:var(--text);background:#0f172a08;border-color:#0f172a14;text-decoration:none}.navlink.active{color:var(--accent-ink);background:#2563eb1a;border-color:#2563eb2e}.content{flex:1;padding:22px 0 40px}.container{max-width:1120px;margin:0 auto;padding:0 18px}.footer{border-top:1px solid var(--border);color:var(--muted2);padding:16px 0}.h1{letter-spacing:-.3px;margin:0 0 6px;font-size:34px}.h2{margin:0 0 10px;font-size:22px}.p{color:var(--muted);margin:0 0 14px}.muted{color:var(--muted)}.small{color:var(--muted2);font-size:12px}.grid{gap:18px;display:grid}.grid-2{grid-template-columns:1.1fr .9fr}@media (max-width:980px){.grid-2{grid-template-columns:1fr}.nav{justify-content:flex-start}}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 1px 2px #0f172a0f}.card-pad-lg{padding:18px}.divider{background:#0f172a14;height:1px;margin:12px 0}.label{color:var(--muted2);margin:10px 0 6px;font-size:12px;display:block}input.input,textarea.input,select.input{background:var(--panel-muted);width:100%;color:var(--text);border:1px solid #0f172a1a;border-radius:12px;outline:none;padding:10px 12px}textarea.input{resize:vertical;min-height:110px}input.input:focus,textarea.input:focus,select.input:focus{box-shadow:var(--focus);background:#fff;border-color:#2563eb59}.btn{appearance:none;color:var(--text);cursor:pointer;background:#fff;border:1px solid #0f172a1f;border-radius:12px;padding:10px 12px;font-weight:600}.btn:hover{background:#0f172a08}.btn:focus{box-shadow:var(--focus);outline:none}.btn.primary{color:var(--accent-ink);background:#2563eb1a;border-color:#2563eb38}.btn.primary:hover{background:#2563eb24}.btn.danger{color:#be123cf2;background:#e11d481a;border-color:#e11d482e}.btn.danger:hover{background:#e11d4824}.btn:disabled{opacity:.6;cursor:not-allowed}.toast{background:#fff;border:1px solid #0f172a1a;border-radius:12px;padding:10px 12px}.toast:hover{background:#0f172a05;border-color:#0f172a24}.toast.error{background:#e11d4814;border-color:#e11d4838}.pill{color:var(--muted);white-space:nowrap;background:#0f172a08;border:1px solid #0f172a1a;border-radius:999px;padding:6px 10px;font-size:12px}.row{align-items:center;gap:10px;display:flex}.checkbox{align-items:flex-start;gap:10px;display:flex}.checkbox input{margin-top:3px}.table{border-collapse:collapse;border:1px solid #0f172a1a;border-radius:14px;width:100%;overflow:hidden}.table th,.table td{text-align:left;border-bottom:1px solid #0f172a14;padding:10px 12px}.table th{color:var(--muted);background:#0f172a08;font-weight:700}.table tr:hover td{background:#0f172a05}.home-page{background:linear-gradient(180deg,var(--home-bg-start)0%,var(--home-bg-mid)50%,var(--home-bg-end)100%);min-height:100vh;font-family:DM Sans,ui-sans-serif,system-ui,sans-serif;position:relative;overflow:hidden}.home-page:before{content:"";pointer-events:none;background:radial-gradient(circle,#e07a3a26 0%,#0000 70%);width:400px;height:400px;position:absolute;top:-100px;right:-100px}.home-page:after{content:"";pointer-events:none;background:radial-gradient(circle,#6b8e5e1f 0%,#0000 70%);width:400px;height:400px;position:absolute;bottom:-100px;left:-100px}.home-content{z-index:1;flex-direction:column;max-width:480px;min-height:100vh;margin:0 auto;padding:0 20px;display:flex;position:relative}.home-header{justify-content:space-between;align-items:center;padding:20px 0;display:flex}.home-logo{align-items:center;gap:10px;display:flex}.home-logo-icon{background:var(--home-accent);border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;display:flex}.home-logo-text{color:var(--home-text-dark);font-family:DM Serif Display,serif;font-size:18px}.home-avatar{width:40px;height:40px;color:var(--home-text-muted2);background:linear-gradient(135deg,#e8d5c4,#d4b896);border:2px solid #fffc;border-radius:50%;justify-content:center;align-items:center;font-size:14px;font-weight:600;display:flex}.home-hero{text-align:center;padding:30px 0 20px}.home-welcome{letter-spacing:2px;text-transform:uppercase;color:var(--home-text-muted);margin-bottom:12px;font-size:11px;font-weight:600}.home-headline{color:var(--home-text-dark);margin:0 0 12px;font-family:DM Serif Display,serif;font-size:32px;font-weight:400;line-height:1.2}.home-headline .accent{color:var(--home-accent)}.home-subtext{color:var(--home-text-muted);margin:0;font-size:15px;line-height:1.5}.home-illustration{justify-content:center;align-items:center;padding:30px 0;display:flex;position:relative}.home-plate{background:linear-gradient(145deg,#fff,#f5f0eb);border-radius:50%;justify-content:center;align-items:center;width:160px;height:160px;font-size:60px;display:flex;position:relative;box-shadow:0 8px 32px #8b73551f,inset 0 -4px 12px #00000008}.home-floating-food{font-size:28px;animation:3s ease-in-out infinite float;position:absolute}.home-floating-food:nth-child(2){animation-delay:0s;top:10px;left:30%}.home-floating-food:nth-child(3){animation-delay:.5s;top:30px;right:20%}.home-floating-food:nth-child(4){animation-delay:1s;bottom:30px;left:20%}.home-floating-food:nth-child(5){animation-delay:1.5s;bottom:10px;right:30%}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.home-stats{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffd9;border-radius:16px;justify-content:space-between;margin-bottom:44px;padding:18px 24px;display:flex;box-shadow:0 2px 12px #8b735514}.home-stat{text-align:center;flex:1}.home-stat:not(:last-child){border-right:1px solid #8b735526}.home-stat-value{color:var(--home-text-dark);margin-bottom:4px;font-size:24px;font-weight:700;line-height:1}.home-stat-label{color:var(--home-text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px}.home-cta{background:var(--home-text-dark);color:#fff;cursor:pointer;border:none;border-radius:14px;justify-content:center;align-items:center;gap:8px;width:100%;margin-bottom:28px;padding:16px 24px;font-family:DM Sans,sans-serif;font-size:16px;font-weight:600;transition:transform .15s,box-shadow .15s;display:flex}.home-cta:hover{transform:translateY(-2px);box-shadow:0 6px 20px #2d2a2633}.home-quick-access{justify-content:space-between;gap:12px;margin-top:auto;padding-bottom:30px;display:flex}.home-quick-item{flex-direction:column;flex:1;align-items:center;padding:4px;text-decoration:none;display:flex}.home-quick-item:hover{text-decoration:none}.home-quick-icon{background:#ffffffe6;border-radius:16px;justify-content:center;align-items:center;width:58px;height:58px;margin-bottom:10px;font-size:28px;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 2px 10px #8b73551a}.home-quick-item:hover .home-quick-icon{transform:translateY(-3px);box-shadow:0 6px 16px #8b735526}.home-quick-label{text-align:center}.home-quick-name{color:var(--home-text-dark);font-size:13px;font-weight:600;line-height:1.3;display:block}.home-quick-desc{color:var(--home-text-muted);margin-top:1px;font-size:11px;display:block}@media (max-width:400px){.home-headline{font-size:26px}.home-quick-access{gap:6px}.home-quick-item{padding:2px}.home-quick-icon{width:48px;height:48px;font-size:22px}.home-quick-name{font-size:11px}.home-quick-desc{font-size:9px}.home-stat-value{font-size:20px}.home-stats{margin-bottom:32px}}.cookbook-page{background:linear-gradient(180deg,var(--home-bg-start)0%,var(--home-bg-mid)100%);min-height:100vh;padding-bottom:90px;font-family:DM Sans,ui-sans-serif,system-ui,sans-serif}.cookbook-content{max-width:480px;margin:0 auto;padding:0 20px}.cookbook-header{justify-content:space-between;align-items:center;padding:20px 0;display:flex}.cookbook-logo{align-items:center;gap:10px;text-decoration:none;display:flex}.cookbook-logo:hover{text-decoration:none}.cookbook-logo-icon{background:var(--home-accent);border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;display:flex}.cookbook-logo-text{color:var(--home-text-dark);font-family:DM Serif Display,serif;font-size:18px}.cookbook-refresh-btn{cursor:pointer;background:#fffc;border:1px solid #8b735526;border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;transition:background .15s,transform .15s;display:flex}.cookbook-refresh-btn:hover{background:#fff;transform:rotate(45deg)}.cookbook-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.cookbook-refresh-btn svg{width:20px;height:20px;color:var(--home-text-muted2)}.cookbook-title-section{margin-bottom:20px}.cookbook-title{color:var(--home-text-dark);margin:0 0 4px;font-family:DM Serif Display,serif;font-size:32px;font-weight:400}.cookbook-subtitle{color:var(--home-text-muted);margin:0;font-size:14px}.cookbook-search-row{gap:10px;margin-bottom:16px;display:flex}.cookbook-search-input{flex:1;position:relative}.cookbook-search-input svg{width:18px;height:18px;color:var(--home-text-muted);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.cookbook-search-input input{width:100%;color:var(--home-text-dark);background:#ffffffd9;border:1.5px solid #e07a3a40;border-radius:14px;outline:none;padding:14px 14px 14px 44px;font-family:DM Sans,sans-serif;font-size:15px;transition:border-color .15s,box-shadow .15s}.cookbook-search-input input::placeholder{color:var(--home-text-muted)}.cookbook-search-input input:focus{border-color:var(--home-accent);box-shadow:0 0 0 3px #e07a3a1f}.cookbook-add-btn{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#e07a3a 0%,#c45d2a 100%);border:none;border-radius:14px;align-items:center;gap:6px;padding:14px 20px;font-family:DM Sans,sans-serif;font-size:15px;font-weight:600;text-decoration:none;transition:transform .15s,box-shadow .15s;display:flex}.cookbook-add-btn:hover{text-decoration:none;transform:translateY(-2px);box-shadow:0 4px 14px #e07a3a59}.cookbook-filters{scrollbar-width:none;-ms-overflow-style:none;gap:8px;margin-bottom:8px;padding-bottom:16px;display:flex;overflow-x:auto}.cookbook-filters::-webkit-scrollbar{display:none}.cookbook-filter-tag{white-space:nowrap;cursor:pointer;color:var(--home-text-muted2);background:#ffffffd9;border:1px solid #8b735533;border-radius:999px;padding:10px 16px;font-size:13px;font-weight:500;transition:all .15s}.cookbook-filter-tag:hover{background:#fff;border-color:#8b735559}.cookbook-filter-tag.active{background:var(--home-text-dark);color:#fff;border-color:var(--home-text-dark)}.cookbook-recipes{flex-direction:column;gap:12px;display:flex}.cookbook-recipe-card{background:#ffffffbf;border:1px solid #ffffffe6;border-radius:18px;padding:16px;transition:transform .15s,box-shadow .15s;box-shadow:0 2px 12px #8b735514}.cookbook-recipe-card:hover{transform:translateY(-3px);box-shadow:0 6px 20px #8b73551f}.cookbook-recipe-info{flex:1;min-width:0}.cookbook-recipe-name{color:var(--home-text-dark);margin:0 0 8px;font-size:16px;font-weight:600;line-height:1.4}.cookbook-recipe-time{color:var(--home-text-muted);align-items:center;gap:4px;margin-bottom:14px;font-size:13px;display:flex}.cookbook-recipe-actions{gap:10px;display:flex}.cookbook-btn-edit,.cookbook-btn-cook{cursor:pointer;text-align:center;border-radius:12px;flex:1;padding:12px 16px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;text-decoration:none;transition:all .15s}.cookbook-btn-edit{color:var(--home-text-muted2);background:#ffffffe6;border:1px solid #8b735533}.cookbook-btn-edit:hover{background:#fff;border-color:#8b735559;text-decoration:none}.cookbook-btn-cook{background:var(--home-text-dark);border:1px solid var(--home-text-dark);color:#fff}.cookbook-btn-cook:hover{background:#1a1815;text-decoration:none}.cookbook-empty{text-align:center;color:var(--home-text-muted);padding:40px 20px}.cookbook-empty-icon{opacity:.6;margin-bottom:12px;font-size:48px}.cookbook-empty-text{font-size:15px}.bottom-nav{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:8px 0 max(8px,env(safe-area-inset-bottom));z-index:100;background:#fffffff2;border-top:1px solid #8b73551a;position:fixed;bottom:0;left:0;right:0}.bottom-nav-inner{justify-content:space-around;max-width:480px;margin:0 auto;padding:0 10px;display:flex}.bottom-nav-item{border-radius:12px;flex-direction:column;align-items:center;gap:4px;min-width:56px;padding:8px 12px;text-decoration:none;transition:all .15s;display:flex}.bottom-nav-item:hover{text-decoration:none}.bottom-nav-item.active{background:#e07a3a1f}.bottom-nav-icon{font-size:22px;line-height:1}.bottom-nav-label{color:var(--home-text-muted);font-size:11px;font-weight:500}.bottom-nav-item.active .bottom-nav-label{color:var(--home-accent);font-weight:600}.cookbook-error{color:#be123c;background:#e11d481a;border:1px solid #e11d4833;border-radius:12px;margin-bottom:16px;padding:12px 16px;font-size:14px}@media (min-width:768px){.cookbook-content,.home-content{max-width:720px}.cookbook-recipe-card{justify-content:space-between;align-items:center;gap:20px;padding:18px 24px;display:flex}.cookbook-recipe-info{flex:1;min-width:0}.cookbook-recipe-name{margin-bottom:4px;font-size:17px}.cookbook-recipe-time{margin-bottom:0}.cookbook-recipe-actions{flex-shrink:0;gap:12px}.cookbook-btn-edit,.cookbook-btn-cook{flex:none;min-width:120px;padding:12px 24px}.bottom-nav{padding:12px 0 max(12px,env(safe-area-inset-bottom))}.bottom-nav-inner{gap:8px;max-width:600px}.bottom-nav-item{border-radius:14px;min-width:80px;padding:12px 20px}.bottom-nav-icon{font-size:28px}.bottom-nav-label{margin-top:2px;font-size:12px}.cookbook-search-row{gap:12px}.cookbook-search-input input{padding:16px 16px 16px 48px;font-size:16px}.cookbook-add-btn{padding:16px 28px;font-size:16px}.cookbook-filters{gap:10px}.cookbook-filter-tag{padding:12px 20px;font-size:14px}.cookbook-recipes{gap:14px}}@media (min-width:1024px){.cookbook-content{max-width:860px}.bottom-nav-inner{max-width:700px}.bottom-nav-item{min-width:100px;padding:14px 24px}.bottom-nav-icon{font-size:30px}.bottom-nav-label{font-size:13px}.cookbook-btn-edit,.cookbook-btn-cook{min-width:140px}}.recipes-page{background:linear-gradient(180deg,var(--home-bg-start)0%,var(--home-bg-mid)100%);min-height:100vh;padding-bottom:90px;font-family:DM Sans,ui-sans-serif,system-ui,sans-serif}.recipes-content{max-width:480px;margin:0 auto;padding:0 20px}.recipes-header{justify-content:space-between;align-items:center;padding:20px 0;display:flex}.recipes-logo{align-items:center;gap:10px;text-decoration:none;display:flex}.recipes-logo:hover{text-decoration:none}.recipes-logo-icon{background:var(--home-accent);border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;display:flex}.recipes-logo-text{color:var(--home-text-dark);font-family:DM Serif Display,serif;font-size:18px}.recipes-title-section{margin-bottom:24px}.recipes-title{color:var(--home-text-dark);margin:0 0 4px;font-family:DM Serif Display,serif;font-size:32px;font-weight:400}.recipes-subtitle{color:var(--home-text-muted);margin:0;font-size:14px}.recipes-import-card{background:#ffffffbf;border:1px solid #ffffffe6;border-radius:20px;margin-bottom:28px;overflow:hidden;box-shadow:0 2px 16px #8b735514}.recipes-tabs{scrollbar-width:none;-ms-overflow-style:none;gap:8px;padding:16px 16px 0;display:flex;overflow-x:auto}.recipes-tabs::-webkit-scrollbar{display:none}.recipes-tab{white-space:nowrap;cursor:pointer;color:var(--home-text-muted2);background:#8b735514;border:none;border-radius:999px;padding:10px 16px;font-size:13px;font-weight:500;transition:all .15s}.recipes-tab:hover{background:#8b735524}.recipes-tab.active{background:var(--home-text-dark);color:#fff}.recipes-tab:disabled{opacity:.5;cursor:not-allowed}.recipes-tab-content{padding:20px 16px 16px}.recipes-url-row{gap:10px;display:flex}.recipes-url-input{color:var(--home-text-dark);background:#ffffffe6;border:1.5px solid #e07a3a40;border-radius:14px;outline:none;flex:1;padding:14px 16px;font-family:DM Sans,sans-serif;font-size:15px;transition:border-color .15s,box-shadow .15s}.recipes-url-input::placeholder{color:var(--home-text-muted)}.recipes-url-input:focus{border-color:var(--home-accent);box-shadow:0 0 0 3px #e07a3a1f}.recipes-import-btn{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#e07a3a 0%,#c45d2a 100%);border:none;border-radius:14px;padding:14px 24px;font-family:DM Sans,sans-serif;font-size:15px;font-weight:600;transition:transform .15s,box-shadow .15s}.recipes-import-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 14px #e07a3a59}.recipes-import-btn:disabled{opacity:.6;cursor:not-allowed}.recipes-helper-text{color:var(--home-text-muted);margin-top:10px;font-size:12px}.recipes-bookmarklet-zone{text-align:center;background:linear-gradient(135deg,#e07a3a14 0%,#e07a3a0a 100%);border:2px dashed #e07a3a4d;border-radius:16px;margin-bottom:16px;padding:24px}.recipes-bookmarklet-btn{color:#fff;cursor:grab;background:linear-gradient(135deg,#e07a3a 0%,#c45d2a 100%);border-radius:12px;align-items:center;gap:8px;padding:14px 24px;font-size:15px;font-weight:700;text-decoration:none;transition:transform .15s,box-shadow .15s;display:inline-flex;box-shadow:0 4px 14px #e07a3a59}.recipes-bookmarklet-btn:hover{text-decoration:none;transform:translateY(-2px);box-shadow:0 6px 20px #e07a3a66}.recipes-bookmarklet-hint{color:var(--home-accent);justify-content:center;align-items:center;gap:6px;margin-top:12px;font-size:13px;display:flex}.recipes-instructions-box{background:#6b8e5e14;border:1px solid #6b8e5e33;border-radius:12px;padding:16px}.recipes-instructions-title{color:var(--home-green);align-items:center;gap:8px;margin-bottom:10px;font-weight:600;display:flex}.recipes-instructions-list{color:var(--home-green);margin:0;padding-left:20px;font-size:14px}.recipes-instructions-list li{margin-bottom:6px}.recipes-action-card{text-align:center;background:#ffffff80;border:1px solid #8b73551a;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;padding:32px 20px;display:flex}.recipes-action-icon{margin-bottom:16px;font-size:48px}.recipes-action-title{color:var(--home-text-dark);margin-bottom:8px;font-size:16px;font-weight:600}.recipes-action-desc{color:var(--home-text-muted);margin-bottom:20px;font-size:13px}.recipes-action-btn{background:var(--home-text-dark);color:#fff;cursor:pointer;border:none;border-radius:12px;padding:14px 28px;font-family:DM Sans,sans-serif;font-size:15px;font-weight:600;transition:all .15s}.recipes-action-btn:hover{background:#1a1815;transform:translateY(-2px)}.recipes-divider{align-items:center;gap:16px;margin:32px 0;display:flex}.recipes-divider-line{background:#8b735533;flex:1;height:1px}.recipes-divider-text{letter-spacing:1.5px;text-transform:uppercase;color:var(--home-text-muted);font-size:11px;font-weight:600}.recipes-inspiration{margin-bottom:24px}.recipes-section-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.recipes-section-title{color:var(--home-text-dark);font-size:16px;font-weight:600}.recipes-section-link{color:var(--home-accent);font-size:13px;font-weight:600;text-decoration:none}.recipes-section-link:hover{text-decoration:underline}.recipes-cuisine-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px;display:grid}.recipes-cuisine-card{text-align:center;cursor:pointer;background:#ffffffd9;border:1px solid #ffffffe6;border-radius:16px;padding:16px 12px;text-decoration:none;transition:transform .15s,box-shadow .15s;box-shadow:0 2px 8px #8b73550f}.recipes-cuisine-card:hover{text-decoration:none;transform:translateY(-3px);box-shadow:0 6px 16px #8b73551f}.recipes-cuisine-emoji{margin-bottom:8px;font-size:32px;display:block}.recipes-cuisine-name{color:var(--home-text-dark);font-size:13px;font-weight:500}.recipes-search-card{background:#ffffffbf;border:1px solid #ffffffe6;border-radius:16px;padding:16px;box-shadow:0 2px 12px #8b73550f}.recipes-search-label{color:var(--home-text-muted);margin-bottom:10px;font-size:13px;font-weight:500}.recipes-search-row{gap:10px;display:flex}.recipes-search-input{color:var(--home-text-dark);background:#ffffffe6;border:1px solid #8b735526;border-radius:12px;outline:none;flex:1;padding:12px 14px;font-family:DM Sans,sans-serif;font-size:14px}.recipes-search-input::placeholder{color:var(--home-text-muted)}.recipes-search-input:focus{border-color:var(--home-accent)}.recipes-search-btn{background:var(--home-text-dark);color:#fff;cursor:pointer;border:none;border-radius:12px;align-items:center;gap:6px;padding:12px 20px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;transition:all .15s;display:flex}.recipes-search-btn:hover{background:#1a1815}.recipes-textarea{width:100%;min-height:140px;color:var(--home-text-dark);resize:vertical;background:#ffffffe6;border:1.5px solid #8b735526;border-radius:14px;outline:none;padding:14px;font-family:DM Sans,sans-serif;font-size:14px}.recipes-textarea:focus{border-color:var(--home-accent);box-shadow:0 0 0 3px #e07a3a1f}.recipes-textarea::placeholder{color:var(--home-text-muted)}.recipes-error{color:#be123c;background:#e11d481a;border:1px solid #e11d4833;border-radius:12px;margin-bottom:16px;padding:12px 16px;font-size:14px}.recipes-upload-zone{text-align:center;background:linear-gradient(135deg,#e07a3a14 0%,#e07a3a0a 100%);border:2px dashed #e07a3a4d;border-radius:16px;margin-bottom:16px;padding:24px}.recipes-upload-icon{margin-bottom:12px;font-size:40px}.recipes-upload-text{color:var(--home-text-muted2);margin-bottom:12px;font-size:14px;font-weight:500}.recipes-file-input{background:#fff;border:1px solid #e07a3a4d;border-radius:8px;padding:8px}.recipes-file-status{color:var(--home-accent);margin-top:10px;font-size:13px;font-weight:500}.recipes-form-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px;display:grid}.recipes-form-group{margin-bottom:16px}.recipes-form-label{color:var(--home-text-dark);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.recipes-form-label .optional{color:var(--home-text-muted);font-weight:400}.recipes-form-input{width:100%;color:var(--home-text-dark);background:#ffffffe6;border:1px solid #8b735526;border-radius:12px;outline:none;padding:12px 14px;font-family:DM Sans,sans-serif;font-size:14px}.recipes-form-input:focus{border-color:var(--home-accent)}.recipes-btn-row{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.recipes-btn-secondary{color:var(--home-text-muted2);cursor:pointer;background:#ffffffe6;border:1px solid #8b735533;border-radius:12px;padding:12px 20px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;transition:all .15s}.recipes-btn-secondary:hover:not(:disabled){background:#fff;border-color:#8b735559}.recipes-btn-secondary:disabled{opacity:.5;cursor:not-allowed}.recipes-btn-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#e07a3a 0%,#c45d2a 100%);border:none;border-radius:12px;padding:12px 24px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;transition:all .15s}.recipes-btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 14px #e07a3a59}.recipes-btn-primary:disabled{opacity:.6;cursor:not-allowed}@media (min-width:640px){.recipes-content{max-width:600px}.recipes-import-card{max-width:560px;margin-left:auto;margin-right:auto}.recipes-cuisine-grid{gap:12px}.recipes-cuisine-card{padding:18px 14px}.recipes-cuisine-emoji{font-size:34px}.recipes-cuisine-name{font-size:14px}.recipes-search-card{max-width:560px;margin-left:auto;margin-right:auto}}@media (min-width:768px){.recipes-content{max-width:800px}.recipes-import-card{max-width:720px}.recipes-tabs{gap:10px;padding:18px 20px 0}.recipes-tab{padding:12px 20px;font-size:14px}.recipes-tab-content{padding:24px 20px 20px}.recipes-url-input{padding:16px 18px;font-size:16px}.recipes-import-btn{padding:16px 28px;font-size:16px}.recipes-cuisine-grid{gap:14px}.recipes-cuisine-card{padding:20px 16px}.recipes-cuisine-emoji{font-size:36px}.recipes-search-card{max-width:720px;padding:20px}}@media (min-width:1024px){.recipes-content{max-width:960px}.recipes-import-card{max-width:800px}.recipes-cuisine-grid{grid-template-columns:repeat(4,1fr);gap:18px}.recipes-cuisine-card{border-radius:18px;padding:28px 20px}.recipes-cuisine-emoji{margin-bottom:12px;font-size:44px}.recipes-cuisine-name{font-size:16px;font-weight:600}.recipes-search-card{max-width:800px;padding:24px}.recipes-search-label{margin-bottom:12px;font-size:14px}.recipes-search-row{gap:14px}.recipes-search-input{padding:16px 20px;font-size:15px}.recipes-search-btn{padding:16px 28px;font-size:15px}}@media (min-width:1280px){.recipes-content{max-width:1000px}.recipes-cuisine-grid{grid-template-columns:repeat(5,1fr);gap:20px}.recipes-cuisine-card{border-radius:20px;padding:32px 24px}.recipes-cuisine-emoji{margin-bottom:14px;font-size:48px}.recipes-cuisine-name{font-size:17px}}.edit-recipe-page{background:linear-gradient(#fff9f5 0%,#fff5eb 100%);min-height:100vh;padding-bottom:100px;font-family:DM Sans,ui-sans-serif,system-ui,sans-serif}.edit-recipe-content{max-width:800px;margin:0 auto;padding:24px 20px}.edit-recipe-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.edit-recipe-header-left{flex:1;min-width:200px}.edit-recipe-title{color:#2d2a26;margin:0 0 4px;font-family:DM Serif Display,serif;font-size:32px;font-weight:400;line-height:1.2}.edit-recipe-subtitle{color:#8b7355;margin:0;font-size:14px;line-height:1.4}.edit-recipe-header-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.edit-recipe-btn-back{color:#6b5d4d;cursor:pointer;background:#ffffffd9;border:1px solid #8b735533;border-radius:12px;padding:12px 18px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;transition:all .15s}.edit-recipe-btn-back:hover{background:#fff;border-color:#8b735559}.edit-recipe-btn-danger{color:#c45d2a;cursor:pointer;background:#c45d2a14;border:1px solid #c45d2a33;border-radius:12px;padding:12px 18px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;transition:all .15s}.edit-recipe-btn-danger:hover:not(:disabled){background:#c45d2a24;border-color:#c45d2a59}.edit-recipe-btn-danger:disabled{opacity:.6;cursor:not-allowed}.edit-recipe-btn-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#e07a3a 0%,#c45d2a 100%);border:none;border-radius:12px;padding:12px 24px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;transition:all .15s;box-shadow:0 2px 8px #e07a3a40}.edit-recipe-btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 14px #e07a3a59}.edit-recipe-btn-primary:disabled{opacity:.6;cursor:not-allowed}.edit-recipe-error{color:#c45d2a;background:#c45d2a1a;border:1px solid #c45d2a40;border-radius:12px;margin-bottom:20px;padding:14px 18px;font-size:14px}.edit-recipe-card{background:#ffffffbf;border:1px solid #ffffffe6;border-radius:20px;margin-bottom:20px;padding:24px;box-shadow:0 2px 8px #6b5d4d0f}.edit-recipe-section-title{color:#2d2a26;margin:0 0 18px;font-family:DM Sans,sans-serif;font-size:16px;font-weight:600}.edit-recipe-form-row{gap:16px;margin-bottom:16px;display:flex}.edit-recipe-form-group{flex-direction:column;display:flex}.edit-recipe-form-flex{flex:1}.edit-recipe-form-narrow{flex-shrink:0;width:140px}.edit-recipe-label{color:#8b7355;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:12px;font-weight:600}.edit-recipe-input{color:#2d2a26;background:#fffc;border:1px solid #8b735526;border-radius:12px;outline:none;padding:14px 16px;font-family:DM Sans,sans-serif;font-size:15px;transition:all .15s}.edit-recipe-input::placeholder{color:#a89680}.edit-recipe-input:focus{background:#fff;border-color:#e07a3a66;box-shadow:0 0 0 3px #e07a3a1a}.edit-recipe-textarea{color:#2d2a26;resize:vertical;background:#fffc;border:1px solid #8b735526;border-radius:12px;outline:none;width:100%;min-height:120px;padding:14px 16px;font-family:DM Sans,sans-serif;font-size:15px;line-height:1.5;transition:all .15s}.edit-recipe-textarea::placeholder{color:#a89680}.edit-recipe-textarea:focus{background:#fff;border-color:#e07a3a66;box-shadow:0 0 0 3px #e07a3a1a}.edit-recipe-ingredients-header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.edit-recipe-ingredients-header .edit-recipe-section-title{margin-bottom:0}.edit-recipe-btn-add{color:#8b7355;cursor:pointer;background:0 0;border:2px dashed #8b73554d;border-radius:10px;padding:10px 16px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:600;transition:all .15s}.edit-recipe-btn-add:hover:not(:disabled){color:#e07a3a;background:#e07a3a0d;border-color:#e07a3a}.edit-recipe-btn-add:disabled{opacity:.5;cursor:not-allowed}.edit-recipe-table-wrapper{overflow-x:auto}.edit-recipe-table{border-collapse:collapse;width:100%}.edit-recipe-table thead{border-bottom:1px solid #8b73551a}.edit-recipe-table th{text-align:left;color:#8b7355;text-transform:uppercase;letter-spacing:.5px;padding:10px 8px;font-size:11px;font-weight:600}.edit-recipe-th-qty{width:80px}.edit-recipe-th-unit{width:100px}.edit-recipe-th-notes{width:180px}.edit-recipe-th-actions{width:110px}.edit-recipe-table tbody tr{border-bottom:1px solid #8b73550f}.edit-recipe-table tbody tr:hover{background:#ffffff80}.edit-recipe-table td{vertical-align:middle;padding:8px}.edit-recipe-table-input{color:#2d2a26;background:#fffc;border:1px solid #8b735526;border-radius:8px;outline:none;width:100%;padding:10px 12px;font-family:DM Sans,sans-serif;font-size:14px;transition:all .15s}.edit-recipe-table-input::placeholder{color:#a89680}.edit-recipe-table-input:focus{background:#fff;border-color:#e07a3a66;box-shadow:0 0 0 3px #e07a3a1a}.edit-recipe-row-actions{justify-content:flex-end;gap:6px;display:flex}.edit-recipe-row-btn{color:#8b7355;cursor:pointer;background:0 0;border:1px solid #8b735526;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;transition:all .15s;display:flex}.edit-recipe-row-btn:hover:not(:disabled){background:#8b735514;border-color:#8b735540}.edit-recipe-row-btn:disabled{opacity:.4;cursor:not-allowed}.edit-recipe-row-btn-delete{color:#c45d2a;border-color:#c45d2a26}.edit-recipe-row-btn-delete:hover:not(:disabled){background:#c45d2a14;border-color:#c45d2a40}.edit-recipe-empty{text-align:center;color:#a89680;padding:24px 16px;font-size:14px}.edit-recipe-empty-mobile{text-align:center;color:#a89680;background:#ffffff80;border-radius:12px;padding:24px 16px;font-size:14px}.edit-recipe-mobile-ingredients{display:none}.edit-recipe-ingredient-card{background:#ffffff80;border:1px solid #8b73551a;border-radius:12px;margin-bottom:12px;padding:16px}.edit-recipe-ingredient-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;display:grid}.edit-recipe-ingredient-field{flex-direction:column;display:flex}.edit-recipe-ingredient-full{grid-column:1/-1}.edit-recipe-ingredient-label{color:#8b7355;text-transform:uppercase;letter-spacing:.3px;margin-bottom:6px;font-size:11px;font-weight:600}.edit-recipe-ingredient-actions{border-top:1px solid #8b735514;justify-content:flex-end;gap:8px;padding-top:8px;display:flex}@media (max-width:640px){.edit-recipe-content{padding:16px}.edit-recipe-header{flex-direction:column;gap:16px}.edit-recipe-header-left{width:100%}.edit-recipe-title{font-size:28px}.edit-recipe-header-actions{justify-content:stretch;width:100%}.edit-recipe-header-actions>button{flex:1}.edit-recipe-btn-back{flex:.8}.edit-recipe-btn-danger{flex:1}.edit-recipe-btn-primary{flex:.8}.edit-recipe-card{border-radius:16px;padding:18px}.edit-recipe-form-row{flex-direction:column}.edit-recipe-form-narrow{width:100%}.edit-recipe-table-wrapper{display:none}.edit-recipe-mobile-ingredients{display:block}.edit-recipe-ingredients-header{flex-direction:column;align-items:flex-start;gap:12px}.edit-recipe-btn-add{width:100%;padding:14px 16px}}@media (min-width:641px) and (max-width:900px){.edit-recipe-content{max-width:680px}.edit-recipe-th-notes{width:140px}}@media (min-width:901px){.edit-recipe-content{max-width:900px;padding:32px 24px}.edit-recipe-card{padding:28px}.edit-recipe-form-row{gap:20px}.edit-recipe-ingredients-header{margin-bottom:20px}}.planner-page{background:linear-gradient(180deg,var(--home-bg-start)0%,var(--home-bg-mid)100%);min-height:100vh;padding-bottom:100px;font-family:DM Sans,ui-sans-serif,system-ui,sans-serif}.planner-content{max-width:480px;margin:0 auto;padding:0 20px}.planner-header{justify-content:space-between;align-items:center;padding:20px 0;display:flex}.planner-logo{align-items:center;gap:10px;text-decoration:none;display:flex}.planner-logo:hover{text-decoration:none}.planner-logo-icon{background:var(--home-accent);border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;display:flex}.planner-logo-text{color:var(--home-text-dark);font-family:DM Serif Display,serif;font-size:18px}.planner-title-section{margin-bottom:20px}.planner-title{color:var(--home-text-dark);margin:0 0 4px;font-family:DM Serif Display,serif;font-size:28px;font-weight:400}.planner-subtitle{color:var(--home-text-muted);margin:0;font-size:14px;line-height:1.4}.planner-controls{margin-bottom:20px}.planner-controls-row{flex-wrap:wrap;gap:10px;margin-bottom:10px;display:flex}.planner-date-picker{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.planner-date-icon{background:#ffffffd9;border:1px solid #8b735526;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;display:flex}.planner-date-input{color:var(--home-text-dark);background:#ffffffd9;border:1px solid #8b735526;border-radius:12px;outline:none;flex:1;min-width:0;padding:12px 14px;font-family:DM Sans,sans-serif;font-size:14px}.planner-date-input:focus{border-color:var(--home-accent);box-shadow:0 0 0 3px #e07a3a1f}.planner-load-btn{background:var(--home-text-dark);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:12px;padding:12px 20px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;transition:all .15s}.planner-load-btn:hover:not(:disabled){background:#1a1815}.planner-load-btn:disabled{opacity:.6;cursor:not-allowed}.planner-action-btns{gap:10px;width:100%;display:flex}.planner-save-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#e07a3a 0%,#c45d2a 100%);border:none;border-radius:12px;flex:1;padding:14px 20px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;transition:all .15s}.planner-save-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 14px #e07a3a59}.planner-save-btn:disabled{opacity:.6;cursor:not-allowed}.planner-clear-btn{color:var(--home-text-muted2);cursor:pointer;background:#ffffffd9;border:1px solid #8b735533;border-radius:12px;padding:14px 20px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;transition:all .15s}.planner-clear-btn:hover:not(:disabled){background:#fff;border-color:#8b735559}.planner-clear-btn:disabled{opacity:.6;cursor:not-allowed}.planner-person-toggle{background:#ffffff80;border-radius:14px;margin-bottom:12px;padding:4px;display:flex}.planner-person-btn{cursor:pointer;color:var(--home-text-muted);background:0 0;border:none;border-radius:10px;flex:1;padding:12px 16px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;transition:all .15s}.planner-person-btn.active{color:var(--home-text-dark);background:#fff;box-shadow:0 2px 8px #8b73551f}.planner-grocery-checkbox{cursor:pointer;background:#ffffffa6;border-radius:12px;align-items:center;gap:10px;margin-bottom:20px;padding:14px 16px;display:flex}.planner-checkbox-input{width:20px;height:20px;accent-color:var(--home-accent);cursor:pointer}.planner-checkbox-label{color:var(--home-text-dark);-webkit-user-select:none;user-select:none;font-size:14px}.planner-weeks{flex-direction:column;gap:20px;display:flex}.planner-week{background:#ffffffbf;border:1px solid #ffffffe6;border-radius:18px;overflow:hidden;box-shadow:0 2px 12px #8b735514}.planner-week-header{background:#e07a3a0f;border-bottom:1px solid #e07a3a1a;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.planner-week-title{color:var(--home-text-dark);font-size:15px;font-weight:700}.planner-week-badge{background:var(--home-accent);color:#fff;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600}.planner-days{flex-direction:column;gap:10px;padding:12px;display:flex}.planner-day-card{background:#ffffffd9;border:1px solid #8b73551a;border-radius:14px;padding:14px}.planner-day-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.planner-day-name{color:var(--home-text-dark);font-size:15px;font-weight:600}.planner-day-date{color:var(--home-text-muted);font-size:13px}.planner-meals{flex-direction:column;gap:10px;display:flex}.planner-meal-slot{flex-direction:column;gap:4px;display:flex}.planner-meal-label{letter-spacing:1px;text-transform:uppercase;color:var(--home-text-muted);font-size:10px;font-weight:700}.planner-meal-select{width:100%;color:var(--home-text-dark);cursor:pointer;appearance:none;background:#ffffffe6 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%238B7355' d='M6 8L2 4h8z'/%3E%3C/svg%3E") right 12px center no-repeat;border:1px solid #8b735526;border-radius:10px;outline:none;padding:12px 36px 12px 14px;font-family:DM Sans,sans-serif;font-size:14px}.planner-meal-select:focus{border-color:var(--home-accent);box-shadow:0 0 0 3px #e07a3a1f}.planner-meal-select.has-value{background-color:#e07a3a14;border-color:#e07a3a40}.planner-summary{background:#ffffffbf;border:1px solid #ffffffe6;border-radius:18px;margin-top:20px;overflow:hidden;box-shadow:0 2px 12px #8b735514}.planner-summary-header{background:#e07a3a0f;border-bottom:1px solid #e07a3a1a;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.planner-summary-title{color:var(--home-text-dark);font-size:15px;font-weight:700}.planner-summary-count{background:var(--home-accent);color:#fff;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600}.planner-summary-list{padding:8px 0}.planner-recipe-row{border-bottom:1px solid #8b735514;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.planner-recipe-row:last-child{border-bottom:none}.planner-recipe-info{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.planner-recipe-name{color:var(--home-accent);cursor:pointer;font-size:14px;font-weight:600}.planner-recipe-name:hover{text-decoration:underline}.planner-recipe-meals{color:var(--home-text-muted);background:#8b735514;border-radius:999px;padding:4px 10px;font-size:12px}.planner-multiplier-btns{gap:6px;display:flex}.planner-mult-btn{color:var(--home-text-muted2);cursor:pointer;background:#ffffffe6;border:1px solid #8b735526;border-radius:8px;padding:8px 14px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:600;transition:all .15s}.planner-mult-btn:hover{background:#fff;border-color:#8b73554d}.planner-mult-btn.active{background:var(--home-text-dark);color:#fff;border-color:var(--home-text-dark)}.planner-error{color:#be123c;background:#e11d481a;border:1px solid #e11d4833;border-radius:12px;margin-bottom:16px;padding:12px 16px;font-size:14px}.planner-notice{background:#e07a3a14;border:1px solid #e07a3a33;border-radius:12px;margin-bottom:16px;padding:14px 16px}.planner-notice-title{color:var(--home-text-dark);margin-bottom:6px;font-size:14px;font-weight:600}.planner-notice-text{color:var(--home-text-muted2);margin-bottom:12px;font-size:13px}.planner-notice-btns{justify-content:flex-end;gap:10px;display:flex}.planner-notice-btn{cursor:pointer;border-radius:10px;padding:10px 16px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:600;transition:all .15s}.planner-notice-btn.secondary{color:var(--home-text-muted2);background:#ffffffe6;border:1px solid #8b735533}.planner-notice-btn.primary{background:var(--home-accent);color:#fff;border:none}.planner-warning{color:#92400e;background:#eab3081f;border:1px solid #eab3084d;border-radius:12px;margin-bottom:16px;padding:12px 16px;font-size:14px}.planner-summary-empty{text-align:center;color:var(--home-text-muted);padding:24px 16px;font-size:14px}@media (min-width:768px){.planner-content{max-width:900px}.planner-mobile-view{display:none}.planner-desktop-view{display:block}.planner-desktop-grocery-row{background:#ffffffa6;border-radius:14px;flex-wrap:wrap;gap:24px;margin-bottom:20px;padding:16px 20px;display:flex}.planner-desktop-checkbox{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:12px;display:flex}.planner-desktop-checkbox input{opacity:0;width:0;height:0;position:absolute}.planner-desktop-checkbox-box{background:0 0;border:2px solid #8b73554d;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;transition:all .15s;display:flex}.planner-desktop-checkbox-box svg{width:14px;height:14px;display:none}.planner-desktop-checkbox input:checked+.planner-desktop-checkbox-box{background:var(--home-accent);border-color:var(--home-accent)}.planner-desktop-checkbox input:checked+.planner-desktop-checkbox-box svg{display:block}.planner-desktop-checkbox input:disabled+.planner-desktop-checkbox-box{opacity:.5}.planner-desktop-checkbox-label{color:var(--home-text-dark);font-size:14px;font-weight:500}.planner-controls-row{flex-wrap:nowrap}.planner-action-btns{width:auto}.planner-save-btn{flex:none}.planner-table-wrapper{background:#ffffffbf;border:1px solid #ffffffe6;border-radius:18px;margin-bottom:20px;overflow:hidden;box-shadow:0 2px 12px #8b735514}.planner-table-header{background:#e07a3a0f;border-bottom:1px solid #e07a3a1a;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.planner-table{border-collapse:collapse;width:100%}.planner-table th,.planner-table td{text-align:center;border-bottom:1px solid #8b735514;padding:12px 10px}.planner-table th{color:var(--home-text-muted);text-transform:uppercase;letter-spacing:.5px;background:#8b73550a;font-size:12px;font-weight:700}.planner-table th:first-child{text-align:left;padding-left:20px}.planner-table td:first-child{text-align:left;color:var(--home-text-dark);white-space:nowrap;padding-left:20px;font-weight:600}.planner-table tr:last-child td{border-bottom:none}.planner-table tr:hover td{background:#e07a3a08}.planner-table-select{width:100%;min-width:140px;color:var(--home-text-dark);cursor:pointer;background:#ffffffe6;border:1px solid #8b73551f;border-radius:8px;outline:none;padding:10px 12px;font-family:DM Sans,sans-serif;font-size:13px}.planner-table-select:focus{border-color:var(--home-accent);box-shadow:0 0 0 2px #e07a3a1f}.planner-table-select.has-value{background-color:#e07a3a14;border-color:#e07a3a33}.planner-recipe-row{flex-direction:row;justify-content:space-between;align-items:center}.planner-multiplier-btns{flex-shrink:0}}@media (max-width:767px){.planner-desktop-view,.planner-desktop-grocery-row{display:none}.planner-mobile-view{display:block}}@media (min-width:1024px){.planner-content{max-width:1100px}.planner-table-select{min-width:160px}}.grocery-page{background:linear-gradient(180deg,var(--home-bg-start)0%,var(--home-bg-mid)100%);min-height:100vh;padding-bottom:100px;font-family:DM Sans,ui-sans-serif,system-ui,sans-serif}.grocery-content{max-width:600px;margin:0 auto;padding:0 20px}.grocery-header{justify-content:space-between;align-items:center;padding:20px 0;display:flex}.grocery-logo{align-items:center;gap:10px;text-decoration:none;display:flex}.grocery-logo:hover{text-decoration:none}.grocery-logo-icon{background:var(--home-accent);border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;display:flex}.grocery-logo-text{color:var(--home-text-dark);font-family:DM Serif Display,serif;font-size:18px}.grocery-title-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.grocery-title-section{flex-direction:column;gap:6px;display:flex}.grocery-title{color:var(--home-text-dark);margin:0;font-family:DM Serif Display,serif;font-size:28px;font-weight:400}.grocery-count-badge{background:var(--home-accent);color:#fff;border-radius:999px;align-items:center;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex}.grocery-add-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#e07a3a 0%,#c45d2a 100%);border:none;border-radius:14px;align-items:center;gap:6px;padding:14px 24px;font-family:DM Sans,sans-serif;font-size:15px;font-weight:600;transition:transform .15s,box-shadow .15s;display:flex}.grocery-add-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 14px #e07a3a59}.grocery-add-btn:disabled{opacity:.6;cursor:not-allowed}.grocery-progress{background:#ffffffbf;border-radius:16px;margin-bottom:16px;padding:16px;box-shadow:0 2px 8px #8b73550f}.grocery-progress-bar{background:#8b73551f;border-radius:999px;height:12px;margin-bottom:8px;overflow:hidden}.grocery-progress-fill{background:linear-gradient(135deg,#86c29c 0%,#5b9a6d 100%);border-radius:999px;height:100%;transition:width .3s}.grocery-progress-labels{color:var(--home-text-muted);justify-content:space-between;font-size:13px;display:flex}.grocery-progress-labels .checked{color:#5b9a6d;font-weight:600}.grocery-quick-actions{flex-wrap:wrap;gap:10px;margin-bottom:20px;display:flex}.grocery-action-btn{color:var(--home-text-muted2);cursor:pointer;background:#ffffffd9;border:1px solid #8b735526;border-radius:12px;align-items:center;gap:6px;padding:10px 16px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:600;transition:all .15s;display:flex}.grocery-action-btn:hover:not(:disabled){background:#fff;border-color:#8b73554d}.grocery-action-btn:disabled{opacity:.5;cursor:not-allowed}.grocery-action-btn.danger:hover:not(:disabled){color:#c45d2a;background:#c45d2a14;border-color:#c45d2a4d}.grocery-stores{flex-direction:column;gap:16px;display:flex}.grocery-store{border-radius:18px;overflow:hidden;box-shadow:0 2px 12px #8b735514}.grocery-store-header{justify-content:space-between;align-items:center;padding:0;font-family:DM Sans,sans-serif;transition:opacity .15s;display:flex}.grocery-store-header-main{cursor:pointer;text-align:left;color:inherit;background:0 0;border:none;flex:1;justify-content:space-between;align-items:center;padding:14px 18px;font-family:inherit;display:flex}.grocery-store-header-main:hover{opacity:.95}.grocery-store-header.costco{color:#fff;background:linear-gradient(135deg,#c45d2a 0%,#a84820 100%)}.grocery-store-header.trader-joes{color:#fff;background:linear-gradient(135deg,#d4854a 0%,#b86d35 100%)}.grocery-store-header.giant{color:#fff;background:linear-gradient(135deg,#6b8e6b 0%,#557855 100%)}.grocery-store-header.total-wine{color:#fff;background:linear-gradient(135deg,#8b3a62 0%,#6b2a4a 100%)}.grocery-store-header.unassigned{color:#fff;background:linear-gradient(135deg,#8b8075 0%,#6b6055 100%)}.grocery-store-left{align-items:center;gap:10px;display:flex}.grocery-store-arrow{font-size:12px;transition:transform .2s}.grocery-store-arrow.collapsed{transform:rotate(-90deg)}.grocery-store-name{font-size:16px;font-weight:700}.grocery-store-count{background:#fff3;border-radius:999px;padding:4px 12px;font-size:13px;font-weight:600}.grocery-store-content{background:#ffffffbf;padding:16px}.grocery-category{margin-bottom:16px}.grocery-category:last-child{margin-bottom:0}.grocery-category-header{text-transform:uppercase;letter-spacing:1px;color:var(--home-text-muted);border-bottom:1px solid #8b73551f;margin-bottom:10px;padding-bottom:8px;font-size:11px;font-weight:700}.grocery-items{flex-direction:column;gap:8px;display:flex}.grocery-item{background:0 0;border:1px solid #8b735514;border-radius:14px;transition:all .15s;position:relative;overflow:hidden}.grocery-item:hover{border-color:#8b73552e}.grocery-item.checked{opacity:.6}.grocery-item-swipe-bg{display:none}@media (max-width:767px){.grocery-item{touch-action:pan-y pinch-zoom;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.grocery-item-content{touch-action:pan-y pinch-zoom}.grocery-item-name{-webkit-user-select:text;user-select:text}.grocery-drag-handle{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.grocery-item.swiping .grocery-item-swipe-bg{z-index:0;background:#c45d2a;border-radius:14px;justify-content:flex-end;align-items:center;width:100%;padding-right:20px;display:flex;position:absolute;top:0;bottom:0;right:0}.grocery-swipe-delete-btn{color:#fff;cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:60px;padding:12px 16px;font-family:DM Sans,sans-serif;font-size:12px;font-weight:600;display:flex}.grocery-swipe-delete-btn svg{width:22px;height:22px}.grocery-item.deleting{animation:.3s ease-out forwards swipeDeleteOut}@keyframes swipeDeleteOut{0%{opacity:1;max-height:200px;transform:translate(0)}50%{opacity:.5;max-height:200px;transform:translate(-100%)}to{opacity:0;border-width:0;max-height:0;margin-bottom:0;padding:0;transform:translate(-100%)}}}.grocery-item-content{z-index:1;cursor:pointer;background:#fff;border-radius:14px;padding:14px 44px 14px 14px;transition:background .15s;position:relative}.grocery-item-content:hover{background:#e07a3a0a}.grocery-item-content:active{background:#e07a3a14}.grocery-item.checked .grocery-item-content{background:#f5f3f0}.grocery-item.checked .grocery-item-content:hover{background:#ebe8e4}.grocery-item-main{align-items:center;gap:14px;min-height:44px;display:flex}.grocery-item-content:focus-visible{outline:2px solid var(--home-accent);outline-offset:2px}.grocery-checkbox{flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;margin:-10px 4px -10px -10px;display:flex;position:relative}.grocery-checkbox input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute}.grocery-checkbox-visual{background:0 0;border:2px solid #8b73554d;border-radius:8px;justify-content:center;align-items:center;width:26px;height:26px;transition:all .15s;display:flex}.grocery-checkbox input:checked+.grocery-checkbox-visual{background:#86c29c;border-color:#86c29c}.grocery-checkbox-visual svg{display:none}.grocery-checkbox input:checked+.grocery-checkbox-visual svg{display:block}.grocery-item-info{flex:1;min-width:0}.grocery-item-name{color:var(--home-text-dark);margin-bottom:2px;font-size:15px;font-weight:600}.grocery-item.checked .grocery-item-name{color:var(--home-text-muted);text-decoration:line-through}.grocery-item-details{color:var(--home-text-muted);font-size:13px}.grocery-item.checked .grocery-item-details{text-decoration:line-through}.grocery-item-total-qty{color:var(--home-text-secondary,#5d4e3c);font-weight:500}.grocery-item.checked .grocery-item-total-qty{text-decoration:line-through}.grocery-item-total{color:#2d2a26;white-space:nowrap;flex-shrink:0;font-size:13px;font-weight:700}.grocery-item.checked .grocery-item-total{opacity:.5;text-decoration:line-through}.grocery-breakdown{border-left:2px solid #a8968040;flex-direction:column;gap:6px;margin:8px 0 0 48px;padding-left:8px;display:flex}.grocery-breakdown-row{color:#6b5d4d;align-items:flex-start;gap:8px;font-size:13px;line-height:1.4;display:flex}.grocery-breakdown-connector{color:#a89680;-webkit-user-select:none;user-select:none;flex-shrink:0;font-family:monospace;font-size:12px}.grocery-breakdown-qty{flex:1;min-width:0}.grocery-breakdown-note{color:#8b7355;font-style:italic}.grocery-breakdown-row .grocery-recipe-badge{flex-shrink:0;max-width:140px;padding:3px 8px;font-size:10px}.grocery-item.checked .grocery-breakdown{opacity:.5}.grocery-item.checked .grocery-breakdown-row{text-decoration:line-through}.grocery-item-badges{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:4px;max-width:140px;display:flex}.grocery-recipe-badge{color:#c45d2a;white-space:normal;word-wrap:break-word;text-align:left;background:#e07a3a1f;border-radius:12px;max-width:180px;padding:4px 10px;font-size:11px;font-weight:600;line-height:1.3;display:inline-block}.grocery-recipe-badge.manual{color:#8b7355;background:#8b73551a}.grocery-recipe-badge.clickable{transition:background-color .15s,transform .15s}@media (min-width:769px){.grocery-recipe-badge.clickable{cursor:pointer}.grocery-recipe-badge.clickable:hover{background:#e07a3a40;transform:translateY(-1px)}.grocery-recipe-badge.clickable:active{background:#e07a3a59;transform:translateY(0)}}.grocery-item.checked .grocery-recipe-badge{opacity:.5}.grocery-item-qty{color:var(--home-text-muted2);white-space:nowrap;font-size:14px;font-weight:600}.grocery-item-menu{z-index:10;position:absolute;top:12px;right:8px}.grocery-item-menu-btn{color:#8b7355;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;transition:all .15s;display:flex}.grocery-item-menu-btn:hover:not(:disabled){color:#6b5d4d;background:#8b73551a}.grocery-item-menu-btn:disabled{opacity:.4;cursor:not-allowed}.grocery-item.checked .grocery-item-menu-btn{opacity:.5}.grocery-item-dropdown{z-index:100;background:#fff;border:1px solid #8b735526;border-radius:12px;min-width:140px;margin-top:4px;padding:8px 0;position:absolute;top:100%;right:0;box-shadow:0 4px 12px #6b5d4d26}.grocery-item-dropdown-option{text-align:left;color:#4a3f35;cursor:pointer;background:0 0;border:none;width:100%;padding:10px 16px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;transition:background .15s;display:block}.grocery-item-dropdown-option:hover{background:#8b735514}.grocery-item-dropdown-option.delete{color:#c45d2a}.grocery-item-dropdown-option.delete:hover{background:#c45d2a14}.grocery-item-dropdown-portal{background:#fff;border:1px solid #8b735526;border-radius:12px;min-width:140px;padding:8px 0;animation:.15s ease-out dropdownFadeIn;box-shadow:0 4px 16px #6b5d4d33}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.grocery-zone-header{text-transform:uppercase;letter-spacing:1.2px;color:#4a7c59;background:linear-gradient(90deg,#4a7c5914 0%,#0000 100%);border-left:3px solid #4a7c59;border-radius:0 8px 8px 0;margin:0 -8px 12px;padding:10px 14px;font-size:12px;font-weight:700}.grocery-drag-handle{color:#8b735559;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;flex-shrink:0;justify-content:center;align-items:center;padding:4px 8px 4px 4px;display:flex}.grocery-drag-handle:hover{color:#8b735599}.grocery-drag-handle:active{cursor:grabbing;color:#8b7355cc}.grocery-item.drag-mode{cursor:grab}.grocery-item.drag-mode:active{cursor:grabbing}.grocery-item[style*=transform]{z-index:10;border-color:#4a7c594d;box-shadow:0 8px 24px #6b5d4d33}.grocery-error{color:#be123c;background:#e11d481a;border:1px solid #e11d4833;border-radius:12px;margin-bottom:16px;padding:12px 16px;font-size:14px}.grocery-toast{color:#2d6a4f;background:#86c29c26;border:1px solid #86c29c4d;border-radius:12px;align-items:center;gap:10px;margin-bottom:16px;padding:12px 16px;font-size:14px;display:flex}.grocery-undo-banner{background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);border:1px solid #f59e0b;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:12px 16px;display:flex}.grocery-undo-text{color:#92400e;font-weight:500}.grocery-undo-btn{color:#fff;cursor:pointer;background:#f59e0b;border:none;border-radius:10px;padding:8px 16px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:600;transition:all .15s}.grocery-undo-btn:hover:not(:disabled){background:#d97706}.grocery-empty{text-align:center;color:var(--home-text-muted);padding:40px 20px}.grocery-empty-icon{opacity:.6;margin-bottom:12px;font-size:48px}.grocery-empty-text{font-size:15px}.dog-fetch-loader{width:260px;height:70px;margin:20px auto;position:relative;overflow:hidden}.dog-fetch-ball{background:#9bc53d;border-radius:50%;width:16px;height:16px;animation:3s ease-in-out infinite ball-bounce;position:absolute;top:38px;box-shadow:inset -2px -2px 4px #0003}.dog-shape{animation:.15s ease-in-out infinite dog-bounce;position:absolute;top:30px}.dog-shape .dog-body{border-radius:10px 14px 8px 10px;width:32px;height:18px;position:relative}.dog-shape .dog-head{border-radius:8px 10px 6px 8px;width:16px;height:14px;position:absolute;top:-4px;right:-10px}.dog-shape .dog-snout{border-radius:4px 8px 6px 4px;width:10px;height:8px;position:absolute;top:2px;right:-18px}.dog-shape .dog-ear{border-radius:4px 4px 2px 2px;width:8px;height:10px;position:absolute;top:-10px;right:-6px}.dog-shape .dog-tail{transform-origin:100%;border-radius:6px 2px 2px 6px;width:14px;height:6px;animation:.2s ease-in-out infinite tail-wag;position:absolute;top:2px;left:-10px}.dog-shape .dog-legs{gap:14px;display:flex;position:absolute;bottom:-8px;left:4px}.dog-shape .dog-leg{border-radius:2px;width:5px;height:10px;animation:.15s ease-in-out infinite leg-run}.dog-shape .dog-leg:nth-child(2){animation-delay:75ms}.dog-golden{animation:3s ease-in-out infinite golden-chase,.15s ease-in-out infinite dog-bounce}.dog-golden .dog-body,.dog-golden .dog-head,.dog-golden .dog-snout,.dog-golden .dog-tail{background:#d4a056}.dog-golden .dog-ear{background:#c4904a}.dog-golden .dog-leg{background:#c9955a}.dog-malinois{animation:3s ease-in-out 50ms infinite malinois-chase,.15s ease-in-out infinite dog-bounce}.dog-malinois .dog-body,.dog-malinois .dog-head,.dog-malinois .dog-snout,.dog-malinois .dog-tail{background:#2c2c2c}.dog-malinois .dog-ear{background:#1a1a1a}.dog-malinois .dog-leg{background:#252525}@keyframes ball-bounce{0%{top:38px;left:-20px}10%{top:20px}20%{top:38px}30%{top:20px}40%{top:38px}50%{top:20px}60%{top:38px}70%{top:20px}80%{top:38px}to{top:38px;left:260px}}@keyframes golden-chase{0%{left:-70px}to{left:210px}}@keyframes malinois-chase{0%{left:-110px}to{left:170px}}@keyframes dog-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes tail-wag{0%,to{transform:rotate(-10deg)}50%{transform:rotate(15deg)}}@keyframes leg-run{0%,to{transform:rotate(-15deg)}50%{transform:rotate(15deg)}}.dog-fetch-overlay{z-index:9999;background:#fff9f5f2;justify-content:center;align-items:center;animation:3s ease-in-out forwards overlay-fade;display:flex;position:fixed;inset:0}@keyframes overlay-fade{0%{opacity:0}10%{opacity:1}80%{opacity:1}to{opacity:0}}.dog-fetch-scene{width:100%;max-width:500px;height:120px;position:relative;overflow:hidden}.dog-fetch-scene .dog-fetch-ball{width:24px;height:24px;animation:2.5s ease-in-out forwards ball-bounce-big;top:55px}.dog-fetch-scene .dog-shape{top:45px;transform:scale(1.5)}.dog-fetch-scene .dog-golden{animation:2.5s ease-in-out forwards golden-chase-big,.15s ease-in-out infinite dog-bounce}.dog-fetch-scene .dog-malinois{animation:2.5s ease-in-out forwards malinois-chase-big,.15s ease-in-out 50ms infinite dog-bounce}@keyframes ball-bounce-big{0%{top:55px;left:-30px}10%{top:30px}20%{top:55px}30%{top:30px}40%{top:55px}50%{top:30px}60%{top:55px}70%{top:30px}80%{top:55px}to{top:55px;left:520px}}@keyframes golden-chase-big{0%{left:-100px}to{left:450px}}@keyframes malinois-chase-big{0%{left:-160px}to{left:390px}}.grocery-modal-overlay{z-index:1000;background:#00000059;justify-content:center;align-items:flex-start;padding:80px 16px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.grocery-modal{background:#fffffffa;border-radius:20px;width:min(520px,100%);margin-bottom:40px;box-shadow:0 20px 60px #0003}.grocery-modal.large{width:min(720px,100%)}.grocery-modal.confirm{text-align:center;width:min(380px,100% - 32px)}.grocery-modal.confirm .grocery-modal-header{border-bottom:none;padding-bottom:8px}.grocery-modal.confirm .grocery-modal-title{text-align:center;width:100%}.grocery-modal.confirm .grocery-modal-body{padding-top:0}.grocery-confirm-message{color:var(--home-text-muted);margin:0;font-size:14px;line-height:1.5}.grocery-modal.confirm .grocery-modal-actions{justify-content:center;padding:16px 20px 20px}.grocery-modal-btn{cursor:pointer;border-radius:12px;padding:12px 24px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;transition:all .15s}.grocery-modal-btn.secondary{color:var(--home-text-muted2);background:#ffffffe6;border:1px solid #8b735533}.grocery-modal-btn.secondary:hover{background:#fff;border-color:#8b735559}.grocery-modal-btn.danger{color:#fff;background:#c45d2a;border:1px solid #c45d2a}.grocery-modal-btn.danger:hover{background:#a84d22;border-color:#a84d22}.grocery-modal-header{border-bottom:1px solid #8b73551a;justify-content:space-between;align-items:center;padding:20px;display:flex}.grocery-modal-title{color:var(--home-text-dark);margin:0;font-size:18px;font-weight:700}.grocery-modal-close{width:36px;height:36px;color:var(--home-text-muted);cursor:pointer;background:#8b735514;border:none;border-radius:10px;justify-content:center;align-items:center;font-size:18px;transition:all .15s;display:flex}.grocery-modal-close:hover{background:#8b735526}.grocery-modal-body{padding:20px}.grocery-add-tabs{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.grocery-add-tab{color:var(--home-text-muted2);cursor:pointer;background:#8b735514;border:none;border-radius:999px;padding:10px 16px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:600;transition:all .15s}.grocery-add-tab:hover{background:#8b735526}.grocery-add-tab.active{background:var(--home-text-dark);color:#fff}.grocery-edit-mode-selector{background:#e07a3a0d;border:1px solid #e07a3a26;border-radius:12px;margin-bottom:20px;padding:14px}.grocery-edit-mode-label{color:var(--home-text-muted2);margin-bottom:12px;font-size:13px}.grocery-edit-mode-options{flex-direction:column;gap:8px;display:flex}.grocery-edit-mode-option{cursor:pointer;background:#ffffffe6;border:1px solid #8b735526;border-radius:10px;flex-direction:column;padding:12px 14px;transition:all .15s;display:flex}.grocery-edit-mode-option:hover{background:#fff;border-color:#8b735540}.grocery-edit-mode-option.active{border-color:var(--home-accent);background:#fff;box-shadow:0 0 0 2px #e07a3a26}.grocery-edit-mode-option input[type=radio]{opacity:0;pointer-events:none;position:absolute}.grocery-edit-mode-option .mode-title{color:var(--home-text-dark);margin-bottom:2px;font-size:14px;font-weight:600}.grocery-edit-mode-option .mode-desc{color:var(--home-text-muted2);font-size:12px}.grocery-form-group{margin-bottom:16px}.grocery-form-label{color:var(--home-text-dark);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.grocery-form-label .optional{color:var(--home-text-muted);font-weight:400}.grocery-form-input{width:100%;color:var(--home-text-dark);background:#ffffffe6;border:1px solid #8b735526;border-radius:12px;outline:none;padding:12px 14px;font-family:DM Sans,sans-serif;font-size:14px;transition:all .15s}.grocery-form-input:focus{border-color:var(--home-accent);box-shadow:0 0 0 3px #e07a3a1f}.grocery-form-textarea{width:100%;min-height:140px;color:var(--home-text-dark);resize:vertical;background:#ffffffe6;border:1px solid #8b735526;border-radius:12px;outline:none;padding:12px 14px;font-family:DM Sans,sans-serif;font-size:14px;transition:all .15s}.grocery-form-textarea:focus{border-color:var(--home-accent);box-shadow:0 0 0 3px #e07a3a1f}.grocery-form-select{width:100%;color:var(--home-text-dark);cursor:pointer;background:#ffffffe6;border:1px solid #8b735526;border-radius:12px;outline:none;padding:12px 14px;font-family:DM Sans,sans-serif;font-size:14px}.grocery-form-select:focus{border-color:var(--home-accent)}.grocery-form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.grocery-modal-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.grocery-btn-secondary{color:var(--home-text-muted2);cursor:pointer;background:#ffffffe6;border:1px solid #8b735533;border-radius:12px;padding:12px 20px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;transition:all .15s}.grocery-btn-secondary:hover:not(:disabled){background:#fff;border-color:#8b735559}.grocery-btn-secondary:disabled{opacity:.5;cursor:not-allowed}.grocery-btn-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#e07a3a 0%,#c45d2a 100%);border:none;border-radius:12px;padding:12px 24px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;transition:all .15s}.grocery-btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 14px #e07a3a59}.grocery-btn-primary:disabled{opacity:.5;cursor:not-allowed}.grocery-modal.zone-picker{max-width:420px}.grocery-zone-picker-hint{color:var(--home-text-muted2);margin-bottom:16px;font-size:14px}.grocery-zone-picker-grid{grid-template-columns:repeat(2,1fr);gap:10px;max-height:400px;padding-right:4px;display:grid;overflow-y:auto}.grocery-zone-picker-btn{color:var(--home-text-muted2);cursor:pointer;text-align:center;background:#ffffffe6;border:1px solid #8b735526;border-radius:10px;padding:14px 12px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:500;transition:all .15s}.grocery-zone-picker-btn:hover:not(:disabled){border-color:var(--home-accent);color:var(--home-accent);background:#fff;transform:translateY(-1px);box-shadow:0 2px 8px #e07a3a26}.grocery-zone-picker-btn:disabled{opacity:.5;cursor:not-allowed}.grocery-zone-picker-loading{text-align:center;color:var(--home-text-muted2);margin-top:16px;font-size:14px}.grocery-modal.store-settings{flex-direction:column;max-width:480px;max-height:85vh;display:flex}.grocery-modal.store-settings .grocery-modal-body{flex:1;padding-bottom:20px;overflow-y:auto}.store-settings-back{color:var(--home-accent);cursor:pointer;background:0 0;border:none;margin-right:8px;padding:0;font-size:14px;font-weight:500}.store-settings-back:hover{text-decoration:underline}.store-settings-loading{text-align:center;color:var(--home-text-muted2);padding:40px 20px}.store-settings-picker{flex-direction:column;gap:12px;display:flex}.store-settings-store-btn{color:var(--home-text-primary);cursor:pointer;background:#ffffffe6;border:1px solid #8b735526;border-radius:12px;justify-content:space-between;align-items:center;padding:16px 20px;font-family:DM Sans,sans-serif;font-size:16px;font-weight:500;transition:all .15s;display:flex}.store-settings-store-btn:hover{border-color:var(--home-accent);background:#fff;transform:translate(4px)}.store-settings-store-btn .store-arrow{color:var(--home-text-muted2);font-size:18px}.store-settings-editor{flex-direction:column;gap:16px;display:flex}.store-settings-actions{justify-content:flex-end;display:flex}.store-settings-reset-btn{color:var(--home-text-muted2);cursor:pointer;background:#ffffffe6;border:1px solid #8b735533;border-radius:8px;padding:8px 16px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:500;transition:all .15s}.store-settings-reset-btn:hover:not(:disabled){background:#fff;border-color:#8b735559}.store-settings-zones{flex-direction:column;gap:8px;display:flex}.store-settings-zone{background:#ffffffe6;border:1px solid #8b73551f;border-radius:10px;align-items:center;gap:12px;padding:12px 14px;transition:all .15s;display:flex}.store-settings-zone:hover{background:#fff;border-color:#8b735540}.zone-drag-handle{color:var(--home-text-muted2);cursor:grab;-webkit-user-select:none;user-select:none;padding:4px;font-size:14px}.zone-drag-handle:active{cursor:grabbing}.zone-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.zone-name{color:var(--home-text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.zone-keyword-count{color:var(--home-text-muted2);font-size:12px}.zone-actions{gap:8px;display:flex}.zone-edit-btn{color:var(--home-text-muted2);cursor:pointer;background:0 0;border:1px solid #8b735533;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:500;transition:all .15s}.zone-edit-btn:hover:not(:disabled){border-color:var(--home-accent);color:var(--home-accent);background:#e07a3a1a}.zone-delete-btn{color:#ef444499;cursor:pointer;background:0 0;border:1px solid #ef444433;border-radius:6px;width:28px;height:28px;font-size:12px;transition:all .15s}.zone-delete-btn:hover:not(:disabled){color:#ef4444;background:#ef44441a;border-color:#ef444466}.zone-edit-form{flex-direction:column;flex:1;gap:10px;display:flex}.zone-edit-name,.zone-edit-keywords{background:#fff;border:1px solid #8b735533;border-radius:8px;padding:10px 12px;font-family:DM Sans,sans-serif;font-size:14px}.zone-edit-name:focus,.zone-edit-keywords:focus{border-color:var(--home-accent);outline:none}.zone-edit-keywords{color:var(--home-text-muted2);font-size:13px}.zone-edit-actions{justify-content:flex-end;gap:8px;display:flex}.zone-edit-save,.zone-edit-cancel{cursor:pointer;border-radius:8px;padding:8px 16px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:500;transition:all .15s}.zone-edit-save{color:#fff;background:linear-gradient(135deg,#e07a3a 0%,#c45d2a 100%);border:none}.zone-edit-save:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 8px #e07a3a4d}.zone-edit-cancel{color:var(--home-text-muted2);background:#ffffffe6;border:1px solid #8b735533}.zone-edit-cancel:hover:not(:disabled){background:#fff;border-color:#8b735559}.store-settings-add-btn{color:var(--home-accent);cursor:pointer;background:#e07a3a14;border:1px dashed #e07a3a4d;border-radius:10px;justify-content:center;align-items:center;padding:14px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;transition:all .15s;display:flex}.store-settings-add-btn:hover:not(:disabled){background:#e07a3a1f;border-color:#e07a3a80}.store-settings-add-form{background:#e07a3a0d;border:1px solid #e07a3a33;border-radius:10px;flex-direction:column;gap:12px;padding:14px;display:flex}.add-zone-input{background:#fff;border:1px solid #8b735533;border-radius:8px;padding:10px 12px;font-family:DM Sans,sans-serif;font-size:14px}.add-zone-input:focus{border-color:var(--home-accent);outline:none}.add-zone-actions{justify-content:flex-end;gap:8px;display:flex}.add-zone-save,.add-zone-cancel{cursor:pointer;border-radius:8px;padding:8px 16px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:500;transition:all .15s}.add-zone-save{color:#fff;background:linear-gradient(135deg,#e07a3a 0%,#c45d2a 100%);border:none}.add-zone-save:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 8px #e07a3a4d}.add-zone-save:disabled{opacity:.5;cursor:not-allowed}.add-zone-cancel{color:var(--home-text-muted2);background:#ffffffe6;border:1px solid #8b735533}.add-zone-cancel:hover:not(:disabled){background:#fff;border-color:#8b735559}.grocery-action-btn.settings{min-width:auto;padding:10px 14px}.grocery-action-btn.settings .settings-icon{font-size:16px}.grocery-speech-zone{background:#ffffff80;border:1px solid #8b73551f;border-radius:16px;flex-direction:column;align-items:center;gap:16px;padding:24px 16px;display:flex}.grocery-speech-zone.recording{background:#ef44440d;border-color:#ef444433}.grocery-speech-zone.processing{background:#3b82f60d;border-color:#3b82f633}.grocery-speech-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#e07a3a 0%,#c45d2a 100%);border:none;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;font-size:28px;transition:all .15s;display:flex}.grocery-speech-btn:hover:not(:disabled){transform:scale(1.05)}.grocery-speech-btn:disabled{opacity:.5;cursor:not-allowed}.grocery-speech-btn.recording{animation:1.5s infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.grocery-speech-status{color:var(--home-text-muted);font-size:14px}.grocery-speech-transcript{text-align:center;background:#8b73550f;border-radius:12px;width:100%;padding:12px 16px}.grocery-speech-transcript-label{color:var(--home-text-muted);margin-bottom:4px;font-size:12px}.grocery-speech-transcript-text{color:var(--home-text-dark);font-size:15px;font-weight:600}.grocery-photo-zone{cursor:pointer;background:linear-gradient(135deg,#e07a3a14 0%,#e07a3a0a 100%);border:2px dashed #e07a3a4d;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:40px 20px;display:flex}.grocery-photo-icon{font-size:40px}.grocery-photo-text{color:var(--home-text-muted2);font-size:15px;font-weight:500}.grocery-photo-hint{color:var(--home-text-muted);font-size:12px}.grocery-photo-preview{border:1px solid #8b73551f;border-radius:12px;position:relative;overflow:hidden}.grocery-photo-preview img{object-fit:contain;background:#f5f5f5;width:100%;max-height:280px}.grocery-photo-remove{cursor:pointer;background:#ffffffe6;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;display:flex;position:absolute;top:8px;right:8px}.grocery-extracted-list{border:1px solid #8b73551a;border-radius:12px;max-height:280px;margin-top:16px;overflow-y:auto}.grocery-extracted-item{cursor:pointer;border-bottom:1px solid #8b735514;align-items:center;gap:10px;padding:12px 14px;display:flex}.grocery-extracted-item:last-child{border-bottom:none}.grocery-extracted-item:hover{background:#e07a3a0a}@media (max-width:480px){.grocery-item-badges{max-width:120px}.grocery-recipe-badge{max-width:120px;padding:3px 8px;font-size:10px}.grocery-breakdown{margin-left:38px;padding-left:6px}.grocery-breakdown-row{flex-wrap:wrap;gap:4px}.grocery-breakdown-row .grocery-recipe-badge{max-width:100px}.grocery-item-total{font-size:12px}}@media (min-width:768px){.grocery-content{max-width:720px}.grocery-item-main{gap:16px}.grocery-item-badges{flex-flow:wrap;justify-content:flex-end;max-width:220px}.grocery-recipe-badge{max-width:200px}.grocery-breakdown{margin-left:52px}.grocery-breakdown-row .grocery-recipe-badge{max-width:180px}.grocery-modal{width:min(560px,100%)}.grocery-modal.large{width:min(760px,100%)}}@media (min-width:1024px){.grocery-content{max-width:800px}.grocery-item-badges{max-width:280px}.grocery-recipe-badge{max-width:260px}}.budget-page{background:linear-gradient(180deg,var(--home-bg-start)0%,var(--home-bg-mid)100%);min-height:100vh;padding-bottom:100px;font-family:DM Sans,ui-sans-serif,system-ui,sans-serif}.budget-content{max-width:600px;margin:0 auto;padding:0 20px}.budget-header{justify-content:space-between;align-items:center;padding:20px 0;display:flex}.budget-logo{align-items:center;gap:10px;display:flex}.budget-logo-icon{background:var(--home-accent);border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;display:flex}.budget-logo-text{color:var(--home-text-dark);font-family:DM Serif Display,serif;font-size:18px}.budget-toast-badge{color:#5b9a6d;background:#6b8e5e26;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600}.budget-title-section{margin-bottom:16px}.budget-title{color:var(--home-text-dark);margin:0 0 4px;font-family:DM Serif Display,serif;font-size:28px;font-weight:400}.budget-subtitle{color:var(--home-text-muted);margin:0;font-size:14px}.budget-tabs{gap:8px;margin-bottom:20px;padding-bottom:4px;display:flex;overflow-x:auto}.budget-tab{color:var(--home-text-muted2);cursor:pointer;white-space:nowrap;background:#ffffffbf;border:1px solid #8b735526;border-radius:12px;align-items:center;gap:8px;padding:12px 18px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;transition:all .15s;display:flex}.budget-tab:hover{background:#ffffffe6;border-color:#8b735540}.budget-tab.active{background:var(--home-text-dark);border-color:var(--home-text-dark);color:#fff}.budget-tab-icon{font-size:16px}.budget-error{color:#c45d2a;background:#c45d2a1a;border:1px solid #c45d2a33;border-radius:12px;margin-bottom:16px;padding:12px 16px;font-size:14px}.budget-loading{color:var(--home-text-muted);padding:8px 0;font-size:14px}.budget-summary-grid{gap:12px;margin-bottom:20px;display:grid}.budget-summary-card{background:#ffffffbf;border:1px solid #ffffffe6;border-radius:18px;padding:18px;box-shadow:0 2px 12px #8b735514}.budget-summary-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.budget-summary-label{color:var(--home-text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:13px;font-weight:600}.budget-settings-btn{cursor:pointer;background:#8b735514;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:background .15s;display:flex}.budget-settings-btn:hover{background:#8b735526}.budget-settings-btn svg{color:var(--home-text-muted2)}.budget-summary-amount{color:var(--home-text-dark);margin-bottom:6px;font-size:32px;font-weight:700;line-height:1}.budget-summary-budget{color:var(--home-text-muted);margin-bottom:12px;font-size:13px}.budget-progress-bar{background:#8b73551f;border-radius:999px;height:8px;overflow:hidden}.budget-progress-fill{border-radius:999px;height:100%;transition:width .3s}.budget-charts-grid{gap:16px;margin-bottom:16px;display:grid}.budget-chart-card{background:#ffffffbf;border:1px solid #ffffffe6;border-radius:18px;padding:18px;box-shadow:0 2px 12px #8b735514}.budget-chart-title{color:var(--home-text-dark);margin:0 0 12px;font-size:15px;font-weight:600}.budget-chart-empty{text-align:center;color:var(--home-text-muted);padding:40px 20px;font-size:14px}.budget-receipts-actions{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.budget-select{color:var(--home-text-dark);cursor:pointer;background:#ffffffe6;border:1px solid #8b735526;border-radius:12px;outline:none;min-width:130px;padding:12px 14px;font-family:DM Sans,sans-serif;font-size:14px}.budget-select:focus{border-color:var(--home-accent);box-shadow:0 0 0 3px #e07a3a1f}.budget-btn-secondary{color:var(--home-text-muted2);cursor:pointer;background:#ffffffe6;border:1px solid #8b735533;border-radius:12px;align-items:center;gap:8px;padding:12px 18px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;transition:all .15s;display:flex}.budget-btn-secondary:hover:not(:disabled){background:#fff;border-color:#8b735559}.budget-btn-secondary:disabled{opacity:.5;cursor:not-allowed}.budget-btn-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#e07a3a 0%,#c45d2a 100%);border:none;border-radius:12px;align-items:center;gap:8px;padding:12px 20px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;transition:transform .15s,box-shadow .15s;display:flex}.budget-btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 14px #e07a3a59}.budget-btn-primary:disabled{opacity:.5;cursor:not-allowed}.budget-btn-full{justify-content:center;width:100%;margin-top:12px}.budget-empty{text-align:center;color:var(--home-text-muted);padding:50px 20px}.budget-empty-icon{opacity:.6;margin-bottom:12px;font-size:48px}.budget-empty-text{max-width:280px;margin:0 auto;font-size:15px;line-height:1.5}.budget-receipt-list{flex-direction:column;gap:10px;display:flex}.budget-receipt-card{cursor:pointer;background:#ffffffbf;border:1px solid #ffffffe6;border-radius:14px;align-items:center;gap:12px;padding:16px;transition:transform .15s,box-shadow .15s;display:flex}.budget-receipt-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #8b73551f}.budget-receipt-info{flex:1;min-width:0}.budget-receipt-store{color:var(--home-text-dark);align-items:center;gap:8px;margin-bottom:4px;font-size:15px;font-weight:600;display:flex}.budget-store-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.budget-receipt-date{color:var(--home-text-muted);font-size:13px}.budget-receipt-amount{color:var(--home-text-dark);flex-shrink:0;font-size:18px;font-weight:700}.budget-receipt-delete{cursor:pointer;background:#c45d2a14;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:background .15s;display:flex}.budget-receipt-delete:hover{background:#c45d2a26}.budget-receipt-delete svg{color:#c45d2a}.budget-receipt-delete.confirming{background:#c45d2a;width:auto;padding:0 12px;animation:.5s ease-in-out infinite alternate pulse-confirm}.budget-receipt-delete.confirming:hover{background:#a84d24}.budget-delete-confirm-text{color:#fff;white-space:nowrap;font-size:12px;font-weight:600}@keyframes pulse-confirm{0%{transform:scale(1)}to{transform:scale(1.05)}}.budget-undo-toast{z-index:1000;background:#333;border-radius:12px;min-width:280px;max-width:90vw;animation:.3s ease-out slide-up;position:fixed;bottom:90px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 4px 20px #0000004d}@keyframes slide-up{0%{opacity:0;transform:translate(-50%)translateY(20px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.budget-undo-toast-content{justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.budget-undo-toast-text{color:#fff;font-size:14px}.budget-undo-toast-btn{color:#7cb9e8;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:14px;font-weight:600;transition:background .15s}.budget-undo-toast-btn:hover{background:#ffffff1a}.budget-undo-toast-progress{background:#7cb9e8;height:3px;animation:5s linear forwards shrink-progress}@keyframes shrink-progress{0%{width:100%}to{width:0%}}.budget-items-actions{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.budget-search-input{flex:1;min-width:180px;position:relative}.budget-search-input svg{color:var(--home-text-muted);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.budget-search-input input{width:100%;color:var(--home-text-dark);background:#ffffffe6;border:1px solid #8b735526;border-radius:12px;outline:none;padding:12px 14px 12px 44px;font-family:DM Sans,sans-serif;font-size:14px}.budget-search-input input:focus{border-color:var(--home-accent);box-shadow:0 0 0 3px #e07a3a1f}.budget-search-input input::placeholder{color:var(--home-text-muted)}.budget-items-list{flex-direction:column;gap:10px;display:flex}.budget-item-card{background:#ffffffbf;border:1px solid #ffffffe6;border-radius:14px;flex-wrap:wrap;align-items:center;gap:12px;padding:14px 16px;display:flex}.budget-item-main{flex:1;min-width:120px}.budget-item-name{color:var(--home-text-dark);margin-bottom:2px;font-size:14px;font-weight:600}.budget-item-category{color:var(--home-text-muted);font-size:12px}.budget-item-price{text-align:right}.budget-item-typical{color:var(--home-text-dark);font-size:16px;font-weight:700}.budget-item-range{color:var(--home-text-muted);font-size:11px}.budget-item-meta{align-items:center;gap:8px;display:flex}.budget-store-badge{color:#fff;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:600}.budget-item-count{color:var(--home-text-muted);font-size:12px;font-weight:500}.budget-item-remove{cursor:pointer;background:#8b735514;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:background .15s;display:flex}.budget-item-remove:hover{background:#8b735526}.budget-item-remove svg{color:var(--home-text-muted2)}.budget-modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#2d2a2680;justify-content:center;align-items:flex-start;padding:60px 16px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.budget-modal{background:linear-gradient(#fffbf8 0%,#fff8f2 100%);border-radius:24px;width:min(480px,100%);margin-bottom:40px;box-shadow:0 20px 60px #2d2a2640}.budget-modal-lg{width:min(640px,100%)}.budget-modal-header{border-bottom:1px solid #8b73551a;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.budget-modal-title{color:var(--home-text-dark);margin:0;font-family:DM Serif Display,serif;font-size:22px;font-weight:400}.budget-modal-close{cursor:pointer;background:#8b735514;border:none;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;transition:background .15s;display:flex}.budget-modal-close:hover:not(:disabled){background:#8b735526}.budget-modal-close:disabled{opacity:.5;cursor:not-allowed}.budget-modal-close svg{color:var(--home-text-muted2)}.budget-modal-body{padding:20px 24px}.budget-modal-footer{justify-content:flex-end;gap:10px;padding:16px 24px 24px;display:flex}.budget-form-group{margin-bottom:16px}.budget-form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.budget-form-label{color:var(--home-text-muted2);margin-bottom:8px;font-size:13px;font-weight:600;display:block}.budget-form-input,.budget-form-select{width:100%;color:var(--home-text-dark);background:#ffffffe6;border:1.5px solid #8b735526;border-radius:12px;outline:none;padding:14px 16px;font-family:DM Sans,sans-serif;font-size:15px;transition:border-color .15s,box-shadow .15s}.budget-form-input:focus,.budget-form-select:focus{border-color:var(--home-accent);box-shadow:0 0 0 3px #e07a3a1f}.budget-form-input::placeholder{color:var(--home-text-muted)}.budget-form-hint{color:var(--home-text-muted);margin-top:6px;font-size:12px}.budget-use-total-btn{color:var(--home-accent);cursor:pointer;background:#e07a3a1f;border:none;border-radius:6px;margin-left:8px;padding:4px 10px;font-size:11px;font-weight:600;transition:background .15s}.budget-use-total-btn:hover{background:#e07a3a33}.budget-checkbox{cursor:pointer;align-items:center;gap:12px;padding:12px 0;display:flex}.budget-checkbox input{opacity:0;width:0;height:0;position:absolute}.budget-checkbox-box{background:0 0;border:2px solid #8b73554d;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;transition:all .15s;display:flex}.budget-checkbox input:checked+.budget-checkbox-box{background:var(--home-accent);border-color:var(--home-accent)}.budget-checkbox-box svg{color:#fff}.budget-checkbox-label{color:var(--home-text-dark);font-size:14px;font-weight:500}.budget-line-items{background:#8b73550a;border-radius:14px;margin-top:16px;padding:16px}.budget-line-items-header{color:var(--home-text-muted2);justify-content:space-between;align-items:center;margin-bottom:12px;font-size:13px;font-weight:600;display:flex}.budget-btn-add-item{color:var(--home-accent);cursor:pointer;background:#e07a3a1a;border:none;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:600;transition:background .15s}.budget-btn-add-item:hover{background:#e07a3a2e}.budget-line-items-empty{text-align:center;color:var(--home-text-muted);padding:20px;font-size:13px}.budget-line-items-list{flex-direction:column;gap:8px;display:flex}.budget-line-item{background:#fffc;border-radius:10px;grid-template-columns:1fr 60px 70px 70px 100px 32px;align-items:center;gap:8px;padding:10px;display:grid}.budget-line-item-name,.budget-line-item-qty,.budget-line-item-price,.budget-line-item-category{color:var(--home-text-dark);background:#ffffffe6;border:1px solid #8b73551f;border-radius:8px;outline:none;padding:8px 10px;font-family:DM Sans,sans-serif;font-size:13px}.budget-line-item-name:focus,.budget-line-item-qty:focus,.budget-line-item-price:focus,.budget-line-item-category:focus{border-color:var(--home-accent)}.budget-line-item-total{color:var(--home-text-dark);text-align:center;font-size:13px;font-weight:600}.budget-line-item-remove{cursor:pointer;background:#c45d2a14;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.budget-line-item-remove:hover{background:#c45d2a26}.budget-line-item-remove svg{color:#c45d2a}.budget-ocr-upload{cursor:pointer;background:linear-gradient(135deg,#e07a3a0f 0%,#e07a3a05 100%);border:2px dashed #e07a3a4d;border-radius:16px;flex-direction:column;align-items:center;gap:12px;padding:50px 20px;transition:border-color .15s;display:flex}.budget-ocr-upload:hover{border-color:#e07a3a80}.budget-ocr-upload input{display:none}.budget-ocr-icon{font-size:48px}.budget-ocr-text{color:var(--home-text-muted2);font-size:15px;font-weight:500}.budget-ocr-preview{flex-direction:column;gap:12px;display:flex}.budget-ocr-image-wrapper{border:1px solid #8b73551f;border-radius:14px;position:relative;overflow:hidden}.budget-ocr-image-wrapper img{object-fit:contain;background:#f5f5f5;width:100%;max-height:260px}.budget-ocr-remove{cursor:pointer;background:#ffffffe6;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;display:flex;position:absolute;top:10px;right:10px}.budget-ocr-remove:hover:not(:disabled){background:#fff}.budget-ocr-remove svg{color:var(--home-text-muted2)}.budget-ocr-processing{color:var(--home-text-muted);justify-content:center;align-items:center;gap:12px;padding:20px;font-size:14px;display:flex}.budget-spinner{border:2px solid #e07a3a33;border-top-color:var(--home-accent);border-radius:50%;width:20px;height:20px;animation:1s linear infinite budget-spin}@keyframes budget-spin{to{transform:rotate(360deg)}}.budget-ocr-result{margin-top:20px}.budget-ocr-result-title{color:var(--home-text-dark);margin:0 0 14px;font-size:15px;font-weight:600}.budget-ocr-result-grid{flex-direction:column;gap:10px;display:flex}.budget-ocr-result-row{border-bottom:1px solid #8b735514;justify-content:space-between;align-items:center;padding:8px 0;display:flex}.budget-ocr-result-row:last-child{border-bottom:none}.budget-ocr-result-label{color:var(--home-text-muted);font-size:13px}.budget-ocr-result-value{color:var(--home-text-dark);font-size:14px;font-weight:600}.budget-confidence-badge{border-radius:999px;padding:4px 12px;font-size:12px;font-weight:600}.budget-confidence-high{color:#5b9a6d;background:#6b8e5e26}.budget-confidence-medium{color:#d4854a;background:#d4854a26}.budget-confidence-low{color:#c45d2a;background:#c45d2a26}@media (min-width:768px){.budget-content{max-width:900px}.budget-summary-grid{grid-template-columns:repeat(3,1fr)}.budget-charts-grid{grid-template-columns:repeat(2,1fr)}.budget-chart-wide{grid-column:1/-1}.budget-item-card{flex-wrap:nowrap}.budget-line-item{grid-template-columns:1fr 70px 80px 80px 130px 36px}}@media (min-width:1024px){.budget-content{max-width:1000px}}.cookmode-page{background:linear-gradient(180deg,var(--home-bg-start)0%,var(--home-bg-mid)100%);min-height:100vh;padding-bottom:100px;font-family:DM Sans,ui-sans-serif,system-ui,sans-serif}.cookmode-empty{justify-content:center;align-items:center;min-height:calc(100vh - 100px);padding:40px 20px;display:flex}.cookmode-empty-content{text-align:center;max-width:360px}.cookmode-empty-illustration{justify-content:center;align-items:center;width:140px;height:140px;margin:0 auto 28px;display:flex;position:relative}.cookmode-empty-emoji{font-size:80px;line-height:1;animation:3s ease-in-out infinite cookmode-float;display:block}@keyframes cookmode-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.cookmode-empty-sparkle{font-size:24px;animation:2s ease-in-out infinite cookmode-sparkle;position:absolute}.cookmode-sparkle-1{animation-delay:0s;top:10px;right:10px}.cookmode-sparkle-2{animation-delay:.5s;bottom:20px;left:5px}.cookmode-sparkle-3{animation-delay:1s;top:30px;left:15px}@keyframes cookmode-sparkle{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}.cookmode-empty-title{color:var(--home-text-dark);margin:0 0 12px;font-family:DM Serif Display,serif;font-size:32px;font-weight:400}.cookmode-empty-subtitle{color:var(--home-text-muted);margin:0 0 28px;font-size:16px;line-height:1.5}.cookmode-browse-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#e07a3a 0%,#c45d2a 100%);border:none;border-radius:14px;justify-content:center;align-items:center;padding:16px 32px;font-family:DM Sans,sans-serif;font-size:16px;font-weight:600;text-decoration:none;transition:transform .15s,box-shadow .15s;display:inline-flex}.cookmode-browse-btn:hover{color:#fff;text-decoration:none;transform:translateY(-2px);box-shadow:0 6px 20px #e07a3a59}.cookmode-browse-btn:active{transform:translateY(0)}.cookmode-loading-spinner{border:4px solid #e07a3a33;border-top-color:var(--home-accent);border-radius:50%;width:48px;height:48px;margin:0 auto 20px;animation:1s linear infinite cookmode-spin}@keyframes cookmode-spin{to{transform:rotate(360deg)}}.cookmode-person-cards{gap:16px;width:100%;max-width:400px;margin:24px 0;display:flex}.cookmode-person-card{cursor:pointer;background:#fffaf5;border:2px solid #e07a3a26;border-radius:16px;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:24px 16px;transition:all .2s;display:flex;box-shadow:0 2px 8px #8b5a2b14}.cookmode-person-card:hover:not(:disabled){border-color:#e07a3a66;transform:translateY(-3px);box-shadow:0 6px 20px #e07a3a33}.cookmode-person-card:active:not(:disabled){transform:translateY(0)}.cookmode-person-card:disabled{opacity:.6;cursor:not-allowed}.cookmode-person-name{color:var(--home-text-dark);margin-bottom:6px;font-family:DM Serif Display,serif;font-size:22px;font-weight:400}.cookmode-person-count{color:var(--home-text-muted);font-family:DM Sans,sans-serif;font-size:14px}.cookmode-browse-link{color:var(--home-accent);margin-top:24px;font-family:DM Sans,sans-serif;font-size:15px;text-decoration:none;transition:opacity .15s;display:inline-block}.cookmode-browse-link:hover{opacity:.8;text-decoration:underline}.cookmode-empty-actions{flex-direction:column;gap:12px;width:100%;max-width:280px;margin-top:24px;display:flex}.cookmode-action-btn{cursor:pointer;border-radius:14px;justify-content:center;align-items:center;padding:16px 24px;font-family:DM Sans,sans-serif;font-size:16px;font-weight:600;text-decoration:none;transition:transform .15s,box-shadow .15s;display:flex}.cookmode-action-btn.primary{color:#fff;background:linear-gradient(135deg,#e07a3a 0%,#c45d2a 100%);border:none}.cookmode-action-btn.primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #e07a3a59}.cookmode-action-btn.secondary{color:var(--home-accent);background:0 0;border:2px solid #e07a3a4d}.cookmode-action-btn.secondary:hover{background:#e07a3a14;border-color:#e07a3a80}.cookmode-person-meals{width:100%;max-width:480px;padding:20px}.cookmode-person-header{align-items:center;gap:12px;margin-bottom:24px;display:flex}.cookmode-back-arrow{width:40px;height:40px;color:var(--home-accent);cursor:pointer;background:#e07a3a1a;border:none;border-radius:12px;justify-content:center;align-items:center;transition:background .15s;display:flex}.cookmode-back-arrow:hover{background:#e07a3a33}.cookmode-person-title{color:var(--home-text-dark);margin:0;font-family:DM Serif Display,serif;font-size:26px;font-weight:400}.cookmode-meal-list{flex-direction:column;gap:10px;display:flex}.cookmode-meal-row{cursor:pointer;text-align:left;background:#fffaf5;border:1px solid #e07a3a1f;border-radius:14px;justify-content:space-between;align-items:center;width:100%;padding:16px 18px;transition:all .15s;display:flex}.cookmode-meal-row:hover{background:#fff5ed;border-color:#e07a3a4d;transform:translate(4px)}.cookmode-meal-row svg{color:var(--home-text-muted);transition:color .15s,transform .15s}.cookmode-meal-row:hover svg{color:var(--home-accent);transform:translate(3px)}.cookmode-meal-name{color:var(--home-text-dark);font-family:DM Sans,sans-serif;font-size:16px;font-weight:500}.cookmode-no-meals{text-align:center;color:var(--home-text-muted);padding:32px 20px}.cookmode-no-meals p{margin:0 0 16px;font-size:15px}.cookmode-plan-link{color:var(--home-accent);background:#e07a3a1a;border-radius:10px;padding:12px 24px;font-weight:600;text-decoration:none;transition:background .15s;display:inline-block}.cookmode-plan-link:hover{background:#e07a3a33}.cookmode-person-footer{text-align:center;margin-top:32px}@media (max-width:400px){.cookmode-person-cards{flex-direction:column}.cookmode-person-card{padding:20px 16px}}.cookmode-content{max-width:800px;margin:0 auto;padding:0 16px}.cookmode-header{justify-content:space-between;align-items:center;padding:16px 0;display:flex}.cookmode-back-btn{color:var(--home-text-muted2);background:#ffffffbf;border:1px solid #8b73551f;border-radius:10px;align-items:center;gap:6px;padding:10px 14px;font-size:14px;font-weight:600;text-decoration:none;transition:all .15s;display:flex}.cookmode-back-btn:hover{background:#fff;border-color:#8b735533;text-decoration:none}.cookmode-back-btn svg{flex-shrink:0}.cookmode-edit-btn{color:var(--home-text-muted2);background:#ffffffbf;border:1px solid #8b73551f;border-radius:10px;padding:10px 18px;font-size:14px;font-weight:600;text-decoration:none;transition:all .15s}.cookmode-edit-btn:hover{background:#fff;border-color:#8b735533;text-decoration:none}.cookmode-recipe-header{margin-bottom:16px}.cookmode-recipe-title{color:var(--home-text-dark);margin:0 0 8px;font-family:DM Serif Display,serif;font-size:26px;font-weight:400;line-height:1.2}.cookmode-source-link{color:var(--home-accent);align-items:center;gap:6px;margin-bottom:12px;font-size:13px;text-decoration:none;display:inline-flex}.cookmode-source-link:hover{text-decoration:underline}.cookmode-servings-row{align-items:center;gap:10px;display:flex}.cookmode-servings-label{color:var(--home-text-muted2);font-size:14px;font-weight:500}.cookmode-servings-input{width:70px;color:var(--home-text-dark);text-align:center;background:#ffffffe6;border:1.5px solid #8b735526;border-radius:10px;outline:none;padding:10px 12px;font-family:DM Sans,sans-serif;font-size:15px;font-weight:600}.cookmode-servings-input:focus{border-color:var(--home-accent);box-shadow:0 0 0 3px #e07a3a1f}.cookmode-scale-badge{color:var(--home-accent);background:#e07a3a1f;border-radius:8px;padding:6px 12px;font-size:13px;font-weight:600}.cookmode-timer-card{background:linear-gradient(135deg,#e07a3a 0%,#c45d2a 100%);border-radius:18px;margin-bottom:16px;padding:18px;box-shadow:0 4px 20px #e07a3a4d}.cookmode-timer-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.cookmode-timer-title{color:#fff;font-size:16px;font-weight:600}.cookmode-timer-add-btn{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:8px;padding:8px 14px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:600;transition:background .15s}.cookmode-timer-add-btn:hover{background:#ffffff4d}.cookmode-timer-empty{color:#fffc;text-align:center;padding:12px 0;font-size:14px}.cookmode-timer-form{background:#ffffff26;border-radius:12px;margin-bottom:12px;padding:14px}.cookmode-timer-label-input{width:100%;color:var(--home-text-dark);background:#ffffffe6;border:none;border-radius:10px;outline:none;margin-bottom:10px;padding:12px 14px;font-family:DM Sans,sans-serif;font-size:14px}.cookmode-timer-label-input::placeholder{color:var(--home-text-muted)}.cookmode-timer-form-row{align-items:center;gap:10px;display:flex}.cookmode-timer-minutes-input{width:80px;color:var(--home-text-dark);text-align:center;background:#ffffffe6;border:none;border-radius:10px;outline:none;padding:12px 14px;font-family:DM Sans,sans-serif;font-size:15px;font-weight:600}.cookmode-timer-minutes-label{color:#ffffffe6;flex:1;font-size:14px}.cookmode-timer-start-btn{color:var(--home-accent);cursor:pointer;background:#fff;border:none;border-radius:10px;padding:12px 20px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;transition:transform .15s}.cookmode-timer-start-btn:hover{transform:scale(1.02)}.cookmode-timer-item{background:#ffffff26;border-radius:12px;justify-content:space-between;align-items:center;margin-top:10px;padding:14px 16px;display:flex}.cookmode-timer-item.done{background:#ffffff40;animation:1s ease-in-out infinite cookmode-pulse}@keyframes cookmode-pulse{0%,to{opacity:1}50%{opacity:.7}}.cookmode-timer-info{flex:1}.cookmode-timer-time{color:#fff;font-variant-numeric:tabular-nums;font-size:32px;font-weight:700;line-height:1}.cookmode-timer-label{color:#ffffffd9;margin-top:4px;font-size:13px}.cookmode-timer-controls{gap:8px;display:flex}.cookmode-timer-control-btn{cursor:pointer;color:#fff;background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:background .15s;display:flex}.cookmode-timer-control-btn:hover{background:#ffffff4d}.cookmode-timer-control-btn.delete:hover{background:#ff646466}.cookmode-tabs{gap:8px;margin-bottom:16px;display:flex}.cookmode-tab{color:var(--home-text-muted2);cursor:pointer;background:#ffffffbf;border:1px solid #8b73551f;border-radius:12px;flex:1;padding:14px 20px;font-family:DM Sans,sans-serif;font-size:15px;font-weight:600;transition:all .15s}.cookmode-tab:hover{background:#ffffffe6}.cookmode-tab.active{background:var(--home-text-dark);border-color:var(--home-text-dark);color:#fff}.cookmode-toast{color:#5b9a6d;text-align:center;background:#6b8e5e26;border:1px solid #6b8e5e33;border-radius:12px;margin-bottom:16px;padding:12px 16px;font-size:14px;font-weight:500}.cookmode-conflict{background:#e07a3a1a;border:1px solid #e07a3a33;border-radius:14px;margin-bottom:16px;padding:16px}.cookmode-conflict p{color:var(--home-text-dark);margin:0 0 12px;font-size:14px}.cookmode-conflict-actions{justify-content:flex-end;gap:10px;display:flex}.cookmode-conflict-btn{cursor:pointer;border-radius:10px;padding:10px 18px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;transition:all .15s}.cookmode-conflict-btn.cancel{color:var(--home-text-muted2);background:#8b73551a;border:none}.cookmode-conflict-btn.cancel:hover{background:#8b73552e}.cookmode-conflict-btn.confirm{background:var(--home-accent);color:#fff;border:none}.cookmode-conflict-btn.confirm:hover{background:#c45d2a}.cookmode-sections{flex-direction:column;gap:16px;display:flex}.cookmode-section{display:none}.cookmode-section.active{display:block}.cookmode-section-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.cookmode-section-title{color:var(--home-text-dark);margin:0;font-family:DM Serif Display,serif;font-size:20px;font-weight:400}.cookmode-section-actions{gap:8px;display:flex}.cookmode-clear-btn{color:var(--home-text-muted2);cursor:pointer;background:#8b735514;border:none;border-radius:10px;padding:10px 16px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:600;transition:all .15s}.cookmode-clear-btn:hover:not(:disabled){background:#8b735526}.cookmode-clear-btn:disabled{opacity:.4;cursor:not-allowed}.cookmode-grocery-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#e07a3a 0%,#c45d2a 100%);border:none;border-radius:10px;padding:10px 16px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:600;transition:all .15s}.cookmode-grocery-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 3px 12px #e07a3a4d}.cookmode-grocery-btn:disabled{opacity:.5;cursor:not-allowed}.cookmode-empty-section{text-align:center;color:var(--home-text-muted);padding:40px 20px;font-size:15px}.cookmode-ingredients-list{flex-direction:column;gap:10px;display:flex}.cookmode-ingredient{cursor:pointer;background:#ffffffe6;border:1px solid #8b735514;border-radius:14px;align-items:center;gap:14px;min-height:56px;padding:16px;transition:all .15s;display:flex}.cookmode-ingredient:hover{background:#fff;border-color:#8b735526}.cookmode-ingredient:active{transform:scale(.99)}.cookmode-ingredient.checked{background:#86c29c26;border-color:#86c29c4d}.cookmode-ingredient-checkbox{background:0 0;border:2px solid #8b73554d;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;transition:all .15s;display:flex}.cookmode-ingredient.checked .cookmode-ingredient-checkbox{background:#86c29c;border-color:#86c29c}.cookmode-ingredient-text{color:var(--home-text-dark);flex:1;font-size:15px;line-height:1.4}.cookmode-ingredient.checked .cookmode-ingredient-text{color:var(--home-text-muted);text-decoration:line-through}.cookmode-ingredient-qty{font-weight:700}.cookmode-ingredient-unit,.cookmode-ingredient-name{font-weight:500}.cookmode-ingredient-note{color:var(--home-text-muted);font-weight:400}.cookmode-steps-list{flex-direction:column;gap:12px;display:flex}.cookmode-step{background:#ffffffe6;border:1px solid #8b735514;border-radius:14px;gap:14px;padding:16px;display:flex}.cookmode-step-number{background:var(--home-accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:700;display:flex}.cookmode-step-text{color:var(--home-text-dark);flex:1;margin:0;font-size:15px;line-height:1.6}@media (min-width:768px){.cookmode-content{max-width:1000px;padding:0 24px}.cookmode-recipe-title{font-size:30px}.cookmode-timer-card{z-index:10;position:sticky;top:16px}.cookmode-tabs{display:none}.cookmode-sections{flex-direction:row;align-items:flex-start;gap:24px}.cookmode-section{flex:1;display:block!important}.cookmode-ingredients-list,.cookmode-steps-list{max-height:none;overflow-y:visible}}
