@import url(https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,500;0,700;1,400;1,600&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=DM+Mono:wght@400;500&display=swap);.pw-field-wrap{display:flex;flex-direction:column;gap:.4rem}.pw-input-row{align-items:center;display:flex;position:relative}.pw-input-row input{flex:1 1;padding-right:5rem!important}.pw-icon-btn{align-items:center;background:none;border:none;color:var(--text-mid);cursor:pointer;display:flex;font-family:inherit;justify-content:center;padding:.4rem .5rem;position:absolute;right:0;top:50%;transform:translateY(-50%);transition:color .15s}.pw-icon-btn:hover{color:var(--primary-sage)}.pw-eye-btn{right:0}.pw-gen-btn{right:2rem}.pw-strength{align-items:center;display:flex;gap:.6rem}.pw-strength-bar{background:var(--border);border-radius:4px;flex:1 1;height:4px;overflow:hidden}.pw-strength-fill{border-radius:4px;height:100%;transition:width .3s ease,background .3s ease}.pw-s-weak{background:#ef4444}.pw-s-medium{background:#f59e0b}.pw-s-strong{background:var(--primary-sage)}.pw-strength-label{font-size:.75rem;font-weight:600;min-width:3.5rem;text-align:right}.pw-sl-weak{color:#ef4444}.pw-sl-medium{color:#f59e0b}.pw-sl-strong{color:var(--primary-sage)}.login-page{align-items:center;background:var(--bg);display:flex;justify-content:center;min-height:100vh;padding:2rem}.login-container{animation:fadeIn .6s ease-out;background:var(--white);border:1px solid var(--border);border-radius:22px;max-width:460px;padding:3rem;width:100%}.login-header{margin-bottom:2.5rem;text-align:center}.login-logo{display:block;height:auto;margin:0 auto 1rem;max-width:280px;width:100%}.login-title{font-family:Georgia,Times New Roman,serif;font-size:2.5rem;font-weight:700;letter-spacing:-.01em;line-height:1;margin-bottom:.5rem}.login-title .logo-strix{color:var(--text-dark)}.login-title .logo-ly{color:var(--primary-sage)}.login-header p{color:var(--text-mid);font-size:1rem;font-weight:400}.login-form{gap:1.5rem}.form-group,.login-form{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-group label{color:var(--text-mid);font-size:.875rem;font-weight:500}.login-form input{background:var(--surface);border-color:var(--border);color:var(--text-dark)}.login-form input::placeholder{color:var(--text-mid)}.login-form input:focus{border-color:var(--primary-sage);box-shadow:0 0 0 3px #3dd68c26}.error-message{background:#d645451a;border:2px solid var(--error);border-radius:var(--radius);color:var(--error);font-weight:500;padding:1rem;text-align:center}.btn-block{margin-top:.5rem;width:100%}.login-footer{color:var(--text-light);font-size:.875rem;margin-top:2rem;text-align:center}.login-tabs{border:1px solid var(--border);border-radius:10px;display:flex;gap:4px;margin-bottom:1.5rem;padding:4px}.login-tab{background:#0000;border:none;border-radius:7px;color:var(--text-mid);cursor:pointer;flex:1 1;font-family:var(--font-body);font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .15s}.login-tab.active{background:var(--primary-sage);color:var(--text-on-primary);font-weight:700}.success-message{background:#10b9811a;border:2px solid #10b981;border-radius:var(--radius);color:#059669;font-weight:500;margin-bottom:.5rem;padding:1rem;text-align:center}.reg-ai-consent{align-items:flex-start;background:#f0faf5;border:1px solid #b8e6cf;border-radius:8px;color:var(--text-dark);cursor:pointer;display:flex;font-size:.82rem;gap:.6rem;line-height:1.5;margin-bottom:.5rem;padding:.75rem}.reg-ai-consent input[type=checkbox]{accent-color:#1a9458;flex-shrink:0;height:15px;margin-top:2px;width:15px}.reg-ai-required{color:#6b6560;font-size:.75rem}.reg-hint{color:#9ca3af;font-size:.78rem;line-height:1.5;margin-top:.25rem;text-align:center}.reg-hint a{color:#92400e;text-decoration:underline}@media (max-width:560px){.login-container{padding:1.5rem 1.25rem}.login-header h1{font-size:1.9rem}.form-row-half{grid-template-columns:1fr}}.form-row-half{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:1fr 1fr}.verify-info{margin-bottom:1.5rem;text-align:center}.verify-icon{font-size:2.5rem;margin-bottom:.75rem}.verify-info h3{color:var(--text-dark);font-size:1.1rem;margin-bottom:.5rem}.verify-info p{color:var(--text-mid);font-size:.9rem}.dev-code-hint{align-items:center;background:#f0a5001a;border:1px solid #f0a5004d;border-radius:8px;color:var(--accent-saffron);display:flex;font-size:.85rem;gap:.5rem;justify-content:center;margin-top:1rem;padding:.6rem 1rem}.dev-code-hint strong{font-size:1.2rem;letter-spacing:.15em}.verify-code-input{font-size:1.5rem!important;font-weight:700;letter-spacing:.3em;text-align:center}.btn-link{background:none;border:none;color:var(--text-mid);cursor:pointer;display:block;font-family:inherit;font-size:.85rem;margin-top:.75rem;text-align:center;width:100%}.btn-link:hover{color:var(--primary-sage)}.tag-cloud{margin-bottom:1.5rem}.tag-cloud-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.6rem}.tag-cloud-title{align-items:center;color:var(--text-light);display:flex;font-size:.8rem;font-weight:600;gap:.5rem;letter-spacing:.05em;text-transform:uppercase}.tag-cloud-badge{align-items:center;background:var(--accent-saffron);border-radius:50%;color:var(--text-dark);display:inline-flex;font-size:.7rem;font-weight:700;height:18px;justify-content:center;line-height:1;width:18px}.tag-cloud-clear{background:none;border:none;color:var(--primary-sage);cursor:pointer;font-size:.8rem;font-weight:600;padding:0;text-decoration:underline;text-underline-offset:2px}.tag-cloud-clear:hover{color:var(--accent-saffron)}.tag-cloud-chips{display:flex;flex-wrap:wrap;gap:.4rem}.tag-chip{align-items:center;background:var(--white);border:1.5px solid var(--border);border-radius:50px;color:var(--text-mid);cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:500;gap:.35rem;padding:.35rem .9rem;transition:var(--transition);white-space:nowrap}.tag-chip:hover{border-color:#f0a50059;color:var(--text-dark)}.tag-chip.active{background:var(--accent-saffron);border-color:var(--accent-saffron);box-shadow:0 2px 6px #f4b94259;color:var(--text-dark);font-weight:600}.tag-chip-count{align-items:center;background:#00000014;border-radius:10px;display:inline-flex;font-size:.75rem;font-weight:700;height:17px;justify-content:center;line-height:1;min-width:18px;padding:0 4px}.tag-chip.active .tag-chip-count{background:#00000026}.tag-chip-more{border-style:dashed;color:var(--text-light)}.tag-chip-more:hover{border-color:var(--primary-sage);color:var(--primary-sage)}.rl-mobile{padding:1rem .75rem}.rl-mobile-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.rl-mobile-header h1{color:var(--text-dark);font-size:1.6rem;font-weight:700;margin:0 0 .15rem}.rl-mobile-subtitle{color:var(--text-mid);font-size:.82rem;margin:0}.rl-mobile-search-bar{display:flex;gap:.5rem;margin-bottom:.75rem;position:relative}.rl-mobile-search-input{background:var(--white);border:1.5px solid var(--border);border-radius:8px;color:var(--text-dark);flex:1 1;font-size:.9rem;padding:.55rem .85rem}.rl-mobile-search-input:focus{border-color:var(--primary-sage);box-shadow:0 0 0 3px #3dd68c1f;outline:none}.rl-mobile-search-clear{background:none;border:none;color:var(--text-mid);cursor:pointer;font-size:1rem;line-height:1;padding:0 .4rem;position:absolute;right:74px;top:50%;transform:translateY(-50%)}.rl-mobile-search-btn{background:var(--primary-sage);border:none;border-radius:8px;color:var(--text-on-primary);cursor:pointer;font-size:.85rem;font-weight:600;padding:.55rem .9rem;white-space:nowrap}.rl-mobile-chips{display:flex;gap:.4rem;margin-bottom:.75rem;overflow-x:auto;padding-bottom:.5rem;scrollbar-width:none}.rl-mobile-chips::-webkit-scrollbar{display:none}.rl-mobile-chip{background:var(--white);border:1.5px solid var(--border);border-radius:99px;color:var(--text-mid);cursor:pointer;flex-shrink:0;font-size:.75rem;font-weight:500;padding:.25rem .75rem;transition:all .15s;white-space:nowrap}.rl-mobile-chip.active{background:#3dd68c1a;border-color:#3dd68c4d;color:var(--primary-sage);font-weight:600}.rl-mobile-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr}.rl-mobile-card{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;color:inherit;display:flex;flex-direction:column;overflow:hidden;text-decoration:none}.rl-mobile-card-img-wrap{flex-shrink:0;overflow:hidden;padding-top:75%;position:relative;width:100%}.rl-mobile-card-img{object-fit:cover}.rl-mobile-card-img,.rl-mobile-card-placeholder{height:100%;left:0;position:absolute;top:0;width:100%}.rl-mobile-card-placeholder{align-items:center;background:var(--surface);display:flex;font-size:2.5rem;justify-content:center}.rl-mobile-card-body{display:flex;flex:1 1;flex-direction:column;gap:3px;padding:8px 10px 10px}.rl-mobile-card-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-dark);display:-webkit-box;font-size:.82rem;font-weight:600;overflow:hidden}.rl-mobile-card-category{align-self:flex-start;background:#3dd68c1a;border:1px solid #3dd68c33;border-radius:20px;color:var(--primary-sage);display:inline-block;font-size:.7rem;font-weight:500;padding:.1rem .5rem}.rl-mobile-card-meta{color:var(--text-mid);display:flex;flex-wrap:wrap;font-size:.7rem;gap:6px;margin-top:auto}.rl-mobile-load-more{display:flex;justify-content:center;margin-top:1.25rem}.rl-mobile-load-more-btn{background:#0000;border:1.5px solid #3dd68c4d;border-radius:50px;color:var(--primary-sage);cursor:pointer;font-size:.9rem;font-weight:600;padding:.6rem 2rem}.rl-mobile-load-more-btn:disabled{cursor:default;opacity:.5}.rl-mobile-loading{align-items:center;color:var(--text-mid);display:flex;flex-direction:column;gap:1rem;padding:4rem 1rem}.rl-mobile-empty{color:var(--text-mid);padding:3rem 1rem;text-align:center}.rl-mobile-empty h3{color:var(--text-dark);font-size:1.1rem;margin-bottom:.5rem}.recipe-list-page{margin:0 auto;max-width:900px}.rr-wrap{align-items:stretch;animation:fadeIn .5s ease-out backwards;display:flex;gap:6px;position:relative}.rr-wrap .rr-item{animation:none;flex:1 1}.recipe-cart-btn{align-items:center;background:none;border:1px solid var(--border);border-radius:10px;color:var(--txt3);cursor:pointer;display:flex;flex-shrink:0;font-size:1rem;justify-content:center;transition:border-color .15s,color .15s,background .15s;width:40px}.recipe-cart-btn:hover{background:var(--surface)}.recipe-cart-btn--active,.recipe-cart-btn:hover{border-color:var(--green);color:var(--green)}.recipe-cart-btn--active:hover{background:var(--red-pale);border-color:var(--red);color:var(--red)}.recipe-cart-popup{background:var(--surface);border:1px solid var(--border);border-radius:var(--r2);box-shadow:var(--sh-lg);overflow:hidden;position:absolute;right:0;top:calc(100% + 6px);width:280px;z-index:200}.recipe-cart-popup-header{align-items:center;background:var(--surface2);border-bottom:1px solid var(--border);display:flex;font-size:.88rem;font-weight:600;justify-content:space-between;padding:10px 14px}.recipe-cart-popup-close{background:none;border:none;color:var(--txt3);cursor:pointer;font-size:.8rem;padding:2px 4px}.recipe-cart-popup-close:hover{color:var(--txt)}.recipe-cart-popup-body{padding:6px 0}.recipe-cart-loading{color:var(--txt3);font-size:.82rem;margin:0;padding:10px 14px}.recipe-cart-ing-list{list-style:none;margin:0;max-height:220px;overflow-y:auto;padding:0}.recipe-cart-ing-item{padding:4px 14px}.recipe-cart-ing-item--remove{align-items:center;color:var(--txt);display:flex;font-size:.83rem;justify-content:space-between}.recipe-cart-remove-btn{background:none;border:none;color:var(--txt3);cursor:pointer;flex-shrink:0;font-size:.75rem;padding:2px 4px}.recipe-cart-remove-btn:hover{color:var(--red)}.recipe-cart-ing-item label{align-items:center;color:var(--txt);cursor:pointer;display:flex;font-size:.83rem;gap:8px}.recipe-cart-ing-item input[type=checkbox]{accent-color:var(--green);cursor:pointer}.recipe-cart-popup-footer{border-top:1px solid var(--border);display:flex;gap:6px;padding:8px 10px}.recipe-cart-cancel{background:none;border:1px solid var(--border);border-radius:7px;color:var(--txt3);cursor:pointer;flex:1 1;font-family:var(--font-body);font-size:.82rem;padding:6px 10px}.recipe-cart-cancel:hover{border-color:var(--txt3)}.recipe-cart-add{background:var(--green);border:none;border-radius:7px;color:var(--surface);cursor:pointer;flex:2 1;font-family:var(--font-body);font-size:.82rem;font-weight:600;padding:6px 10px;transition:opacity .15s}.recipe-cart-add:hover:not(:disabled){opacity:.85}.recipe-cart-add:disabled{cursor:not-allowed;opacity:.45}.rr-meta-row .tag-chip--active{background:var(--amber-pale);border-color:var(--amber);color:var(--amber)}.load-more-wrap{display:flex;justify-content:center;margin-top:28px}.btn-load-more{background:#0000;border:1.5px solid var(--green);border-radius:50px;color:var(--green);cursor:pointer;font-family:var(--font-body);font-size:.88rem;font-weight:700;padding:10px 36px;transition:all .18s}.btn-load-more:hover:not(:disabled){background:var(--green-pale)}.btn-load-more:disabled{cursor:default;opacity:.5}.empty-state{padding:80px 20px;text-align:center}.empty-state h3{color:var(--txt);font-size:1.4rem;margin-bottom:8px}.empty-state p{color:var(--txt3);font-size:.9rem;margin-bottom:24px}@media (max-width:600px){.rr-title{white-space:normal}.filter-bar{flex-wrap:wrap}.filter-search{max-width:100%}}.recipe-detail{margin:0 auto;max-width:900px}.recipe-detail .empty-state,.recipe-detail .loading-state{padding:80px 20px}.page-header-left{display:flex;flex-direction:column;gap:6px}.rdh-page-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.rdh-confirm-txt{color:var(--red);font-size:.78rem;font-weight:700;white-space:nowrap}.rdh-error{background:var(--red-pale);border:1px solid var(--red);border-radius:var(--r);color:var(--red);font-size:.82rem;margin-bottom:12px;padding:8px 14px}.flag-notice{align-items:flex-start;background:var(--amber-pale);border:1px solid var(--amber-pale);border-radius:var(--r2);display:flex;gap:12px;margin-bottom:20px;padding:14px 18px}.flag-notice-icon{flex-shrink:0;font-size:1.4rem}.flag-notice strong{color:var(--amber);display:block;margin-bottom:4px}.flag-notice p{color:var(--txt2);font-size:.875rem;line-height:1.5;margin:0}.recipe-detail-header{background:var(--surface);border:1px solid var(--border);border-radius:var(--r3);margin-bottom:24px;overflow:visible}.rdh-img{align-items:center;background:linear-gradient(135deg,var(--bg),var(--surface2));border-radius:var(--r3) var(--r3) 0 0;display:flex;font-size:4rem;height:220px;justify-content:center;overflow:hidden;width:100%}.rdh-img img{display:block;height:100%;object-fit:cover;width:100%}.rdh-body{padding:22px 26px}.rdh-title-row{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:10px}.rdh-title{color:var(--txt);font-family:var(--font-serif);font-size:1.5rem;font-weight:700;letter-spacing:-.4px;line-height:1.25}.rdh-title-row .cat-badge{flex-shrink:0;white-space:nowrap}.rdh-meta-strip{border-bottom:1px solid var(--border);border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:24px;margin-bottom:14px;padding:14px 0}.rdh-meta-item{min-width:60px;text-align:center}.rdh-meta-label{color:var(--txt3);font-size:.62rem;font-weight:700;letter-spacing:.08em;margin-bottom:3px;text-transform:uppercase}.rdh-meta-val{color:var(--txt);font-family:var(--font-serif);font-size:1rem;font-weight:700}.portion-ctrl{gap:8px}.port-btn,.portion-ctrl{align-items:center;display:flex}.port-btn{background:var(--bg);border:1px solid var(--border);border-radius:50%;color:var(--txt2);cursor:pointer;font-size:1rem;font-weight:700;height:26px;justify-content:center;transition:all .15s;width:26px}.port-btn:hover{background:var(--green-pale);border-color:var(--green-mid);color:var(--green)}.port-num{color:var(--txt);font-family:var(--font-serif);font-size:1rem;font-weight:700;min-width:20px;text-align:center}.rdh-tags{gap:6px}.allergen-bar,.rdh-tags{display:flex;flex-wrap:wrap;margin-top:12px}.allergen-bar{align-items:center;background:var(--amber-pale);border:1px solid var(--amber-pale);border-radius:var(--r);color:var(--amber);font-size:.78rem;font-weight:600;gap:8px;overflow:visible;padding:8px 14px}.allergen-bar svg{stroke:currentColor;fill:none;stroke-width:2;flex-shrink:0;height:14px;width:14px}.allergen-bar-none{font-style:italic;opacity:.75}.allergen-badge{background:var(--amber-pale);border:1px solid var(--amber);border-radius:100px;color:var(--amber);cursor:default;font-size:.7rem;font-weight:700;padding:2px 8px;position:relative}.allergen-badge--active{z-index:100}.allergen-tooltip{background:var(--txt);border:1px solid var(--border);border-radius:10px;box-shadow:var(--sh-lg);color:var(--surface);font-size:.75rem;font-weight:400;left:0;line-height:1.5;max-width:calc(100vw - 16px);padding:10px 14px;pointer-events:none;position:absolute;text-align:left;top:calc(100% + 8px);white-space:normal;width:230px;z-index:9999}.allergen-tooltip:before{border:6px solid #0000;border-bottom:6px solid var(--border);bottom:100%;content:"";left:18px;position:absolute}.allergen-tooltip-name{color:var(--amber);font-size:.8rem;font-weight:700}.allergen-tooltip-desc,.allergen-tooltip-name{display:block;margin-bottom:4px}.allergen-tooltip-foods{color:var(--txt3);display:block;font-size:.7rem}.recipe-cols{grid-gap:24px;align-items:start;display:grid;gap:24px;grid-template-columns:1fr 1.5fr}.ingredient-list{gap:2px}.ing-row{align-items:center;border:1px solid #0000;border-radius:var(--r);cursor:pointer;gap:10px;padding:9px 12px;transition:background .15s}.ing-row:hover{background:var(--bg)}.ing-row.have{background:var(--green-pale)}.ing-row.have .ing-name{color:var(--green-dark)}.ing-amt{color:var(--green);flex-shrink:0;font-family:var(--font-mono);font-size:.8rem;font-weight:700;min-width:52px;text-align:right}.ing-name{color:var(--txt);flex:1 1;font-size:.85rem;font-weight:600}.ing-add{align-items:center;border:1.5px solid var(--border);border-radius:50%;color:var(--txt3);cursor:pointer;display:flex;flex-shrink:0;font-size:.85rem;height:22px;justify-content:center;transition:all .15s;width:22px}.ing-add:hover{background:var(--green-pale);border-color:var(--green);color:var(--green)}.ing-checkbox{accent-color:var(--green);height:15px;width:15px}.add-all-btn,.ing-checkbox{cursor:pointer;flex-shrink:0}.add-all-btn{align-items:center;background:var(--green);border:none;border-radius:var(--r);color:var(--surface);display:flex;font-family:var(--font-body);font-size:.82rem;font-weight:700;gap:6px;padding:7px 14px;transition:all .18s;white-space:nowrap}.add-all-btn:hover{opacity:.85}.add-all-btn--remove{background:var(--red)}.add-all-btn--remove:hover{opacity:.85}.add-all-btn svg{stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;height:13px;width:13px}.step-list{gap:12px}.step-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--r2);display:flex;gap:14px;padding:14px 16px;transition:all .2s}.step-row:hover{border-color:var(--green-mid);box-shadow:var(--sh)}.step-num{background:var(--green);color:var(--surface);font-size:.78rem;font-weight:800;height:28px;margin-top:1px;width:28px}.step-text{color:var(--txt);flex:1 1;font-size:.85rem;line-height:1.65}.step-text p{margin:0}.step-text strong{color:var(--green-dark);font-weight:600}.step-detail-img{border:1px solid var(--border);border-radius:10px;display:block;margin-top:10px;max-height:320px;max-width:100%;object-fit:cover}@media (max-width:768px){.recipe-cols{gap:24px;grid-template-columns:1fr}.rdh-body{padding:16px 18px}.rdh-title{font-size:1.3rem}}@media (max-width:600px){.rdh-page-actions{gap:6px}.rdh-meta-strip{gap:16px}.rdh-img{height:180px}}.share-modal-overlay{align-items:center;background:#000000a6;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:500}.share-modal{background:var(--surface);border:1px solid var(--border);border-radius:16px;display:flex;flex-direction:column;gap:1.25rem;max-width:440px;padding:2rem;position:relative;width:100%}.share-modal h3{color:var(--txt);font-size:1.2rem;margin:0}.share-modal-close{background:none;border:none;color:var(--txt3);cursor:pointer;font-size:1rem;padding:.25rem .5rem;position:absolute;right:1rem;top:1rem}.share-modal-close:hover{color:var(--txt)}.share-warning{background:var(--amber-pale);border:1px solid var(--amber-pale);border-radius:10px;display:flex;gap:.75rem;padding:1rem}.share-warning-icon{flex-shrink:0;font-size:1.25rem}.share-warning p{color:var(--txt2);font-size:.9rem;line-height:1.55;margin:0}.share-warning strong{color:var(--amber)}.share-checkbox-label{align-items:flex-start;color:var(--txt2);cursor:pointer;display:flex;font-size:.875rem;gap:.6rem;line-height:1.5}.share-checkbox-label input{flex-shrink:0;margin-top:3px}.share-modal-hint{color:var(--txt2);font-size:.875rem;margin:0}.share-link-box{align-items:center;background:var(--bg);border:1px solid var(--border);border-radius:8px;display:flex;gap:.5rem;padding:.65rem .75rem}.share-link-text{color:var(--txt);flex:1 1;font-family:var(--font-mono);font-size:.8rem;word-break:break-all}.share-copy-btn{background:none;border:none;cursor:pointer;flex-shrink:0;font-size:1.1rem;padding:.1rem .3rem}.btn-native-share{background:var(--green);border:none;border-radius:10px;color:var(--surface);cursor:pointer;font-family:var(--font-body);font-size:1rem;font-weight:600;padding:.75rem;transition:opacity .15s;width:100%}.btn-native-share:hover{opacity:.85}.share-platforms{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(3,1fr)}.share-platform-btn{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:10px;color:var(--txt2);cursor:pointer;display:flex;flex-direction:column;font-family:var(--font-body);font-size:.875rem;font-weight:500;gap:.35rem;padding:.65rem .5rem;transition:border-color .15s,background .15s}.share-platform-btn svg{height:22px;width:22px}.share-platform-btn:hover{background:var(--bg);border-color:var(--border2);color:var(--txt)}.share-platform-btn.whatsapp svg{color:#25d366}.share-platform-btn.facebook svg{color:#1877f2}.share-platform-btn.twitter svg{color:var(--txt)}.share-platform-btn.telegram svg{color:#229ed9}.share-platform-btn.linkedin svg{color:#0a66c2}.share-platform-btn.email svg{color:var(--txt2)}.btn-link-revoke{background:none;border:none;color:var(--red);cursor:pointer;font-family:var(--font-body);font-size:.875rem;padding:0;text-decoration:underline}.revoke-confirm p{color:var(--txt2);font-size:.875rem;margin:0 0 10px}.revoke-confirm-buttons{display:flex;gap:8px}.ing-input-wrap{flex:1 1;position:relative}.ing-spinner-inline{animation:ing-spin .7s linear infinite;border-top-color:#16a34a;border:2px solid var(--border);border-radius:50%;border-top-color:var(--green,#16a34a);height:14px;pointer-events:none;position:absolute;right:.6rem;top:50%;transform:translateY(-50%);width:14px}.ing-input-checking{padding-right:2rem}@keyframes ing-spin{to{transform:rotate(1turn)}}.ing-accepted{color:#16a34a;font-size:.85rem;pointer-events:none;position:absolute;right:.6rem;top:50%;transform:translateY(-50%)}.ing-dropdown{background:#fff;border:1.5px solid var(--border);border-radius:8px;box-shadow:0 4px 16px #0000001a;left:0;list-style:none;margin:0;max-height:240px;overflow-y:auto;padding:.3rem 0;position:absolute;right:0;top:calc(100% + 2px);z-index:200}.ing-option{color:var(--text-dark);cursor:pointer;font-size:.9rem;padding:.5rem .9rem;transition:background .1s}.ing-option.active,.ing-option:hover{background:#f0fdf4;color:var(--primary-sage)}.ing-correction{align-items:center;color:#d97706;display:flex;flex-wrap:wrap;font-size:.8rem;gap:.4rem;margin-top:.3rem}.ing-correction-btn{background:#d97706;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.75rem;padding:.15rem .5rem}.ing-correction-btn:hover{background:#b45309}.ing-correction-dismiss{background:none;border:none;color:#9ca3af;cursor:pointer;font-size:.75rem;padding:0}.camera-overlay{align-items:center;background:#000;bottom:0;display:flex;flex-direction:column;height:100dvh;justify-content:center;left:0;overflow:hidden;overscroll-behavior:none;position:fixed;right:0;top:0;touch-action:none;z-index:1000}.camera-video{height:100%;object-fit:cover;width:100%}.camera-close{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:1rem;height:40px;right:1rem;top:1rem;width:40px;z-index:10}.camera-close,.camera-controls{display:flex;justify-content:center;position:absolute}.camera-controls{bottom:calc(2rem + env(safe-area-inset-bottom, 0px));left:0;right:0}.camera-shutter{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fff3;border:4px solid #fff;border-radius:50%;cursor:pointer;display:flex;height:72px;justify-content:center;transition:transform .1s,background .1s;width:72px}.camera-shutter:active{background:#ffffff80;transform:scale(.92)}.camera-shutter-inner{background:#fff;border-radius:50%;display:block;height:54px;width:54px}.camera-flash{animation:flash .15s ease-out forwards;background:#fff;inset:0;opacity:.6;pointer-events:none;position:absolute;z-index:20}@keyframes flash{0%{opacity:.6}to{opacity:0}}.camera-remaining{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;border-radius:20px;color:#fff;font-size:.8rem;left:50%;padding:4px 12px;position:absolute;top:1rem;transform:translateX(-50%);z-index:10}.camera-thumb-strip{bottom:calc(7rem + env(safe-area-inset-bottom, 0px));display:flex;gap:6px;left:1rem;position:absolute;z-index:10}.camera-thumb{border:2px solid #fff;border-radius:6px;height:48px;object-fit:cover;width:48px}.camera-done-btn{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#3dd68ce6;border:none;border-radius:50px;bottom:calc(2.8rem + env(safe-area-inset-bottom, 0px));box-shadow:0 2px 12px #0000004d;color:#0d0f12;cursor:pointer;font-size:.95rem;font-weight:700;left:1.5rem;padding:.65rem 1.5rem;position:absolute;z-index:10}.camera-loading{color:#fff;font-size:1rem;opacity:.7}.camera-error{align-items:center;color:#fff;display:flex;flex-direction:column;gap:1rem;padding:2rem;text-align:center}.camera-error-icon{font-size:3rem}.camera-error p{font-size:1rem;line-height:1.6;opacity:.85;white-space:pre-line}.camera-error-btn{background:#0000;border:2px solid #fff;border-radius:50px;color:#fff;cursor:pointer;font-size:1rem;padding:.65rem 2rem}.editor-page{margin:0 auto;max-width:900px;padding:0 0 4rem}.editor-inline{margin:0;max-width:100%;padding:1rem 0}.editor-grid{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:1fr 280px;padding-top:20px}.editor-main{display:flex;flex-direction:column}.editor-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--r2);margin-bottom:16px;overflow:hidden}.editor-section-head{align-items:center;background:var(--bg);border-bottom:1px solid var(--border);color:var(--txt2);display:flex;font-size:.68rem;font-weight:800;justify-content:space-between;letter-spacing:.09em;padding:12px 16px;text-transform:uppercase}.editor-section-body{padding:16px}.portion-field{align-items:center;background:var(--bg);border:1.5px solid var(--border);border-radius:var(--r);display:flex;overflow:hidden;transition:border-color .15s}.portion-field:focus-within{border-color:var(--green-mid)}.port-f-btn{align-items:center;background:#0000;border:none;color:var(--txt2);cursor:pointer;display:flex;flex-shrink:0;font-family:var(--font-body);font-size:1.2rem;font-weight:700;height:38px;justify-content:center;transition:all .15s;width:36px}.port-f-btn:hover{background:var(--green-pale);color:var(--green)}.port-f-input{background:#0000;border:none;color:var(--txt);flex:1 1;font-family:var(--font-serif);font-size:1rem;font-weight:700;outline:none;padding:0;text-align:center}.ing-editor-row{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:70px 100px 1fr 28px;margin-bottom:8px}.ing-e-amt{padding:7px 10px}.ing-e-amt,.ing-e-unit{font-size:.82rem}.ing-e-name{min-width:0}.ing-e-del{align-items:center;background:var(--red-pale);border:none;border-radius:6px;color:var(--red);cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;transition:all .15s;width:28px}.ing-e-del:hover{background:var(--red);color:var(--surface)}.ing-e-del svg{stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;height:12px;width:12px}.step-editor-row{align-items:flex-start;display:flex;gap:10px;margin-bottom:10px}.step-e-num{align-items:center;background:var(--green);border-radius:50%;color:var(--surface);display:flex;flex-shrink:0;font-size:.78rem;font-weight:800;height:28px;justify-content:center;margin-top:8px;width:28px}.step-e-textarea{background:var(--bg);border:1.5px solid var(--border);border-radius:var(--r);box-sizing:border-box;color:var(--txt);flex:1 1;font-family:var(--font-body);font-size:.83rem;line-height:1.55;min-height:64px;outline:none;padding:9px 12px;resize:vertical;transition:border-color .2s;width:100%}.step-e-textarea:focus{border-color:var(--green-mid)}.step-e-textarea::placeholder{color:var(--txt3)}.step-e-del{align-items:center;background:var(--red-pale);border:none;border-radius:6px;color:var(--red);cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;margin-top:8px;transition:all .15s;width:28px}.step-e-del:hover{background:var(--red);color:var(--surface)}.step-e-del svg{stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;height:12px;width:12px}.step-handle{color:var(--txt3);cursor:grab;flex-shrink:0;font-size:1rem;padding-top:10px;-webkit-user-select:none;user-select:none}.step-drag-over .step-e-textarea{background:var(--green-pale);border-color:var(--green)}.step-img-preview{border-radius:var(--r);display:inline-block;margin-top:8px;max-width:100%;overflow:hidden;position:relative}.step-img-preview img{border:1px solid var(--border);border-radius:var(--r);display:block;max-height:200px;max-width:100%;object-fit:cover}.step-img-remove{align-items:center;background:#0000008c;border:none;border-radius:50%;color:var(--surface);cursor:pointer;display:flex;font-size:14px;height:22px;justify-content:center;line-height:1;position:absolute;right:4px;top:4px;width:22px}.step-img-remove:hover{background:var(--red)}.step-actions{display:flex;flex-direction:column;gap:5px;margin-top:8px}.step-action-btn{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);color:var(--txt3);cursor:pointer;font-family:inherit;font-size:.72rem;padding:4px 7px;transition:all .15s}.step-action-btn:hover{border-color:var(--green-mid);color:var(--green)}.add-ing-btn{background:#0000;border:1.5px dashed var(--border2);border-radius:var(--r);color:var(--txt3);cursor:pointer;font-family:var(--font-body);font-size:.8rem;font-weight:600;margin-top:4px;padding:8px;transition:all .18s;width:100%}.add-ing-btn:hover{background:var(--green-pale);border-color:var(--green-mid);color:var(--green)}.editor-sidebar-panel{display:flex;flex-direction:column;gap:14px;position:-webkit-sticky;position:sticky;top:16px}.sidebar-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r2);padding:16px}.sidebar-panel-title{color:var(--txt2);font-size:.68rem;font-weight:800;letter-spacing:.08em;margin-bottom:12px;text-transform:uppercase}.vis-toggle{background:var(--bg);border-radius:8px;display:flex;gap:2px;margin-bottom:12px;padding:3px}.vis-btn{background:#0000;border:none;border-radius:6px;color:var(--txt3);cursor:pointer;flex:1 1;font-family:var(--font-body);font-size:.78rem;font-weight:700;padding:6px 8px;transition:all .15s}.vis-btn.active{background:var(--surface);box-shadow:var(--sh);color:var(--txt)}.vis-hint{color:var(--txt3);font-size:.72rem;line-height:1.5;margin:0}.upload-thumb{align-items:center;background:var(--bg);border:1.5px dashed var(--border2);color:var(--txt3);display:flex;flex-direction:column;gap:6px;height:120px;justify-content:center;transition:all .2s;width:100%}.upload-thumb:hover{background:var(--green-pale);color:var(--green)}.upload-thumb svg{stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;height:20px;width:20px}.upload-thumb img{display:block;height:100%;object-fit:cover;width:100%}.upload-thumb-label{font-size:.75rem;font-weight:600}.upload-thumb-hint{font-size:.68rem}.upload-notice-warn{background:var(--amber-pale);border-radius:6px;color:var(--amber);font-size:.72rem;line-height:1.5;margin-bottom:10px;padding:6px 10px}.upload-camera-btn{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);color:var(--txt2);display:inline-flex;font-family:inherit;font-size:.81rem;font-weight:600;gap:6px;margin-top:8px;padding:7px 14px}.upload-camera-btn:hover{border-color:var(--green-mid);color:var(--green-dark)}.tags-input{background:var(--bg);border:1.5px solid var(--border);border-radius:var(--r);cursor:text;display:flex;flex-wrap:wrap;gap:4px;min-height:40px;padding:6px 8px;transition:border-color .2s}.tags-input:focus-within{border-color:var(--green-mid)}.tag-item{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:5px;color:var(--txt2);display:flex;font-size:.75rem;font-weight:600;gap:4px;padding:2px 8px}.tag-remove{background:none;border:none;color:var(--txt3);cursor:pointer;font-family:var(--font-body);font-size:.9rem;line-height:1;padding:0;transition:color .15s}.tag-remove:hover{color:var(--red)}.tags-field-input{background:#0000;border:none!important;box-shadow:none!important;color:var(--txt);flex:1 1;font-family:var(--font-body);font-size:.78rem;min-width:80px;outline:none;padding:2px 3px!important}.tags-field-input::placeholder,.tags-hint{color:var(--txt3)}.tags-hint{font-size:.68rem;margin-top:5px}.sidebar-panel-danger{background:var(--surface);border:1px solid var(--red-pale);border-radius:var(--r2);padding:16px}.sidebar-panel-danger .sidebar-panel-title{color:var(--red)}.rights-confirm-box{align-items:flex-start;background:var(--green-pale);border:1px solid var(--green-mid);border-radius:var(--r);color:var(--txt);cursor:pointer;display:flex;font-size:.83rem;gap:10px;line-height:1.5;padding:12px 14px}.rights-confirm-box input[type=checkbox]{accent-color:var(--green);cursor:pointer;flex-shrink:0;height:16px;margin-top:2px;width:16px}.rights-confirm-required{color:var(--red);font-size:.75rem;font-weight:700;margin-left:3px}.agb-bar{grid-column:1/-1;margin-top:4px}.agb-text{background:var(--surface);border:1px solid var(--border);border-radius:var(--r2);color:var(--txt3);font-size:.75rem;line-height:1.6;padding:10px 14px;text-align:center}.agb-text a{color:var(--green);text-decoration:underline}.field-error{border-color:var(--red)!important}.field-error-msg{color:var(--red);display:block;font-size:.76rem;margin-top:3px}@media (max-width:860px){.editor-grid{grid-template-columns:1fr}.editor-sidebar-panel{position:static}}@media (max-width:600px){.ing-editor-row{grid-template-columns:70px 1fr 28px}.ing-e-unit{display:none}.field-row{grid-template-columns:1fr}}.upload-page{margin:0 auto;max-width:900px}.upload-tabs{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);display:flex;margin-bottom:20px;overflow:hidden}.upload-tab{background:#0000;border:none;color:var(--txt2);cursor:pointer;flex:1 1;font-family:var(--font-body);font-size:.85rem;font-weight:700;padding:10px 8px;transition:all .15s}.upload-tab:hover:not(.upload-tab-active){background:var(--bg)}.upload-tab-active{background:var(--green);color:var(--surface)}.upload-quota-bar{align-items:center;background:var(--green-pale);border:1px solid var(--green-mid);border-radius:var(--r);color:var(--green-dark);display:flex;font-size:.78rem;font-weight:600;gap:10px;margin-bottom:16px;padding:8px 14px}.upload-quota-bar a{color:var(--green)}.upload-quota-track{background:var(--green-mid);border-radius:3px;flex-shrink:0;height:5px;overflow:hidden;width:100px}.upload-quota-fill{background:var(--green);border-radius:3px;height:100%;transition:width .3s}.upload-quota-remaining{color:var(--green);font-weight:700;margin-left:auto}.upload-drop-zone{background:var(--surface);border:2px dashed var(--border2);border-radius:var(--r2);cursor:pointer;display:block;padding:52px 24px;text-align:center;transition:border-color .2s,background .2s}.upload-drop-zone-hover,.upload-drop-zone:hover{background:var(--green-pale);border-color:var(--green)}.upload-drop-icon{align-items:center;background:var(--green-pale);border-radius:50%;display:flex;height:72px;justify-content:center;margin:0 auto 1rem;width:72px}.upload-drop-icon svg{stroke:var(--green);height:32px;width:32px}.upload-drop-title{color:var(--txt);font-family:var(--font-serif);font-size:1.1rem;font-weight:700;margin:0 0 .4rem}.upload-drop-sub{color:var(--txt3);font-size:.8rem;margin:0 0 1rem}.upload-format-chips{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.upload-format-chip{background:var(--bg);border:1px solid var(--border);border-radius:var(--r);color:var(--txt2);font-size:.72rem;font-weight:600;padding:3px 10px}.upload-preview-img{border-radius:10px;max-height:380px;object-fit:contain;width:100%}.upload-preview-actions{display:flex;gap:10px;margin-top:.75rem}.upload-preview-actions .btn{flex:1 1}.upload-divider{align-items:center;display:flex;gap:12px;margin:.75rem 0}.upload-divider:after,.upload-divider:before{background:var(--border);content:"";flex:1 1;height:1px}.upload-divider span{color:var(--txt3);font-size:.75rem}.upload-camera-btn{align-items:center;background:var(--surface)!important;border:1px solid var(--border2)!important;border-radius:var(--r)!important;box-sizing:border-box;color:var(--txt2)!important;cursor:pointer;display:flex!important;font-family:var(--font-body);font-size:.9rem;gap:.6rem;justify-content:center;padding:13px 20px;transition:all .15s;width:100%}.upload-camera-btn:hover{border-color:var(--green)!important;color:var(--green)!important}label.upload-camera-btn{cursor:pointer}.upload-error{background:var(--red-pale);border:1px solid var(--red);border-radius:var(--r);color:var(--red);font-size:.82rem;margin-top:.75rem;padding:12px 16px}.upload-btn-full{justify-content:center;margin-top:.5rem;width:100%}.upload-cancel-link{background:none;border:none;color:var(--txt3);cursor:pointer;display:block;font-family:var(--font-body);font-size:.8rem;padding:6px;text-align:center}.upload-cancel-link:hover{color:var(--txt2)}.upload-scan-split{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-top:.5rem}.upload-scan-img-col{position:-webkit-sticky;position:sticky;top:90px}.upload-scan-img-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--r2);overflow:hidden;position:relative}.upload-scan-img-wrap img{display:block;max-height:360px;object-fit:contain;width:100%}.upload-scan-line{animation:upload-scanline 2s ease-in-out infinite;background:var(--green);box-shadow:0 0 8px #1a945899;height:2px;left:0;pointer-events:none;position:absolute;right:0}@keyframes upload-scanline{0%{opacity:1;top:5%}90%{opacity:1;top:90%}to{opacity:0;top:90%}}.upload-scan-steps-col{display:flex;flex-direction:column;gap:0}.upload-scan-title{color:var(--txt);font-size:.88rem;font-weight:600;margin:0 0 14px}.upload-step{gap:10px;padding:6px 0}.upload-step,.upload-step-dot{align-items:center;display:flex}.upload-step-dot{border-radius:50%;color:var(--surface);flex-shrink:0;font-size:11px;height:20px;justify-content:center;width:20px}.upload-step-dot-waiting{background:var(--border2)}.upload-step-dot-active{animation:upload-pulse 1.2s ease-in-out infinite;background:#1a94582e}.upload-step-dot-done{background:var(--green)}@keyframes upload-pulse{0%,to{box-shadow:0 0 0 0 #1a945866}50%{box-shadow:0 0 0 6px #1a945800}}.upload-step-label{color:var(--txt2);font-size:.8rem}.upload-step-label-done{color:var(--txt);font-weight:500}.upload-scan-ings{margin-top:16px}.upload-scan-ings-label{color:var(--txt3);display:block;font-size:.68rem;margin-bottom:6px}.upload-scan-ings-list{display:flex;flex-wrap:wrap;gap:4px}.upload-ing-tag{background:var(--bg);border:1px solid var(--border);border-radius:99px;color:var(--txt2);font-size:.75rem;opacity:0;padding:3px 10px;transform:translateY(4px);transition:opacity .3s,transform .3s}.upload-ing-tag.show{opacity:1;transform:translateY(0)}.upload-ing-highlight{background:var(--green-pale);border-color:var(--green-mid);color:var(--green)}.upload-multi{display:flex;flex-direction:column;gap:12px}.upload-multi-file-list{display:flex;flex-direction:column;gap:6px}.upload-multi-file-item{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);display:flex;gap:10px;padding:8px 12px}.upload-multi-file-thumb{background:var(--bg);border-radius:6px;flex-shrink:0;height:40px;object-fit:cover;width:48px}.upload-multi-file-name{color:var(--txt);flex:1 1;font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-multi-file-vis{background:none;border:1px solid var(--border2);border-radius:6px;cursor:pointer;flex-shrink:0;font-size:.88rem;padding:4px 8px;transition:all .15s}.upload-multi-file-vis:hover{border-color:var(--green)}.upload-multi-file-remove{align-items:center;background:none;border:none;border-radius:6px;color:var(--txt3);cursor:pointer;display:flex;flex-shrink:0;font-size:18px;height:28px;justify-content:center;transition:all .15s;width:28px}.upload-multi-file-remove:hover{background:var(--red-pale);color:var(--red)}.upload-multi-add-more{align-items:center;background:none;border:1.5px dashed var(--border2);border-radius:var(--r);color:var(--green);cursor:pointer;display:flex;font-family:var(--font-body);font-size:.8rem;gap:6px;justify-content:center;padding:10px;transition:all .15s}.upload-multi-add-more:hover{background:var(--green-pale);border-color:var(--green)}.upload-multi-limit-hint{background:var(--bg);border-radius:var(--r);color:var(--txt3);font-size:.75rem;padding:6px;text-align:center}.upload-quota-warn{background:var(--amber-pale);border:1px solid var(--amber-pale);border-radius:var(--r);color:var(--amber);font-size:.8rem;padding:10px 14px}.upload-quota-warn a{color:var(--amber);font-weight:500}.upload-quota-confirm{background:var(--surface);border:1px solid var(--border);border-radius:var(--r2);padding:16px 20px}.upload-quota-confirm p{color:var(--txt);font-size:.88rem;margin:0 0 12px}.upload-quota-confirm-btns{display:flex;gap:8px}.upload-multi-progress{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:14px 18px}.upload-multi-progress-stats{color:var(--txt2);display:flex;flex-wrap:wrap;font-size:.75rem;gap:14px;margin-bottom:8px}.upload-dot{border-radius:50%;display:inline-block;height:7px;margin-right:4px;vertical-align:middle;width:7px}.upload-dot-wait{background:var(--border2)}.upload-dot-run{background:var(--amber)}.upload-dot-done{background:var(--green)}.upload-dot-err{background:var(--red)}.upload-progress-track{background:var(--border);border-radius:3px;height:6px;overflow:hidden}.upload-progress-fill{background:var(--green);border-radius:3px;height:100%;transition:width .3s}.upload-progress-label{color:var(--green);font-size:.68rem;font-weight:500;margin-top:6px;text-align:right}.upload-thumb-strip{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.upload-thumb-strip::-webkit-scrollbar{display:none}.upload-thumb{background:var(--surface);border:2px solid #0000;border-radius:var(--r);cursor:pointer;flex-shrink:0;overflow:hidden;transition:border-color .15s,box-shadow .15s;width:88px}.upload-thumb:hover{border-color:var(--green-mid)}.upload-thumb-status-processing{border-color:var(--amber)!important}.upload-thumb-status-done-border{border-color:var(--green-mid)}.upload-thumb-active-border{border-color:var(--green)!important;box-shadow:0 0 0 2px #1a945826}.upload-thumb-clickable{cursor:pointer}.upload-thumb-clickable:hover{border-color:var(--border2);opacity:.85}.upload-thumb-img{background:var(--bg);height:72px;overflow:hidden;width:88px}.upload-thumb-img img{height:100%;object-fit:cover;width:100%}.upload-thumb-info{padding:5px 6px}.upload-thumb-name{color:var(--txt);display:block;font-size:.65rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-thumb-sts{display:block;font-size:.62rem;margin-top:2px}.upload-thumb-sts-done{color:var(--green)}.upload-thumb-sts-processing{color:var(--amber)}.upload-thumb-sts-waiting{color:var(--txt3)}.upload-thumb-sts-error{color:var(--red)}.upload-thumb-sts-skipped{color:var(--amber)}.upload-multi-nav{align-items:center;display:flex;gap:10px;margin-bottom:6px}.upload-multi-nav-label{color:var(--txt2);flex:1 1;font-size:.8rem;font-weight:500}.upload-nav-dots{align-items:center;display:flex;gap:4px}.upload-nav-dot{background:var(--border2);border-radius:4px;cursor:pointer;flex-shrink:0;height:8px;transition:all .2s;width:8px}.upload-nav-dot.active{background:var(--green);width:20px}.upload-nav-dot.saved{background:var(--green-mid)}.upload-nav-btns{display:flex;gap:4px}.upload-nav-btn{align-items:center;background:var(--surface);border:1px solid var(--border2);border-radius:7px;color:var(--txt2);cursor:pointer;display:flex;font-family:var(--font-body);font-size:16px;height:30px;justify-content:center;transition:all .15s;width:30px}.upload-nav-btn:hover:not(:disabled){border-color:var(--green);color:var(--green)}.upload-nav-btn:disabled{cursor:not-allowed;opacity:.35}.upload-editor-wrap{margin-top:1.5rem}.upload-editor-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r2);overflow:hidden}.upload-editor-header{align-items:center;background:var(--bg);border-bottom:1px solid var(--border);display:flex;gap:10px;padding:12px 18px}.upload-editor-num{align-items:center;background:var(--green);border-radius:50%;color:var(--surface);display:flex;flex-shrink:0;font-size:.75rem;font-weight:700;height:26px;justify-content:center;width:26px}.upload-editor-header>span{color:var(--txt);flex:1 1;font-size:.82rem;font-weight:500}.upload-editor-link{color:var(--green);font-size:.75rem;text-decoration:none;white-space:nowrap}.upload-editor-link:hover{text-decoration:underline}.upload-all-saved{background:var(--green-pale);border-top:1px solid var(--green-mid);color:var(--green-dark);font-size:.88rem;font-weight:500;gap:12px;padding:12px 18px}.upload-all-saved,.upload-summary-bar{align-items:center;display:flex;justify-content:space-between}.upload-summary-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);flex-wrap:wrap;gap:16px;padding:14px 18px}.upload-summary-count{color:var(--txt);display:block;font-size:.88rem;font-weight:500}.upload-summary-sub{color:var(--txt3);display:block;font-size:.75rem;margin-top:2px}.upload-running-hint{color:var(--txt2);font-size:.8rem;padding:8px 0;text-align:center}.upload-ai-notice{color:var(--txt3);font-size:.68rem;letter-spacing:.01em;padding:6px 0 2px;text-align:center}.upload-badge-dup{background:var(--amber-pale);border:1px solid var(--amber-pale);border-radius:var(--r);color:var(--amber);font-size:.68rem;padding:2px 8px;white-space:nowrap}.upload-faq{margin-top:2.5rem}.upload-faq .sec-title{display:block;margin-bottom:10px}.faq-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);margin-bottom:6px;overflow:hidden}.faq-item summary{align-items:center;color:var(--txt);cursor:pointer;display:flex;font-size:.83rem;font-weight:600;gap:10px;list-style:none;padding:12px 16px}.faq-item summary:hover{background:var(--bg)}.faq-item[open] summary{color:var(--green)}.faq-item p{color:var(--txt2);font-size:.82rem;line-height:1.6;margin:0;padding:0 16px 14px}@media (max-width:600px){.upload-scan-split{grid-template-columns:1fr}.upload-scan-img-col{position:static}.upload-multi-progress-stats{gap:8px}.upload-summary-bar{align-items:flex-start;flex-direction:column;gap:10px}}.tpl-preview{background:none;border:2px solid var(--border);border-radius:var(--radius);cursor:pointer;overflow:hidden;padding:0;position:relative;text-align:left;transition:border-color .2s,transform .15s;width:160px}.tpl-preview:hover{border-color:var(--tpl-primary);transform:translateY(-2px)}.tpl-preview--active{border-color:var(--tpl-active-border)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--tpl-active-border) 20%,#0000)}.tpl-preview--sm{width:120px}.tpl-frame{border-bottom:1px solid;overflow:hidden;width:100%}.tpl-navbar{border-bottom:1px solid;gap:4px;justify-content:space-between;padding:5px 7px}.tpl-logo,.tpl-navbar{align-items:center;display:flex}.tpl-logo{flex-shrink:0;gap:3px}.tpl-logo-dot{border-radius:2px;flex-shrink:0;height:8px;width:8px}.tpl-logo-lines{display:flex;flex-direction:column;gap:2px}.tpl-logo-lines span{border-radius:1px;display:block;height:2px}.tpl-nav-links{display:flex;flex:1 1;gap:4px;justify-content:center}.tpl-nav-links span{border-radius:1px;display:block;height:2px}.tpl-cta{border-radius:3px;flex-shrink:0;height:8px;width:20px}.tpl-content{gap:4px;padding:6px 7px}.tpl-card,.tpl-content{display:flex;flex-direction:column}.tpl-card{border:1px solid;border-radius:4px;gap:3px;padding:5px 6px}.tpl-card-line{border-radius:1px;display:block;height:2px}.tpl-card-badge{border-radius:3px;display:block;height:5px;margin-top:1px;width:28px}.tpl-btn-row{display:flex;justify-content:flex-end;margin-top:2px}.tpl-btn{border-radius:3px;height:9px;width:40px}.tpl-label{align-items:center;border-top:1px solid;display:flex;justify-content:space-between;padding:6px 8px}.tpl-name{color:var(--text-dark);font-size:.75rem;font-weight:600}.tpl-mode{color:var(--text-mid);font-size:.65rem}.tpl-check{align-items:center;background:var(--tpl-primary);border-radius:50%;color:#fff;display:flex;font-size:.65rem;font-weight:700;height:18px;justify-content:center;position:absolute;right:6px;top:6px;width:18px}.shopping-widget{background:var(--bg);border:1px solid var(--border);border-radius:10px}.shopping-widget-header{align-items:center;background:none;border:none;color:var(--text);color:var(--text-primary,var(--text));cursor:pointer;display:flex;font-family:var(--font-body);font-size:.88rem;font-weight:600;gap:8px;padding:10px 14px;text-align:left;transition:background .15s;width:100%}.shopping-widget-header:hover{background:var(--surface)}.shopping-widget-title{flex:1 1}.shopping-badge{background:var(--green);border-radius:99px;color:#fff;font-size:.72rem;font-weight:700;line-height:1.6;min-width:20px;padding:1px 7px;text-align:center}.shopping-chevron{color:var(--text-muted);font-size:.7rem}.shopping-widget-body{border-top:1px solid var(--border);padding:0 0 8px}.shopping-empty{color:var(--text-muted);font-size:.82rem;margin:0;padding:12px 14px 6px}.shopping-list-ul{list-style:none;margin:0;max-height:260px;overflow-y:auto;padding:4px 0 0}.shopping-item{align-items:center;display:flex;gap:6px;padding:5px 10px 5px 6px;transition:background .1s}.shopping-item:hover{background:var(--surface)}.shopping-item--checked .shopping-item-name{color:var(--text-muted);text-decoration:line-through}.shopping-check{background:none;border:none;color:var(--green);cursor:pointer;flex-shrink:0;font-size:1rem;line-height:1;padding:0 2px}.shopping-item-name{color:var(--text);color:var(--text-primary,var(--text));flex:1 1;font-size:.83rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shopping-item-amount{color:var(--green);font-weight:600}.shopping-remove{background:none;border:none;color:var(--text-muted);cursor:pointer;flex-shrink:0;font-size:.75rem;line-height:1;opacity:.5;padding:0 2px;transition:opacity .15s}.shopping-remove:hover{color:#dc2626;opacity:1}.shopping-checked-label{color:var(--text-muted);font-size:.72rem;font-weight:600;letter-spacing:.05em;padding:8px 14px 4px;text-transform:uppercase}.shopping-clear-row{padding:4px 14px 2px}.shopping-clear-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;font-family:var(--font-body);font-size:.78rem;padding:0;text-decoration:underline}.shopping-clear-btn:hover{color:#dc2626}.shopping-add-form{border-top:1px solid var(--border);display:flex;gap:4px;margin-top:4px;padding:8px 10px 4px}.shopping-add-input{background:var(--surface);border:1px solid var(--border);border-radius:7px;color:var(--text);color:var(--text-primary,var(--text));flex:1 1;font-family:var(--font-body);font-size:.82rem;padding:6px 8px}.shopping-add-input:focus{border-color:var(--green);outline:none}.shopping-add-btn{background:var(--green);border:none;border-radius:7px;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;padding:6px 12px;transition:opacity .15s}.shopping-add-btn:hover{opacity:.85}.shopping-actions{display:flex;flex-wrap:wrap;gap:4px;padding:6px 10px 2px}.shopping-action-btn{background:none;border:1px solid var(--border);border-radius:7px;color:var(--text-muted);cursor:pointer;flex:1 1;font-family:var(--font-body);font-size:.78rem;font-weight:500;padding:6px 8px;transition:all .15s;white-space:nowrap}.shopping-action-btn:hover{border-color:var(--green);color:var(--green)}.shopping-action-wa{border-color:#25d366;color:#128c3b}.shopping-action-wa:hover{background:#f0fff4}.shopping-widget-body--no-header{border-top:none}.sb-shopping-panel .shopping-actions{display:none}.sb-shopping-panel .shopping-widget-body{overflow:visible}.sb-shopping-panel .shopping-list-ul{max-height:260px;overflow-x:hidden;overflow-y:auto}.shopping-fulllink-row{border-top:1px solid var(--border);margin-top:4px;padding:6px 14px 4px}.shopping-fulllink{color:var(--green);font-size:.78rem;font-weight:600;text-decoration:none}.shopping-fulllink:hover{text-decoration:underline}.layout{background:var(--bg);display:flex;flex-direction:column;min-height:100vh}.dev-env-badge{border:1.5px solid var(--amber);border-radius:6px;color:var(--amber);flex-shrink:0;font-size:.72rem;font-weight:700;padding:2px 8px}.topnav{background:var(--surface);border-bottom:1px solid var(--border);height:var(--nav-h);left:0;position:fixed;right:0;top:0;z-index:200}.tn-logo,.topnav{align-items:center;display:flex}.tn-logo{border-right:1px solid var(--border);flex-shrink:0;gap:8px;height:100%;padding:0 16px;width:var(--sb-w)}.tn-hamburger{background:none;border:none;cursor:pointer;display:none;flex-direction:column;flex-shrink:0;gap:4px;justify-content:center;padding:4px}.tn-hamburger span{background:var(--text-dark);border-radius:2px;display:block;height:2px;width:20px}.logo-link{align-items:center;display:flex;flex-shrink:0;gap:8px;text-decoration:none}.logo-mark{border-radius:8px;color:#fff;flex-shrink:0;height:28px;width:28px}.logo-mark svg{height:16px;width:16px}.logo-text{font-family:var(--font-serif);font-size:1.1rem;letter-spacing:-.01em}.logo-text em{color:var(--green);font-style:italic}.tn-mid{flex:1 1;padding:0 20px}.searchbar,.tn-mid{align-items:center;display:flex}.searchbar{background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--txt3);cursor:pointer;font-size:.83rem;gap:8px;max-width:340px;padding:6px 14px;transition:border-color .2s;width:100%}.searchbar:hover{border-color:var(--border2)}.searchbar svg{flex-shrink:0;height:13px;opacity:.5;width:13px}.tn-right{display:flex;gap:8px;padding:0 16px}.tn-right,.topbtn{align-items:center}.topbtn{border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:.8rem;font-weight:700;gap:5px;padding:6px 13px;text-decoration:none;transition:all .18s;white-space:nowrap}.tb-ghost{background:var(--surface);border:1px solid var(--border);color:var(--txt2)}.tb-ghost:hover{border-color:var(--green-mid);color:var(--green-dark)}.tb-ghost svg{height:13px;width:13px}.tb-primary{background:var(--green);color:#fff}.tb-primary:hover{background:var(--green-lt);color:#fff}.tn-avatar{align-items:center;background:var(--text-dark);border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:.72rem;font-weight:800;height:30px;justify-content:center;width:30px}.layout-body{display:flex;flex:1 1;margin-top:var(--nav-h);min-height:calc(100vh - var(--nav-h))}.sidebar{background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;height:calc(100vh - var(--nav-h));overflow-y:auto;padding:12px 8px;position:-webkit-sticky;position:sticky;top:var(--nav-h);width:var(--sb-w)}.sidebar::-webkit-scrollbar{width:3px}.sidebar::-webkit-scrollbar-thumb{background:var(--border2);border-radius:2px}.sb-backdrop{background:#0000004d;display:none;inset:0;position:fixed;z-index:190}.sb-group{margin-bottom:2px;width:220px}.sb-label{align-items:center;color:var(--txt4);display:flex;font-size:.62rem;gap:6px;letter-spacing:.1em;padding:8px 10px 4px}.sb-label,.sb-label-wip{font-weight:700;text-transform:uppercase}.sb-label-wip{background:var(--amber-pale);border-radius:4px;color:var(--amber);font-size:.58rem;letter-spacing:.04em;padding:1px 6px}.sb-item{align-items:center;background:none;border:none;border-radius:8px;color:var(--txt2);cursor:pointer;display:flex;font-family:var(--font-body);font-size:.85rem;font-weight:600;gap:9px;padding:8px 10px;text-align:left;text-decoration:none;transition:all .15s;width:100%}.sb-item:hover{background:var(--bg);color:var(--txt)}.sb-item.active{background:var(--green-pale);color:var(--green-dark);font-weight:700}.sb-item.active .sb-ico{color:var(--green);opacity:1}.sb-item-highlight{background:var(--text-dark);color:#fff!important;font-weight:700}.sb-item-highlight:hover{background:var(--txt2);color:#fff!important}.sb-item-highlight .sb-ico{color:#fff!important;opacity:1!important}.sb-item-wip{cursor:not-allowed;opacity:.45}.sb-item-wip:hover{background:none;color:var(--txt2)}.sb-item-logout{color:var(--red)}.sb-item-logout:hover{background:var(--red-pale);color:#b91c1c}.sb-item-label{flex:1 1}.sb-shopping-chevron{color:var(--txt3);flex-shrink:0;font-size:.65rem}.sb-shopping-panel{overflow-x:hidden;padding:0 0 6px}.sb-ico{align-items:center;display:flex;flex-shrink:0;height:17px;justify-content:center;opacity:.6;width:17px}.sb-ico-svg{height:15px;width:15px}.sb-dot{border-radius:2px;display:block;flex-shrink:0;height:8px;width:8px}.sb-badge{background:var(--bg);border:1px solid var(--border);border-radius:100px;color:var(--txt3);flex-shrink:0;font-size:.63rem;font-weight:700;margin-left:auto;padding:1px 6px}.sb-badge-new{background:var(--green);border-color:var(--green);color:#fff}.sb-divider{background:var(--border);height:1px;margin:8px 0}.sb-footer{margin-top:auto;padding-top:8px}.sb-user-card{align-items:center;background:var(--bg);border:1px solid var(--border);border-radius:var(--r2);cursor:pointer;display:flex;gap:10px;margin:8px 0 4px;padding:10px 12px;transition:border-color .2s}.sb-user-card:hover{border-color:var(--border2)}.sb-user-av{align-items:center;background:var(--green-pale);border:1.5px solid var(--green-mid);border-radius:50%;color:var(--green-dark);display:flex;flex-shrink:0;font-size:.78rem;font-weight:800;height:32px;justify-content:center;width:32px}.sb-user-info{flex:1 1;min-width:0}.sb-user-name{color:var(--txt);font-size:.82rem;font-weight:700}.sb-user-plan{color:var(--green);font-size:.68rem;font-weight:600}.layout-right{display:flex;flex:1 1;flex-direction:column;min-width:0}.layout-content{flex:1 1;overflow-y:auto;padding:28px 32px}.footer{background:var(--surface);border-top:1px solid var(--border);padding:1.25rem 0}.footer-inner{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin:0 auto;max-width:1400px;padding:0 2rem}.footer-inner p{margin:0}.footer-inner p,.footer-links a{color:var(--txt3);font-size:.8rem}.footer-links a:hover{color:var(--txt2)}@media (max-width:900px){.layout-content{padding:20px 16px}}@media (max-width:700px){.tn-logo{border-right:none;width:auto}.tn-hamburger{display:flex}.searchbar,.tb-ghost{display:none}.sidebar{box-shadow:none;height:calc(100vh - var(--nav-h));left:-100%;position:fixed;top:var(--nav-h);transition:left .28s cubic-bezier(.4,0,.2,1);width:var(--sb-w);z-index:195}.sidebar.sidebar-open{box-shadow:var(--sh-lg);left:0}.sb-backdrop{display:block}.layout-content{padding:16px 12px}.footer-inner{flex-direction:column;gap:.5rem;text-align:center}}:root{--admin-bg:#0d1117;--admin-bg-dark:#141820;--admin-bg-alt:#161b29;--admin-bg-hover:#ffffff0d;--admin-border:#2d3548;--admin-text:#e2e8f0;--admin-text-muted:#9ca3b0;--admin-text-dim:#6b7280;--admin-accent:#f4b942;--admin-btn-primary:#1f6feb;--admin-danger:#f85149;--admin-success:#3fb950;--admin-link:#58a6ff;--admin-bg-input:#0d1117;--admin-bg-analysis:#0f1e33;--admin-tag-bg:#21262d;--admin-saved:#10b981;--admin-field-title:#818cf8;--admin-field-amount:#34d399;--admin-field-unit:#fbbf24;--admin-field-name:#60a5fa;--admin-field-step:#f87171}.admin-bar{background:#0d1117;background:var(--admin-bg);border-bottom:1px solid #2d3548;border-bottom:1px solid var(--admin-border);font-family:Inter,sans-serif;font-size:.75rem;gap:0;left:0;position:fixed;right:0;top:0;z-index:9999}.admin-bar,.admin-bar-logo{align-items:center;display:flex;height:40px}.admin-bar-logo{border-right:1px solid #2d3548;border-right:1px solid var(--admin-border);flex-shrink:0;font-size:.7rem;font-weight:700;gap:5px;letter-spacing:.06em;padding:0 10px;text-decoration:none;white-space:nowrap}.admin-bar-logo,.admin-bar-logo:hover{color:#f4b942;color:var(--admin-accent)}.admin-bar-logo:hover{background:#ffffff0d;background:var(--admin-bg-hover)}.admin-bar-nav{align-items:stretch;display:flex;flex:0 0 auto;height:40px;justify-content:flex-start;min-width:0;overflow-x:visible}.admin-bar-link{align-items:center;border-right:1px solid #2d3548;border-right:1px solid var(--admin-border);color:#9ca3b0;color:var(--admin-text-muted);display:flex;font-size:.72rem;height:40px;padding:0 10px;text-decoration:none;transition:background .15s,color .15s;white-space:nowrap}.admin-bar-link.active,.admin-bar-link:hover{background:#ffffff0d;background:var(--admin-bg-hover);color:#e2e8f0;color:var(--admin-text)}.admin-bar-link.active{border-bottom:2px solid #f4b942;border-bottom:2px solid var(--admin-accent);color:#f4b942;color:var(--admin-accent)}.admin-bar-spacer{flex:0 1}.admin-bar-user{align-items:center;border-left:1px solid #2d3548;border-left:1px solid var(--admin-border);display:flex;flex-shrink:0;gap:8px;height:40px;padding:0 10px}.admin-bar-username{font-size:.7rem}.admin-bar-logout,.admin-bar-username{color:#9ca3b0;color:var(--admin-text-muted)}.admin-bar-logout{background:none;border:1px solid #2d3548;border:1px solid var(--admin-border);border-radius:4px;cursor:pointer;font-size:.68rem;padding:3px 9px;transition:.15s}.admin-bar-logout:hover{border-color:#e74c3c;color:#e74c3c}.admin-content{background:#141820;background:var(--admin-bg-dark);margin-top:40px;min-height:calc(100vh - 40px)}.admin-dashboard{max-width:1200px;padding:28px 32px}.admin-dashboard h1{color:#e2e8f0;color:var(--admin-text);font-family:Inter,sans-serif;font-size:1.4rem;font-weight:600;margin-bottom:6px}.admin-dashboard .sub{color:#6b7280;color:var(--admin-text-dim);font-size:.78rem;margin-bottom:28px}.admin-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-bottom:32px}.admin-card{background:#0d1117;background:var(--admin-bg);border:1px solid #2d3548;border:1px solid var(--admin-border);border-radius:8px;cursor:pointer;display:block;padding:18px;text-decoration:none;transition:border-color .15s,transform .15s}.admin-card:hover{border-color:#f4b942;border-color:var(--admin-accent);transform:translateY(-2px)}.admin-card-icon{font-size:1.6rem;margin-bottom:10px}.admin-card-title{color:#e2e8f0;color:var(--admin-text);font-size:.82rem;font-weight:600;margin-bottom:4px}.admin-card-desc{color:#6b7280;color:var(--admin-text-dim);font-size:.68rem}.admin-stats{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));margin-bottom:28px}.admin-stat{background:#0d1117;background:var(--admin-bg);border:1px solid #2d3548;border:1px solid var(--admin-border);border-radius:8px;padding:16px;text-align:center}.admin-stat-val{color:#f4b942;color:var(--admin-accent);font-size:1.8rem;font-weight:700;line-height:1;margin-bottom:5px}.admin-stat-label{font-size:.65rem;letter-spacing:.06em}.admin-section-title,.admin-stat-label{color:#6b7280;color:var(--admin-text-dim);text-transform:uppercase}.admin-section-title{font-size:.7rem;font-weight:600;letter-spacing:.08em;margin-bottom:12px}.admin-bar-link-alert{color:#dc2626!important;font-weight:700}.admin-bar-link-alert.active,.admin-bar-link-alert:hover{background:#fee2e2!important;color:#b91c1c!important}.admin-more-wrap{align-items:center;display:flex;height:40px;position:relative}.admin-more-btn{background:none;border:none;border-radius:0;border-right:1px solid #2d3548;border-right:1px solid var(--admin-border);cursor:pointer;font-family:inherit}.admin-more-menu{background:#0d1117;background:var(--admin-bg);border:1px solid #2d3548;border:1px solid var(--admin-border);border-radius:0 0 6px 6px;border-top:none;box-shadow:0 4px 12px #0006;left:0;min-width:140px;position:absolute;top:40px;z-index:10000}.admin-more-item{border-bottom:1px solid #2d3548;border-bottom:1px solid var(--admin-border);color:#9ca3b0;color:var(--admin-text-muted);display:block;font-size:.72rem;padding:9px 16px;text-decoration:none;transition:background .15s,color .15s;white-space:nowrap}.admin-more-item:last-child{border-bottom:none}.admin-more-item:hover{color:#e2e8f0;color:var(--admin-text)}.admin-more-item.active,.admin-more-item:hover{background:#ffffff0d;background:var(--admin-bg-hover)}.admin-more-item.active{color:#f4b942;color:var(--admin-accent)}.admin-more-item.alert{color:#dc2626}.admin-more-item.alert:hover{background:#1f1215}.tpl-admin-wrap{max-width:1100px;padding:28px 32px}.tpl-admin-h1{color:#e2e8f0;font-family:Inter,sans-serif;font-size:1.4rem;font-weight:600;margin-bottom:6px}.tpl-admin-sub{color:#6b7280;font-size:.78rem;margin-bottom:28px}.tpl-admin-layout{grid-gap:24px;align-items:start;display:grid;gap:24px;grid-template-columns:340px 1fr}.tpl-panel-title{color:#6b7280;font-size:.68rem;font-weight:700;letter-spacing:.1em;margin-bottom:16px;text-transform:uppercase}.tpl-card{background:#1a1f2e;border:1px solid #2d3548;border-radius:10px;margin-bottom:12px;padding:16px;transition:border-color .15s}.tpl-card:hover{border-color:#3d4a68}.tpl-card.tpl-card-editing{border-color:#f4b942;box-shadow:0 0 0 1px #f4b94240}.tpl-card-header{margin-bottom:12px}.tpl-card-header>div{align-items:center;display:flex;gap:8px;margin-bottom:4px}.tpl-card-name{color:#e2e8f0;font-size:.9rem;font-weight:700}.tpl-card-badge{background:#3dd68c26;border-radius:4px;color:var(--primary-sage);font-size:.65rem;font-weight:700;letter-spacing:.06em;padding:2px 7px;text-transform:uppercase}.tpl-card-desc{color:#6b7280;font-size:.75rem;margin:0}.tpl-card-previews{display:flex;gap:12px;margin-bottom:14px}.tpl-preview-wrap{align-items:center;display:flex;flex-direction:column;gap:6px}.tpl-preview-label{color:#6b7280;font-size:.7rem}.tpl-card-actions{display:flex;flex-direction:column;gap:8px}.tpl-card-actions .tpl-btn{width:100%}.tpl-btn{border:1px solid #2d3548;border-radius:6px;cursor:pointer;font-family:inherit;font-size:.82rem;font-weight:600;padding:9px 16px;text-align:center;transition:border-color .15s,background .15s}.tpl-btn-edit{background:#252b3d;color:#c9d1d9}.tpl-btn-edit:hover,.tpl-card-editing .tpl-btn-edit{border-color:#f4b942;color:#f4b942}.tpl-card-editing .tpl-btn-edit{background:#f4b9421a;cursor:default}.tpl-btn-activate{background:#3dd68c14;border-color:#3dd68c40;color:var(--primary-sage)}.tpl-btn-activate:hover{background:#3dd68c26;border-color:var(--primary-sage)}.tpl-admin-right{background:#1a1f2e;border:1px solid #2d3548;border-radius:10px;padding:20px 24px;position:-webkit-sticky;position:sticky;top:20px}.tpl-mode-tabs{align-items:center;border-bottom:1px solid #2d3548;display:flex;gap:4px;margin-bottom:16px;padding-bottom:12px}.tpl-mode-tab{background:none;border:1px solid #0000;border-radius:6px;color:#6b7280;cursor:pointer;font-family:inherit;font-size:.8rem;font-weight:600;padding:6px 16px;transition:all .15s}.tpl-mode-tab:hover{color:#c9d1d9}.tpl-mode-tab.active{background:#252b3d;border-color:#3d4a68;color:#e2e8f0}.tpl-btn-reset-all{background:none;border:1px solid #2d3548;border-radius:6px;color:#6b7280;cursor:pointer;font-family:inherit;font-size:.72rem;margin-left:auto;padding:5px 12px;transition:border-color .15s,color .15s}.tpl-btn-reset-all:hover{border-color:#f85149;color:#f85149}.tpl-token-list{display:flex;flex-direction:column;gap:2px;margin-bottom:20px}.tpl-token-row{align-items:center;border-radius:7px;display:flex;gap:12px;justify-content:space-between;padding:9px 10px;transition:background .12s}.tpl-token-row:hover{background:#1e2438}.tpl-token-row.modified{background:#f4b9420d}.tpl-token-label{display:flex;flex-direction:column;gap:2px;min-width:0}.tpl-token-name{color:#c9d1d9;font-size:.82rem;font-weight:600}.tpl-token-key{color:#4b5563;font-family:monospace;font-size:.68rem}.tpl-token-controls{align-items:center;display:flex;flex-shrink:0;gap:6px}.tpl-color-pick{background:none;cursor:pointer;height:32px;padding:2px;width:32px}.tpl-color-pick,.tpl-color-text{border:1px solid #2d3548;border-radius:6px}.tpl-color-text{background:#0f1117;color:#e2e8f0;font-family:monospace;font-size:.8rem;outline:none;padding:6px 10px;transition:border-color .15s;width:100px}.tpl-color-text:focus{border-color:#f4b942}.tpl-btn-reset-token{background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;font-size:1rem;line-height:1;padding:2px 4px;transition:color .15s}.tpl-btn-reset-token:hover{color:#f4b942}.tpl-save-row{align-items:center;border-top:1px solid #2d3548;display:flex;gap:12px;justify-content:flex-end;padding-top:16px}.tpl-status-ok{color:var(--primary-sage);font-size:.78rem}.tpl-status-err{color:#f85149;font-size:.78rem}.tpl-btn-save{background:#f4b942;border:none;border-radius:6px;color:#0f1117;cursor:pointer;font-family:inherit;font-size:.82rem;font-weight:700;padding:9px 22px;transition:opacity .15s}.tpl-btn-save.disabled{cursor:not-allowed;opacity:.4}@media (max-width:900px){.tpl-admin-layout{grid-template-columns:1fr}.tpl-admin-right{position:static}}:root{--night:var(--bg);--night-2:var(--bg-offwhite);--night-3:var(--surface);--text:var(--text-dark);--text-muted:var(--text-mid);--text-dim:var(--text-light);--green:var(--primary-sage);--green-dark:var(--primary-dark);--green-glow:var(--primary-light);--amber:var(--accent-saffron);--amber-glow:var(--saffron-bg);--border-green:color-mix(in srgb,var(--primary-sage) 25%,#0000);--radius:14px;--radius-lg:22px}html{scroll-behavior:smooth}body{background:var(--night);color:var(--text);font-family:Outfit,sans-serif;overflow-x:hidden}body:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)' opacity='.03'/%3E%3C/svg%3E");content:"";inset:0;opacity:.4;pointer-events:none;position:fixed;z-index:1000}nav{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0d0f12d9;border-bottom:1px solid var(--border);height:68px;justify-content:space-between;left:0;padding:0 6%;position:fixed;right:0;top:0;z-index:100}.nav-logo,nav{align-items:center;display:flex}.nav-logo{gap:10px;text-decoration:none}.logo-mark{align-items:center;background:var(--primary-sage);background:var(--green);border-radius:10px;display:flex;height:36px;justify-content:center;overflow:hidden;position:relative;width:36px}.logo-mark svg{fill:var(--bg);fill:var(--night);height:22px;width:22px}.logo-text{color:var(--text-dark);color:var(--text);font-family:Playfair Display,serif;font-size:1.3rem;font-weight:700;letter-spacing:-.02em}.logo-text span{color:var(--primary-sage);color:var(--green)}.nav-links{align-items:center;display:flex;gap:2rem}.nav-links a{color:var(--text-mid);color:var(--text-muted);font-size:.88rem;font-weight:400;text-decoration:none;transition:color .2s}.nav-links a:hover{color:var(--text-dark);color:var(--text)}.nav-cta{background:var(--primary-sage);background:var(--green);border-radius:8px;color:var(--bg)!important;color:var(--night)!important;font-size:.85rem!important;font-weight:600!important;padding:.5rem 1.3rem;transition:all .2s!important}.nav-cta:hover{background:#4feaa0!important;transform:translateY(-1px)}.hero{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:100vh;overflow:hidden;padding:120px 6% 80px;position:relative;text-align:center}.hero-bg-glow{background:radial-gradient(circle,#3dd68c14 0,#0000 70%);border-radius:50%;height:600px;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:600px}.hero-badge{align-items:center;background:#3dd68c1a;border:1px solid var(--border-green);border-radius:100px;color:var(--primary-sage);color:var(--green);display:inline-flex;font-size:.78rem;font-weight:500;gap:8px;letter-spacing:.05em;margin-bottom:2rem;padding:6px 16px;text-transform:uppercase}.pulse-dot{animation:pulse 2s infinite;background:var(--primary-sage);background:var(--green);border-radius:50%;height:6px;width:6px}@keyframes pulse{0%,to{box-shadow:0 0 0 0 #3dd68c66;opacity:1;transform:scale(1)}50%{box-shadow:0 0 0 6px #3dd68c00;opacity:.8;transform:scale(1.2)}}.hero h1{font-family:Playfair Display,serif;font-size:clamp(2.8rem,5.5vw,4.5rem);font-weight:700;letter-spacing:-.02em;line-height:1.1;margin-bottom:1.5rem;max-width:800px}.hero h1 em{color:var(--primary-sage);color:var(--green);font-style:italic}.hero h1 .amber{color:var(--accent-saffron);color:var(--amber)}.hero-sub{color:var(--text-mid);color:var(--text-muted);font-size:1.1rem;font-weight:300;line-height:1.7;margin:0 auto 3rem;max-width:520px}.path-cards{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin:0 auto 2.5rem;max-width:680px;width:100%}.path-card{background:var(--bg-offwhite);background:var(--night-2);border:1px solid var(--border);border-radius:22px;border-radius:var(--radius-lg);cursor:pointer;display:block;overflow:hidden;padding:1.8rem 1.5rem;position:relative;text-align:left;text-decoration:none;transition:all .3s}.path-card:before{content:"";inset:0;opacity:0;position:absolute;transition:opacity .3s}.path-card.green:before{background:radial-gradient(circle at 30% 50%,#3dd68c14,#0000 60%)}.path-card.amber:before{background:radial-gradient(circle at 30% 50%,#f0a50014,#0000 60%)}.path-card:hover{transform:translateY(-3px)}.path-card.green:hover{border-color:var(--border-green)}.path-card.amber:hover{border-color:#f0a50040}.path-card:hover:before{opacity:1}.path-icon{display:block;font-size:2rem;margin-bottom:1rem}.path-card h3{color:var(--text-dark);color:var(--text);font-size:1rem;font-weight:600;margin-bottom:.4rem}.path-card p{color:var(--text-mid);color:var(--text-muted);font-size:.82rem;font-weight:300;line-height:1.5}.path-arrow{bottom:1.2rem;font-size:.8rem;position:absolute;right:1.2rem;transition:transform .2s}.path-card.green .path-arrow{color:var(--primary-sage);color:var(--green)}.path-card.amber .path-arrow{color:var(--accent-saffron);color:var(--amber)}.path-card:hover .path-arrow{transform:translate(3px,-3px)}.hero-note{color:var(--text-light);color:var(--text-dim);font-size:.78rem}.demo-section{background:var(--bg-offwhite);background:var(--night-2);border-bottom:1px solid var(--border);border-top:1px solid var(--border);padding:100px 6%}.demo-inner{grid-gap:80px;align-items:center;display:grid;gap:80px;grid-template-columns:1fr 1fr;margin:0 auto;max-width:1100px}.demo-label{color:var(--primary-sage);color:var(--green);font-size:.75rem;font-weight:600;letter-spacing:.1em;margin-bottom:1rem;text-transform:uppercase}.demo-title{font-family:Playfair Display,serif;font-size:clamp(1.8rem,3vw,2.6rem);font-weight:700;letter-spacing:-.02em;line-height:1.15;margin-bottom:1.2rem}.demo-title em{color:var(--primary-sage);color:var(--green);font-style:italic}.demo-text{color:var(--text-mid);color:var(--text-muted);font-size:.95rem;font-weight:300;line-height:1.8;margin-bottom:2rem}.phone{background:var(--surface);background:var(--night-3);border:1px solid var(--border);border-radius:24px;padding:20px;position:relative}.phone-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.phone-logo{color:var(--primary-sage);color:var(--green);font-family:Playfair Display,serif;font-size:.9rem;font-weight:700}.phone-status{color:var(--text-light);color:var(--text-dim);font-size:.7rem}.scan-box{align-items:center;background:var(--bg);background:var(--night);border:1px dashed #3dd68c4d;border-radius:14px;display:flex;height:130px;justify-content:center;margin-bottom:16px;overflow:hidden;position:relative}.scan-line{animation:scanline 2.5s ease-in-out infinite;background:linear-gradient(90deg,#0000 0,var(--primary-sage) 50%,#0000 100%);background:linear-gradient(90deg,#0000 0,var(--green) 50%,#0000 100%);box-shadow:0 0 8px var(--primary-sage);box-shadow:0 0 8px var(--green);height:1px;left:0;position:absolute;right:0}@keyframes scanline{0%{opacity:0;top:15%}10%{opacity:1}90%{opacity:1}to{opacity:0;top:85%}}.scan-content{text-align:center;z-index:1}.scan-content p{color:var(--text-light);color:var(--text-dim);font-size:.72rem;margin-top:6px}.fridge-items{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:14px}.fridge-tag{animation:tagPop .3s ease both;background:#3dd68c1a;border:1px solid var(--border-green);border-radius:100px;color:var(--primary-sage);color:var(--green);font-size:.7rem;font-weight:500;padding:3px 10px}@keyframes tagPop{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.fridge-tag:first-child{animation-delay:.5s}.fridge-tag:nth-child(2){animation-delay:.7s}.fridge-tag:nth-child(3){animation-delay:.9s}.fridge-tag:nth-child(4){animation-delay:1.1s}.fridge-tag:nth-child(5){animation-delay:1.3s}.recipe-result{background:var(--bg);background:var(--night);border:1px solid var(--border-green);border-radius:12px;padding:14px}.recipe-result-header{align-items:center;display:flex;gap:8px;margin-bottom:10px}.result-dot{background:var(--primary-sage);background:var(--green);border-radius:50%;height:6px;width:6px}.recipe-name{color:var(--text-dark);color:var(--text);font-family:Playfair Display,serif;font-size:.95rem;font-weight:700}.recipe-meta{display:flex;gap:10px;margin-bottom:10px}.meta-tag{background:var(--surface);background:var(--night-3);border:1px solid var(--border);border-radius:100px;color:var(--text-mid);color:var(--text-muted);font-size:.68rem;padding:2px 8px}.ingredient-list{display:flex;flex-direction:column;gap:4px}.ing-row{border-bottom:1px solid var(--border);color:var(--text-mid);color:var(--text-muted);display:flex;font-size:.72rem;justify-content:space-between;padding:3px 0}.ing-row:last-child{border-bottom:none}.ing-row span:last-child{color:var(--primary-sage);color:var(--green);font-weight:500}.demo-section-2{border-bottom:1px solid var(--border);padding:100px 6%}.demo-inner-2{grid-gap:80px;align-items:center;display:grid;gap:80px;grid-template-columns:1fr 1fr;margin:0 auto;max-width:1100px}.demo-label-amber,.demo-title-amber em{color:var(--accent-saffron);color:var(--amber)}.scan-mockup{background:var(--bg-offwhite);background:var(--night-2);border:1px solid var(--border);border-radius:24px;padding:20px}.recipe-card-old{background:var(--bg);background:var(--night);border:1px solid #f0a50026;border-radius:14px;margin-bottom:14px;overflow:hidden;padding:16px;position:relative}.recipe-card-old:before{background:repeating-linear-gradient(0deg,#0000,#0000 18px,#f0a5000a 0,#f0a5000a 19px);content:"";inset:0;position:absolute}.handwriting{color:#f0d6a099;font-family:Playfair Display,serif;font-size:.82rem;font-style:italic;line-height:1.9;position:relative;z-index:1}.scan-result-amber{background:var(--bg);background:var(--night);border:1px solid #f0a50040;border-radius:12px;padding:14px}.amber-title{align-items:center;color:var(--accent-saffron);color:var(--amber);display:flex;font-family:Playfair Display,serif;font-size:.95rem;font-weight:700;gap:6px;margin-bottom:8px}.step-list{display:flex;flex-direction:column;gap:6px}.step-item{align-items:flex-start;color:var(--text-mid);color:var(--text-muted);display:flex;font-size:.72rem;gap:8px}.step-num{align-items:center;background:#f0a50026;border-radius:50%;color:var(--accent-saffron);color:var(--amber);display:flex;flex-shrink:0;font-size:.65rem;font-weight:600;height:18px;justify-content:center;width:18px}.features-section{background:var(--bg-offwhite);background:var(--night-2);border-bottom:1px solid var(--border);padding:100px 6%}.section-center{margin:0 auto 3.5rem;max-width:600px;text-align:center}.section-label{color:var(--primary-sage);color:var(--green);font-size:.75rem;font-weight:600;letter-spacing:.1em;margin-bottom:1rem;text-transform:uppercase}.section-title{font-family:Playfair Display,serif;font-size:clamp(1.8rem,3vw,2.4rem);font-weight:700;letter-spacing:-.02em;line-height:1.15}.section-title em{color:var(--primary-sage);color:var(--green);font-style:italic}.features-grid{grid-gap:1px;background:var(--border);border-radius:22px;border-radius:var(--radius-lg);display:grid;gap:1px;grid-template-columns:repeat(3,1fr);margin:0 auto;max-width:1100px;overflow:hidden}.feature{background:var(--bg);background:var(--night);padding:2rem;transition:background .2s}.feature:hover{background:var(--surface);background:var(--night-3)}.feature-icon{display:block;font-size:1.6rem;margin-bottom:1rem}.feature h3{color:var(--text-dark);color:var(--text);font-size:.95rem;font-weight:600;margin-bottom:.5rem}.feature p{color:var(--text-mid);color:var(--text-muted);font-size:.82rem;font-weight:300;line-height:1.6}.feature-badge{background:#3dd68c1a;border:1px solid var(--border-green);border-radius:100px;color:var(--primary-sage);color:var(--green);display:inline-block;font-size:.68rem;font-weight:600;letter-spacing:.03em;margin-top:.8rem;padding:2px 10px}.feature-badge.amber{background:#f0a5001a;border-color:#f0a50033;color:var(--accent-saffron);color:var(--amber)}.pricing-section{border-bottom:1px solid var(--border);padding:100px 6%}.pricing-grid{grid-gap:1rem;align-items:start;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);margin:0 auto;max-width:900px}.price-card{background:var(--bg-offwhite);background:var(--night-2);border:1px solid var(--border);border-radius:22px;border-radius:var(--radius-lg);padding:2rem;position:relative;transition:border-color .2s}.price-card:hover{border-color:#ffffff1f}.price-card.featured{background:var(--surface);background:var(--night-3);border-color:var(--green)}.popular-pill{background:var(--primary-sage);background:var(--green);border-radius:100px;color:var(--bg);color:var(--night);font-size:.68rem;font-weight:700;left:50%;letter-spacing:.05em;padding:3px 14px;position:absolute;text-transform:uppercase;top:-13px;transform:translateX(-50%);white-space:nowrap}.price-tier{color:var(--text-light);color:var(--text-dim);font-size:.72rem;font-weight:600;letter-spacing:.1em;margin-bottom:1rem;text-transform:uppercase}.price-amount{color:var(--text-dark);color:var(--text);font-family:Playfair Display,serif;font-size:3rem;font-weight:700;line-height:1;margin-bottom:.3rem}.price-amount sup{font-family:Outfit,sans-serif;font-size:1.3rem;font-weight:400;vertical-align:super}.price-period{color:var(--text-light);color:var(--text-dim);font-size:.78rem;margin-bottom:1.5rem}.price-divider{border:none;border-top:1px solid var(--border);margin:1.5rem 0}.price-item{align-items:flex-start;color:var(--text-mid);color:var(--text-muted);display:flex;font-size:.82rem;font-weight:300;gap:8px;margin-bottom:.65rem}.check{color:var(--primary-sage);color:var(--green)}.check,.dash{flex-shrink:0}.dash{color:var(--text-light);color:var(--text-dim)}.price-btn{border:none;border-radius:10px;cursor:pointer;display:block;font-size:.85rem;font-weight:600;margin-top:1.5rem;padding:.75rem;text-align:center;text-decoration:none;transition:all .2s;width:100%}.btn-ghost{background:#0000;color:var(--text-mid);color:var(--text-muted)}.btn-ghost:hover{border-color:#fff3;color:var(--text-dark);color:var(--text)}.btn-green{background:var(--primary-sage);background:var(--green);color:var(--bg);color:var(--night)}.btn-green:hover{background:#4feaa0;transform:translateY(-1px)}.testimonials-section{background:var(--bg-offwhite);background:var(--night-2);border-bottom:1px solid var(--border);padding:100px 6%}.testimonials-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);margin:3rem auto 0;max-width:1100px}.testimonial{background:var(--bg);background:var(--night);border:1px solid var(--border);border-radius:22px;border-radius:var(--radius-lg);padding:1.8rem;transition:border-color .2s}.testimonial:hover{border-color:#ffffff1a}.t-stars{color:var(--accent-saffron);color:var(--amber);font-size:.8rem;letter-spacing:2px;margin-bottom:1rem}.t-text{color:var(--text-dark);color:var(--text);font-family:Playfair Display,serif;font-size:.92rem;font-style:italic;font-weight:400;line-height:1.7;margin-bottom:1.2rem}.t-author{gap:10px}.t-author,.t-avatar{align-items:center;display:flex}.t-avatar{border-radius:50%;flex-shrink:0;font-size:.72rem;font-weight:600;height:36px;justify-content:center;width:36px}.t-name{color:var(--text-dark);color:var(--text);font-size:.82rem;font-weight:500}.t-meta{color:var(--text-light);color:var(--text-dim);font-size:.72rem}.faq-section{border-bottom:1px solid var(--border);padding:100px 6%}.faq-inner{grid-gap:80px;align-items:start;display:grid;gap:80px;grid-template-columns:1fr 1.5fr;margin:0 auto;max-width:1100px}.faq-list{margin-top:0}.faq-item{border-bottom:1px solid var(--border);padding:1.2rem 0}.faq-q{align-items:center;color:var(--text-dark);color:var(--text);cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:1rem;justify-content:space-between;transition:color .2s}.faq-q:hover,.faq-toggle{color:var(--primary-sage);color:var(--green)}.faq-toggle{align-items:center;border:1px solid var(--border);border-radius:50%;display:flex;flex-shrink:0;font-size:.9rem;height:22px;justify-content:center;transition:all .2s;width:22px}.faq-item.open .faq-toggle{background:var(--primary-sage);background:var(--green);border-color:var(--green);color:var(--bg);color:var(--night);transform:rotate(45deg)}.faq-a{color:var(--text-mid);color:var(--text-muted);font-size:.85rem;font-weight:300;line-height:1.7;max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s}.faq-item.open .faq-a{max-height:200px;padding-top:.8rem}.cta-section{overflow:hidden;padding:120px 6%;position:relative;text-align:center}.cta-glow{background:radial-gradient(ellipse,#3dd68c1a 0,#0000 70%);height:300px;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:500px}.cta-inner{margin:0 auto;max-width:600px;position:relative;z-index:1}.cta-section h2{font-family:Playfair Display,serif;font-size:clamp(2rem,4vw,3rem);font-weight:700;letter-spacing:-.02em;line-height:1.15;margin-bottom:1rem}.cta-section h2 em{color:var(--primary-sage);color:var(--green);font-style:italic}.cta-section p{color:var(--text-mid);color:var(--text-muted);font-size:1rem;font-weight:300;margin-bottom:2.5rem}.cta-btn{align-items:center;background:var(--primary-sage);background:var(--green);border:none;border-radius:14px;border-radius:var(--radius);color:var(--bg);color:var(--night);cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;gap:10px;padding:1rem 2.2rem;text-decoration:none;transition:all .2s}.cta-btn:hover{background:#4feaa0;box-shadow:0 8px 30px #3dd68c40;transform:translateY(-2px)}.cta-note{color:var(--text-light);color:var(--text-dim);font-size:.75rem;margin-top:1.2rem}footer{align-items:center;background:var(--bg-offwhite);background:var(--night-2);border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:32px 6%}.footer-logo{color:var(--text-mid);color:var(--text-muted);font-family:Playfair Display,serif;font-size:1rem;font-weight:700}.footer-logo span{color:var(--primary-sage);color:var(--green)}.footer-links{display:flex;gap:1.5rem}.footer-links a{color:var(--text-light);color:var(--text-dim);font-size:.78rem;text-decoration:none;transition:color .2s}.footer-links a:hover{color:var(--text-mid);color:var(--text-muted)}.footer-copy{color:var(--text-light);color:var(--text-dim);font-size:.75rem}[data-theme=light] nav{background:var(--bg-offwhite)}[data-theme=light] .faq-toggle{background:var(--bg-offwhite);background:var(--night-2);border-color:var(--border)}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.hero>*{animation:fadeUp .7s ease both}.hero-badge{animation-delay:.1s}.hero h1{animation-delay:.2s}.hero-sub{animation-delay:.3s}.path-cards{animation-delay:.4s}.hero-note{animation-delay:.5s}.nav-hamburger-btn{background:none;border:none;cursor:pointer;display:none;flex-direction:column;flex-shrink:0;gap:5px;height:36px;justify-content:center;padding:4px;width:36px}.nav-hamburger-btn span{background:var(--text-dark);background:var(--text);border-radius:2px;display:block;height:2px}.nav-mobile-menu{background:var(--bg-offwhite);background:var(--night-2);border-bottom:1px solid var(--border-green);display:flex;flex-direction:column;left:0;position:fixed;right:0;top:64px;z-index:200}.nav-mobile-menu a{border-bottom:1px solid #0000000f;color:var(--text-dark);color:var(--text);font-size:1rem;font-weight:500;padding:1rem 1.5rem;text-decoration:none}.nav-mobile-menu a:hover{background:#0000000a}.nav-mobile-cta{background:var(--primary-sage)!important;background:var(--green)!important;color:#fff!important;font-weight:700!important;text-align:center}@media (max-width:768px){.path-cards{grid-template-columns:1fr}.demo-inner,.demo-inner-2,.faq-inner{gap:40px;grid-template-columns:1fr}.features-grid,.pricing-grid,.testimonials-grid{grid-template-columns:1fr}.price-card.featured{transform:none}nav .nav-links{display:none}.nav-hamburger-btn{display:flex}.demo-inner-2 .scan-mockup{order:-1}}.my-recipes-page{margin:0 auto;max-width:900px}.mr-empty{background:var(--surface);border:1px solid var(--border);border-radius:var(--r3);margin-top:8px;padding:60px 20px;text-align:center}.mr-empty-icon{font-size:3rem;margin-bottom:16px}.mr-empty h3{color:var(--txt);margin-bottom:8px}.mr-empty p{color:var(--txt3);font-size:.88rem;margin-bottom:20px}.mr-filter-info{align-items:center;color:var(--txt3);display:flex;font-size:.82rem;gap:10px;margin-bottom:12px}.mr-filter-clear{background:none;border:none;color:var(--green);cursor:pointer;font-family:var(--font-body);font-size:.78rem;padding:0;text-decoration:underline}.mr-error{background:var(--red-pale);border:1px solid var(--red);border-radius:var(--r);color:var(--red);font-size:.82rem;margin-bottom:12px;padding:8px 14px}.mr-confirm-txt{color:var(--red);font-size:.78rem;font-weight:700;white-space:nowrap}.rr-item-my{cursor:default}.rr-item-my:hover{transform:none}.rr-item-my .rr-main{color:inherit;cursor:pointer;display:block;text-decoration:none}.rr-item-my .rr-main:hover .rr-title{color:var(--green-dark)}.loading-state{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;padding:80px 20px}.loading-state .loader{animation:spin .8s linear infinite;border:3px solid var(--green-pale);border-radius:50%;border-top-color:var(--green);height:36px;width:36px}.loading-state p{color:var(--txt3);font-size:.88rem}@media (max-width:600px){.rr-item-my{flex-wrap:wrap}.rr-actions{border-top:1px solid var(--border);justify-content:flex-end;padding-top:6px;width:100%}.rr-title{white-space:normal}}.share-page{background:#faf9f7;font-family:Inter,sans-serif;min-height:100vh}.share-header{align-items:center;background:#fff;border-bottom:1px solid var(--text-dark);display:flex;justify-content:space-between;padding:1rem 1.5rem}.share-logo{color:#92400e;font-family:Playfair Display,serif;font-size:1.2rem;font-weight:700;text-decoration:none}.share-badge{background:#fef3c7;border-radius:99px;color:#92400e;font-size:.875rem;font-weight:500;padding:.25rem .75rem}.share-content{margin:0 auto;max-width:680px;padding:2rem 1.25rem 4rem}.share-title-area{margin-bottom:1.5rem}.share-category{background:#fef3c7;border-radius:20px;color:#92400e;display:inline-block;font-size:.875rem;font-weight:500;margin-bottom:.5rem;padding:.15rem .65rem}.share-title{color:#1f2937;font-family:Playfair Display,serif;font-size:clamp(1.6rem,5vw,2.2rem);line-height:1.25;margin:0 0 .75rem}.share-meta{color:#6b7280;display:flex;flex-wrap:wrap;font-size:.875rem;gap:1rem}.share-image{border-radius:12px;margin-bottom:2rem;max-height:360px;object-fit:cover;width:100%}.share-body{display:flex;flex-direction:column;gap:2rem}.share-section h2{border-bottom:2px solid #fef3c7;color:#1f2937;font-size:1.1rem;font-weight:700;margin:0 0 .75rem;padding-bottom:.5rem}.share-ingredients{display:flex;flex-direction:column;gap:.4rem;list-style:none;margin:0;padding:0}.share-ingredients li{background:#fff;border:1px solid var(--text-dark);border-radius:8px;color:#374151;font-size:.95rem;padding:.45rem .75rem}.share-steps{display:flex;flex-direction:column;gap:.75rem;margin:0;padding-left:1.5rem}.share-steps li{color:#374151;font-size:.95rem;line-height:1.65}.share-legal-note{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;color:#6b7280;font-size:.875rem;line-height:1.6;margin-top:2.5rem;padding:1rem 1.25rem}.share-legal-note a{color:#92400e}.share-cta{background:#1f2937;border-radius:16px;color:#fff;margin-top:2rem;padding:2rem;text-align:center}.share-cta p{font-size:1rem;margin:0 0 1rem;opacity:.85}.share-cta-btn{background:#d97706;border-radius:50px;color:#fff;display:inline-block;font-size:.95rem;font-weight:600;padding:.75rem 2rem;text-decoration:none;transition:background .2s}.share-cta-btn:hover{background:#b45309;color:#fff}.share-loading{align-items:center;display:flex;justify-content:center;min-height:100vh}.share-spinner{animation:spin .8s linear infinite;border:3px solid #e5e7eb;border-radius:50%;border-top-color:#92400e;height:40px;width:40px}.share-error{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;min-height:100vh;padding:2rem;text-align:center}.share-error-icon{font-size:3rem}.share-error h2{color:#1f2937;font-size:1.4rem;margin:0}.share-error p{color:#6b7280;max-width:400px}.share-home-btn{background:#92400e;border-radius:50px;color:#fff;font-weight:600;padding:.65rem 1.75rem;text-decoration:none}.report-link{background:none;border:none;color:#92400e;cursor:pointer;font-size:inherit;padding:0;text-decoration:underline}.report-overlay{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:500}.report-modal{background:#fff;border-radius:16px;display:flex;flex-direction:column;gap:1rem;max-width:420px;padding:2rem;position:relative;width:100%}.report-modal h3{color:#1f2937;font-size:1.1rem;margin:0}.report-close{background:none;border:none;color:#6b7280;cursor:pointer;font-size:1rem;position:absolute;right:1rem;top:1rem}.report-hint{color:#6b7280;font-size:.875rem;line-height:1.55;margin:0}.report-label{color:#374151;display:flex;flex-direction:column;font-size:.875rem;font-weight:500;gap:.4rem}.report-textarea{border:1.5px solid #e5e7eb;border-radius:8px;font-family:inherit;font-size:.9rem;outline:none;padding:.65rem .75rem;resize:vertical;transition:border-color .15s}.report-textarea:focus{border-color:#92400e}.btn-report-submit{background:#92400e;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;padding:.7rem 1.5rem;transition:background .15s}.btn-report-submit:hover{background:#78350f}.report-success{align-items:center;display:flex;flex-direction:column;gap:1rem;padding:1rem 0;text-align:center}.report-success span{color:#16a34a;font-size:2.5rem}.report-success p{color:#374151;font-size:.95rem;line-height:1.6}.report-reasons{display:flex;flex-direction:column;gap:.4rem}.report-reason{align-items:flex-start;border:1.5px solid #e5e7eb;border-radius:10px;cursor:pointer;display:flex;gap:.65rem;padding:.7rem .9rem;transition:border-color .15s,background .15s}.report-reason input[type=radio]{accent-color:#92400e;flex-shrink:0;margin-top:3px}.report-reason:hover{background:#fafafa;border-color:#d1d5db}.report-reason.selected{background:#fffbeb;border-color:#92400e}.report-reason-text{display:flex;flex-direction:column;gap:.15rem}.report-reason-label{color:#1f2937;font-size:.9rem;font-weight:500}.report-reason-hint{color:#6b7280;font-size:.875rem}.btn-report-submit:disabled{cursor:not-allowed;opacity:.45}.report-optional{color:#6b7280;font-size:.875rem;font-weight:400}.report-success h3{color:#1f2937;font-size:1.1rem;margin:0}.report-success-note{color:#6b7280;font-size:.875rem;margin:0}.pakete-page{margin:0 auto;max-width:900px;padding:2rem 1rem;text-align:center}.pakete-page h1{margin-bottom:.25rem}.pakete-tagline{color:var(--text-mid);font-size:1.5rem;font-weight:300;margin:0 0 .5rem}.pakete-sub{color:var(--text-light);margin-bottom:2.5rem}.pakete-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:2rem}.paket-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;display:flex;flex-direction:column;gap:1rem;padding:1.75rem 1.5rem;position:relative;text-align:left;transition:border-color .2s}.paket-card:hover{border-color:var(--accent,var(--border))}.paket-badge{background:var(--primary-sage);border-radius:20px;color:var(--text-on-primary);font-size:.7rem;font-weight:700;left:50%;letter-spacing:.05em;padding:2px 10px;position:absolute;text-transform:uppercase;top:-10px;transform:translateX(-50%)}.paket-name{font-size:1.4rem;font-weight:700;margin:0}.paket-price{color:var(--text);font-size:1.1rem;font-weight:600}.paket-features{display:flex;flex:1 1;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0}.paket-features li{align-items:center;color:var(--text-light);display:flex;font-size:.85rem;gap:8px}.paket-check{color:var(--primary-sage);flex-shrink:0;font-weight:700}.paket-cta{border:none;border-radius:8px;color:var(--text-on-primary);cursor:not-allowed;font-size:.85rem;font-weight:600;margin-top:auto;opacity:.7;padding:10px;width:100%}.pakete-hint{color:var(--text-light);font-size:.82rem;margin-top:1rem}.fridge-page{margin:0 auto;max-width:900px;padding:0 0 4rem}.fridge-quota-bar{background:var(--green-pale);border:1px solid var(--green-mid);border-radius:var(--r2);color:var(--txt2);font-size:.83rem;margin-bottom:16px;padding:9px 14px;text-align:center}.fridge-quota-bar a{color:var(--green);font-weight:700}.fridge-quota-bar--warn{background:var(--amber-pale);border-color:var(--amber);color:var(--amber)}.fridge-quota-bar--warn a{color:var(--amber)}.fridge-error{background:var(--red-pale);border:1px solid var(--red);border-radius:var(--r2);color:var(--red);font-size:.88rem;margin-bottom:16px;padding:10px 14px;text-align:center}.fridge-upload-area{display:flex;flex-direction:column;gap:12px}.fridge-drop-zone{align-items:center;background:var(--surface);border:2px dashed var(--border2);border-radius:var(--r2);display:flex;justify-content:center;text-align:center;transition:border-color .2s,background .2s}.fridge-drop-content{align-items:center;cursor:pointer;display:flex;flex-direction:column;gap:8px;padding:1.75rem 1rem;width:100%}.fridge-drop-zone--over,.fridge-drop-zone:hover{background:var(--green-pale);border-color:var(--green)}.fridge-drop-zone--has-image{border-color:var(--green);border-style:solid;cursor:default;overflow:hidden;padding:0}.fridge-drop-icon{color:var(--txt3);height:30px;width:30px}.fridge-drop-icon svg{height:100%;width:100%}.fridge-drop-title{color:var(--txt);font-size:1rem;font-weight:700}.fridge-drop-hint{color:var(--txt3);font-size:.82rem}.fridge-drop-formats{color:var(--txt3);font-size:.74rem;margin-top:2px}.fridge-preview-wrap{position:relative;width:100%}.fridge-preview-img{display:block;max-height:340px;object-fit:cover;width:100%}.fridge-preview-remove{align-items:center;background:#0000008c;border:none;border-radius:50%;color:var(--surface);cursor:pointer;display:flex;font-size:.85rem;height:28px;justify-content:center;position:absolute;right:10px;top:10px;width:28px}.fridge-add-area{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr}@media (max-width:480px){.fridge-add-area{grid-template-columns:1fr}}.fridge-camera-primary{align-items:center;background:var(--green);border:none;border-radius:var(--r2);box-shadow:var(--sh);color:var(--surface);cursor:pointer;display:flex;font-family:var(--font-body);gap:14px;justify-content:center;padding:1rem 1.25rem;transition:background .15s,transform .1s;width:100%}.fridge-camera-primary:active{background:var(--green-dark);transform:scale(.98)}.fridge-camera-primary-icon{flex-shrink:0;height:26px;width:26px}.fridge-camera-primary-text{align-items:flex-start;display:flex;flex-direction:column;gap:2px}.fridge-camera-primary-text strong{font-size:1rem;font-weight:700;line-height:1}.fridge-camera-primary-text small{font-size:.76rem;font-weight:400;opacity:.85}.fridge-btn-scan{background:var(--green);border:none;border-radius:var(--r2);color:var(--surface);cursor:pointer;font-family:var(--font-body);font-size:.95rem;font-weight:700;padding:13px;transition:background .15s;width:100%}.fridge-btn-scan:hover{background:var(--green-dark)}.fridge-no-access{background:var(--surface);border:1px solid var(--border);border-radius:var(--r2);padding:3.5rem 2rem;text-align:center}.fridge-no-access-icon{font-size:3rem;margin-bottom:1rem}.fridge-no-access h3{color:var(--txt);font-size:1.3rem;margin-bottom:6px}.fridge-no-access p{color:var(--txt2);font-size:.9rem;line-height:1.6;margin-bottom:1.5rem}.fridge-btn-upgrade{background:var(--green);border-radius:var(--r2);color:var(--surface);display:inline-block;font-size:.9rem;font-weight:700;padding:11px 26px;text-decoration:none;transition:background .15s}.fridge-btn-upgrade:hover{background:var(--green-dark);color:var(--surface)}.fridge-thumb-strip{display:flex;flex-wrap:wrap;gap:8px}.fridge-thumb{border:2px solid var(--green-mid);border-radius:var(--r2);flex-shrink:0;height:74px;overflow:hidden;position:relative;width:88px}.fridge-thumb-img{display:block;height:100%;object-fit:cover;width:100%}.fridge-thumb-remove{align-items:center;background:#0000008c;border:none;border-radius:50%;color:var(--surface);cursor:pointer;display:flex;font-size:.65rem;height:20px;justify-content:center;line-height:1;position:absolute;right:4px;top:4px;width:20px}.fridge-max-hint{background:var(--green-pale);border:1px solid var(--green-mid);border-radius:var(--r);color:var(--green);font-size:.83rem;font-weight:700;padding:8px;text-align:center}.fridge-scanning{margin-top:1rem}.fridge-scan-layout{grid-gap:2rem;align-items:start;display:grid;gap:2rem;grid-template-columns:1fr 1fr}.fridge-scan-images{display:flex;flex-direction:column;gap:8px}.fridge-scan-image-wrap{border:1px solid var(--border);border-radius:var(--r2);overflow:hidden;position:relative}.fridge-scan-img{display:block;max-height:200px;object-fit:cover;width:100%}.fridge-scan-overlay{align-items:center;background:#1a94582e;display:flex;inset:0;justify-content:center;position:absolute;transition:background .4s}.fridge-scan-overlay--active{background:#1a945847}.fridge-scan-overlay--done{background:#1a945873}.fridge-scan-pct{color:var(--surface);font-size:2.2rem;font-weight:800;letter-spacing:-.02em;text-shadow:0 2px 10px #00000080}.fridge-scan-steps{display:flex;flex-direction:column;gap:14px;padding-top:6px}.fridge-step{align-items:center;color:var(--txt3);display:flex;font-size:.88rem;gap:10px;transition:color .3s}.fridge-step--active{color:var(--txt);font-weight:700}.fridge-step--done{color:var(--green)}.fridge-step-dot{align-items:center;background:var(--bg);border-radius:50%;color:var(--txt3);display:flex;flex-shrink:0;font-size:.72rem;height:24px;justify-content:center;width:24px}.fridge-step--active .fridge-step-dot{animation:fridge-pulse 1.2s ease-in-out infinite}.fridge-step--active .fridge-step-dot,.fridge-step--done .fridge-step-dot{background:var(--green);color:var(--surface)}@keyframes fridge-pulse{0%,to{box-shadow:0 0 0 0 #1a945866}50%{box-shadow:0 0 0 6px #1a945800}}.fridge-results{display:flex;flex-direction:column;gap:1.75rem}.fridge-section-title{align-items:center;color:var(--txt);display:flex;font-size:1rem;font-weight:800;gap:8px;margin:0 0 12px}.fridge-section-count{background:var(--bg);border:1px solid var(--border);border-radius:20px;color:var(--txt2);font-size:.72rem;font-weight:700;padding:2px 8px}.fridge-ing-list{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.fridge-ing-chip{align-items:center;border:1px solid;border-radius:100px;display:inline-flex;font-size:.78rem;font-weight:600;gap:5px;padding:4px 10px}.fridge-ing-chip--high{background:var(--green-pale);border-color:var(--green-mid);color:var(--green-dark)}.fridge-ing-chip--mid{background:var(--amber-pale);border-color:var(--amber);color:var(--amber)}.fridge-ing-chip--low{background:var(--bg);border-color:var(--border2);color:var(--txt3)}.fridge-ing-conf{font-size:.67rem;opacity:.75}.fridge-ing-legend{display:flex;flex-wrap:wrap;gap:6px}.fridge-db-grid{display:flex;flex-direction:column;gap:6px}.fridge-db-card{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--r2);color:inherit;display:flex;gap:12px;padding:10px 14px;text-decoration:none;transition:border-color .15s,background .15s}.fridge-db-card:hover{background:var(--green-pale);border-color:var(--green-mid)}.fridge-db-card-img{align-items:center;background:var(--bg);border-radius:var(--r);display:flex;flex-shrink:0;font-size:1.6rem;height:60px;justify-content:center;overflow:hidden;width:60px}.fridge-db-card-img img{height:100%;object-fit:cover;width:100%}.fridge-db-card-body{flex:1 1;min-width:0}.fridge-db-card-title{color:var(--txt);font-size:.9rem;font-weight:700;margin-bottom:3px}.fridge-db-card-cat{background:var(--green-pale);border:1px solid var(--green-mid);border-radius:20px;color:var(--green);display:inline-block;font-size:.7rem;margin-bottom:5px;padding:1px 8px}.fridge-db-card-match{align-items:center;color:var(--txt3);display:flex;font-size:.75rem;gap:8px}.fridge-match-bar{background:var(--border);border-radius:3px;flex-shrink:0;height:5px;width:56px}.fridge-match-fill{background:var(--green);border-radius:3px;height:100%;transition:width .4s}.fridge-db-card-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--r2);overflow:hidden}.fridge-db-card-wrap .fridge-db-card{border:none;border-radius:0}.fridge-db-card-wrap .fridge-db-card:hover{background:var(--green-pale)}.fridge-db-missing{border-top:1px solid var(--border)}.fridge-db-missing-toggle{background:none;border:none;color:var(--txt3);cursor:pointer;font-family:var(--font-body);font-size:.78rem;padding:7px 14px;text-align:left;transition:background .15s,color .15s;width:100%}.fridge-db-missing-toggle:hover{background:var(--bg);color:var(--txt)}.fridge-db-missing-list{display:flex;flex-wrap:wrap;gap:5px;padding:6px 14px 10px}.fridge-db-missing-item{background:var(--red-pale);border:1px solid var(--red-pale);border-radius:20px;color:var(--red);cursor:pointer;font-size:.75rem;font-weight:600;padding:2px 8px;transition:background .15s,color .15s,border-color .15s}.fridge-db-missing-item:hover{border-color:var(--red)}.fridge-db-missing-item--added{background:var(--green-pale);border-color:var(--green-mid);color:var(--green-dark)}.fridge-db-missing-item--added:hover{background:var(--green-pale)}.fridge-btn-cart{border-color:var(--green);color:var(--green)}.fridge-btn-cart:hover{background:var(--green-pale)}.fridge-shopping-actions{background:var(--bg);border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:8px;padding:8px 14px 10px}.fridge-btn-action{align-items:center;background:var(--surface);border:1.5px solid var(--border2);border-radius:var(--r);color:var(--txt2);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:.82rem;font-weight:600;gap:6px;padding:8px 14px;transition:all .15s}.fridge-btn-action:hover{border-color:var(--green-mid);color:var(--green)}.fridge-btn-whatsapp{border-color:#25d366;color:#128c3b}.fridge-btn-whatsapp:hover{background:var(--green-pale);border-color:#128c3b;color:#128c3b}.fridge-btn-copy{flex:1 1;justify-content:center}.fridge-ai-card{background:var(--surface);border:1px solid var(--green-mid);border-radius:var(--r2);overflow:hidden}.fridge-ai-card-header{background:var(--green-pale);padding:1.25rem 1.25rem 1rem}.fridge-ai-badge{background:var(--green);border-radius:20px;color:var(--surface);display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.04em;margin-bottom:8px;padding:3px 10px}.fridge-ai-title{color:var(--txt);font-family:var(--font-serif);font-size:1.3rem;font-weight:700;margin:0 0 5px}.fridge-ai-desc{color:var(--txt2);font-size:.88rem;line-height:1.5;margin:0 0 10px}.fridge-ai-meta{color:var(--txt2);display:flex;flex-wrap:wrap;font-size:.8rem;gap:12px}.fridge-ai-toggle{background:none;border:none;border-top:1px solid var(--green-mid);color:var(--green);cursor:pointer;font-family:var(--font-body);font-size:.83rem;font-weight:700;padding:10px;transition:background .15s;width:100%}.fridge-ai-toggle:hover{background:var(--green-pale)}.fridge-ai-body{border-top:1px solid var(--border);padding:1rem 1.25rem}.fridge-ai-section{margin-bottom:1.25rem}.fridge-ai-section:last-child{margin-bottom:0}.fridge-ai-section h4{color:var(--txt2);font-size:.68rem;font-weight:800;letter-spacing:.09em;margin:0 0 10px;text-transform:uppercase}.fridge-ai-ingredients{display:flex;flex-direction:column;gap:4px;list-style:none;margin:0;padding:0}.fridge-ai-ingredients li{background:var(--bg);border-radius:var(--r);display:flex;font-size:.86rem;gap:10px;padding:5px 8px}.fridge-ai-amount{color:var(--green);font-weight:700;min-width:80px}.fridge-ai-steps{display:flex;flex-direction:column;gap:10px;margin:0;padding-left:1.25rem}.fridge-ai-steps li{color:var(--txt);font-size:.86rem;line-height:1.6}.fridge-ai-actions{background:var(--green-pale);border-top:1px solid var(--green-mid);display:flex;flex-direction:column;gap:10px;padding:1rem 1.25rem}.fridge-ai-feedback{display:flex;gap:6px}.fridge-feedback-btn{align-items:center;background:var(--surface);border:1.5px solid var(--border2);border-radius:var(--r);color:var(--txt2);cursor:pointer;display:flex;flex:1 1;font-family:var(--font-body);font-size:.8rem;font-weight:600;gap:5px;justify-content:center;padding:8px 10px;transition:all .15s}.fridge-feedback-btn svg{flex-shrink:0;height:14px;width:14px}.fridge-feedback-btn:disabled{cursor:default;opacity:.6}.fridge-feedback-like:not(:disabled):hover{border-color:var(--green-mid);color:var(--green)}.fridge-feedback-like.fridge-feedback-btn--active{background:var(--green-pale);border-color:var(--green-mid);color:var(--green)}.fridge-feedback-dislike:not(:disabled):hover{border-color:var(--red);color:var(--red)}.fridge-feedback-dislike.fridge-feedback-btn--active{border-color:var(--border2);color:var(--txt2)}.fridge-dislike-overlay{align-items:flex-end;background:#0006;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:500}.fridge-dislike-popup{background:var(--surface);border-radius:var(--r2);box-shadow:var(--sh-md);display:flex;flex-direction:column;gap:12px;max-width:480px;padding:1.25rem;width:100%}.fridge-dislike-title{color:var(--txt);font-size:1rem;font-weight:700}.fridge-dislike-tags{display:flex;flex-wrap:wrap;gap:6px}.fridge-dislike-tag{background:none;border:1.5px solid var(--border2);border-radius:100px;color:var(--txt2);cursor:pointer;font-family:var(--font-body);font-size:.8rem;font-weight:600;padding:6px 13px;transition:all .15s}.fridge-dislike-tag--active,.fridge-dislike-tag:hover{border-color:var(--red);color:var(--red)}.fridge-dislike-tag--active{background:var(--red-pale)}.fridge-dislike-note{background:var(--bg);border:1.5px solid var(--border);border-radius:var(--r);box-sizing:border-box;color:var(--txt);font-family:var(--font-body);font-size:.84rem;outline:none;padding:8px 10px;resize:none;width:100%}.fridge-dislike-note:focus{border-color:var(--green-mid)}.fridge-dislike-actions{display:flex;gap:6px;justify-content:flex-end}.fridge-dislike-cancel{background:none;border:1.5px solid var(--border2);border-radius:var(--r);color:var(--txt2);cursor:pointer;font-family:var(--font-body);font-size:.84rem;font-weight:600;padding:7px 16px;transition:all .15s}.fridge-dislike-cancel:hover{border-color:var(--border2);color:var(--txt)}.fridge-dislike-submit{background:var(--green);border:none;border-radius:var(--r);color:var(--surface);cursor:pointer;font-family:var(--font-body);font-size:.84rem;font-weight:700;padding:7px 18px;transition:background .15s}.fridge-dislike-submit:disabled{cursor:default;opacity:.5}.fridge-dislike-submit:not(:disabled):hover{background:var(--green-dark)}.fridge-btn-save{background:var(--green);border:none;border-radius:var(--r2);color:var(--surface);cursor:pointer;font-family:var(--font-body);font-size:.92rem;font-weight:700;padding:12px;transition:background .15s;width:100%}.fridge-btn-save:hover:not(:disabled){background:var(--green-dark)}.fridge-btn-save:disabled{cursor:default;opacity:.6}.fridge-ai-list{display:flex;flex-direction:column;gap:1.25rem}.fridge-saved-card{align-items:center;background:var(--green-pale);border:1px solid var(--green-mid);border-radius:var(--r2);color:var(--green-dark);display:flex;font-size:.9rem;font-weight:700;justify-content:space-between;padding:12px 16px}.fridge-saved-link{color:var(--green);font-size:.88rem;font-weight:700;text-decoration:none}.fridge-saved-link:hover{text-decoration:underline}.fridge-saved-msg{color:var(--green);font-size:.9rem;font-weight:700;padding:1rem;text-align:center}.fridge-no-match{background:var(--bg);border:1px solid var(--border);border-radius:var(--r2);color:var(--txt3);font-size:.88rem;padding:1rem;text-align:center}.fridge-btn-reset{background:none;border:1.5px solid var(--border2);border-radius:var(--r2);color:var(--txt2);cursor:pointer;font-family:var(--font-body);font-size:.88rem;font-weight:700;padding:11px;transition:border-color .15s,color .15s;width:100%}.fridge-btn-reset:hover{border-color:var(--green-mid);color:var(--green)}.fridge-stream-loading{align-items:center;color:var(--txt3);display:flex;font-size:.88rem;gap:8px;padding:10px 0}.fridge-stream-spinner{animation:fridge-spin .7s linear infinite;border:2px solid var(--border);border-radius:50%;border-top-color:var(--green);flex-shrink:0;height:15px;width:15px}@keyframes fridge-spin{to{transform:rotate(1turn)}}@media (max-width:600px){.fridge-scan-layout{grid-template-columns:1fr}.fridge-ai-title{font-size:1.15rem}}.sl-page{margin:0 auto;max-width:900px}.sl-add-form{display:flex;gap:8px;margin-bottom:28px}.sl-add-input{background:var(--surface);border:1px solid var(--border);border-radius:10px;color:var(--txt);flex:1 1;font-family:var(--font-body);font-size:.9rem;padding:10px 14px}.sl-add-input:focus{border-color:var(--green);outline:none}.sl-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.sl-wa-btn{border-color:#25d366!important;color:#128c3b!important}.sl-wa-btn:hover{background:var(--green-muted)!important}.sl-empty{color:var(--txt2);font-size:.95rem;padding:48px 0;text-align:center}.sl-empty-hint{color:var(--txt3);font-size:.82rem;margin-top:6px}.sl-section{margin-bottom:24px}.sl-section--checked{opacity:.7}.sl-list{background:var(--surface);border:1px solid var(--border);border-radius:12px;list-style:none;margin:0;overflow:hidden;padding:0}.sl-item{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:10px;padding:12px 14px;transition:background .1s}.sl-item:last-child{border-bottom:none}.sl-item--checked,.sl-item:hover{background:var(--bg)}.sl-check{align-items:center;background:none;border:none;color:var(--border);cursor:pointer;display:flex;flex-shrink:0;height:22px;justify-content:center;padding:0;transition:color .15s;width:22px}.sl-check:hover{color:var(--green)}.sl-check svg{height:20px;width:20px}.sl-check--done{color:var(--green)}.sl-check--done:hover{color:var(--txt3)}.sl-item-text{color:var(--txt);flex:1 1;font-size:.92rem}.sl-item-text--done{color:var(--txt3);text-decoration:line-through}.sl-amount{color:var(--green);font-weight:700;margin-right:6px}.sl-remove{background:none;border:none;color:var(--txt3);cursor:pointer;flex-shrink:0;font-size:.75rem;line-height:1;opacity:.4;padding:4px;transition:opacity .15s}.sl-remove:hover{color:var(--red);opacity:1}:root{--nav-h:52px;--sb-w:235px;--radius:10px;--radius-sm:6px;--radius-lg:14px;--r:10px;--r2:16px;--r3:22px;--transition:all 0.15s ease;--font-serif:"Lora",Georgia,serif;--font-body:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,sans-serif;--font-display:"Lora",Georgia,serif;--font-mono:"DM Mono","Courier New",monospace;--green:#1f9c5a;--green-lt:#26b868;--green-pale:#eaf7f1;--green-mid:#a8dfc2;--green-dark:#145c35;--primary-sage:#1f9c5a;--primary-dark:#145c35;--primary-light:#eaf7f1;--amber:#d97706;--amber-pale:#fef3c7;--accent-saffron:#d97706;--accent-dark:#b45309;--saffron-bg:#fef3c7;--blue:#2563eb;--blue-pale:#eff6ff;--red:#dc2626;--red-pale:#fee2e2;--error:#dc2626;--success:#16a34a;--bg:#f5f4f0;--bg-offwhite:#faf9f6;--surface:#fff;--surface2:#faf9f6;--white:#fff;--card-bg:#fff;--border:#e6e2d8;--border2:#d2ccc0;--txt:#17170e;--txt2:#58584c;--txt3:#979787;--txt4:#c0c0b0;--text-dark:#17170e;--text-mid:#58584c;--text-light:#979787;--text-muted:#979787;--text-on-primary:#fff;--sh:0 1px 4px #0000000d;--sh-md:0 4px 20px #00000017;--sh-lg:0 12px 40px #0000001f;--shadow-sm:0 1px 4px #0000000d;--shadow-md:0 4px 20px #00000017;--shadow-lg:0 12px 40px #0000001f}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#17170e;color:var(--text-dark);font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,sans-serif;font-family:var(--font-body);font-size:14px;line-height:1.6}#root,body{background:#f5f4f0;background:var(--bg)}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{color:#17170e;color:var(--text-dark);font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,sans-serif;font-family:var(--font-body);font-weight:700;line-height:1.3}h1{font-size:1.75rem;margin-bottom:1rem}h2{font-size:1.35rem;margin-bottom:.75rem}h3{font-size:1.1rem;margin-bottom:.5rem}h4{font-size:.95rem;margin-bottom:.4rem}a{color:#1f9c5a;color:var(--primary-sage);text-decoration:none;transition:all .15s ease;transition:var(--transition)}a:hover{color:#145c35;color:var(--primary-dark)}button{border:none;cursor:pointer}button,input,select,textarea{font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,sans-serif;font-family:var(--font-body);transition:all .15s ease;transition:var(--transition)}input,select,textarea{background:#fff;background:var(--surface);border:1px solid #e6e2d8;border:1px solid var(--border);border-radius:8px;color:#17170e;color:var(--text-dark);font-size:.9375rem;outline:none;padding:.55rem .85rem}input::placeholder,textarea::placeholder{color:#555c66}input:focus,select:focus,textarea:focus{border-color:#3dd68c66;box-shadow:0 0 0 3px #3dd68c1a}.container{margin:0 auto;max-width:1280px;padding:0 1.5rem}.btn{align-items:center;border:1.5px solid #0000;border-radius:8px;cursor:pointer;display:inline-flex;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,sans-serif;font-family:var(--font-body);font-size:.9rem;font-weight:600;gap:.5rem;justify-content:center;padding:.55rem 1.25rem;transition:all .15s ease;transition:var(--transition)}.btn-primary{background:#1f9c5a;background:var(--primary-sage);border-color:#1f9c5a;border-color:var(--primary-sage)}.btn-primary,.btn-primary:hover{color:#fff;color:var(--text-on-primary)}.btn-primary:hover{background:#145c35;background:var(--primary-dark);border-color:#145c35;border-color:var(--primary-dark)}.btn-primary:disabled{cursor:not-allowed;opacity:.55}.btn-secondary{background:#fff;background:var(--white);border-color:#e6e2d8;border-color:var(--border);color:#58584c;color:var(--text-mid)}.btn-secondary:hover{border-color:#1f9c5a;border-color:var(--primary-sage);color:#1f9c5a;color:var(--primary-sage)}.btn-sm{font-size:.85rem;padding:.35rem .85rem}:root{--banner-bg:linear-gradient(135deg,#1e3a5f,#1a2d4a);--banner-border:#2d4a6e;--banner-text:#93c5fd;--banner-link:#60a5fa}.card{background:#fff;background:var(--white);border:1.5px solid #e6e2d8;border:1.5px solid var(--border);border-radius:10px;border-radius:var(--radius);padding:1.25rem;transition:all .15s ease;transition:var(--transition)}.card:hover{box-shadow:0 4px 20px #00000017;box-shadow:var(--shadow-md)}.badge{background:#eaf7f1;background:var(--primary-light);border-radius:20px;color:#145c35;color:var(--primary-dark);display:inline-block;font-size:.78rem;font-weight:600;padding:.2rem .65rem}@keyframes spin{to{transform:rotate(1turn)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .3s ease-out}.loader{animation:spin .7s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:18px;width:18px}@media (max-width:768px){h1{font-size:1.4rem}h2{font-size:1.15rem}.container{padding:0 1rem}}[data-theme=light] body{color:#17170e;color:var(--text-dark)}[data-theme=light] #root,[data-theme=light] body{background:#f5f4f0;background:var(--bg)}[data-theme=light] input,[data-theme=light] select,[data-theme=light] textarea{background:#fff;background:var(--surface);border-color:#e6e2d8;border-color:var(--border);color:#17170e;color:var(--text-dark)}[data-theme=light] input:focus,[data-theme=light] select:focus,[data-theme=light] textarea:focus{border-color:#1f9c5a;border-color:var(--primary-sage);box-shadow:0 0 0 3px #eaf7f1;box-shadow:0 0 0 3px var(--primary-light)}[data-theme=light] .navbar{background:color-mix(in srgb,#faf9f6 92%,#0000);background:color-mix(in srgb,var(--bg-offwhite) 92%,#0000)}[data-theme=light] .logo-strix,[data-theme=light] .nav-link:hover{color:#17170e;color:var(--text-dark)}[data-theme=light] .nav-link:hover{background:#e6e2d8;background:var(--border)}.page-header{align-items:flex-end;display:flex;gap:16px;justify-content:space-between;margin-bottom:28px}.page-title{color:var(--txt);font-family:var(--font-serif);font-size:1.75rem;font-weight:700;letter-spacing:-.5px;line-height:1.15;margin-bottom:4px}.page-title em{color:var(--green);font-style:italic}.page-sub{color:var(--txt3);font-size:.83rem;margin:0}.sec-header{justify-content:space-between;margin-bottom:12px}.sec-header,.sec-title{align-items:center;display:flex}.sec-title{color:var(--txt2);font-size:.68rem;font-weight:800;gap:8px;letter-spacing:.09em;text-transform:uppercase}.sec-link{color:var(--green);cursor:pointer;font-size:.76rem;font-weight:700;text-decoration:none}.sec-link:hover{color:var(--green);text-decoration:underline}.btn-ghost{background:var(--surface);border:1px solid var(--border);color:var(--txt2)}.btn-ghost:hover{border-color:var(--green-mid);color:var(--green-dark)}.btn-danger{background:var(--red-pale);border:1px solid #0000;color:var(--red)}.btn-danger:hover{background:var(--red);color:var(--surface)}.btn svg{stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;height:13px;width:13px}.pill{align-items:center;border:1px solid #0000;border-radius:100px;display:inline-flex;font-size:.7rem;font-weight:700;padding:3px 10px}.pill-green{background:var(--green-pale);border-color:var(--green-mid);color:var(--green-dark)}.pill-amber{background:var(--amber-pale);color:var(--amber)}.pill-red{background:var(--red-pale);color:var(--red)}.pill-ghost{background:var(--bg);border-color:var(--border);color:var(--txt2)}.pill-solid{background:var(--green);color:var(--surface)}.pill-blue{background:var(--blue-pale);color:var(--blue)}.cat-badge{align-items:center;border-radius:6px;display:inline-flex;font-size:.7rem;font-weight:700;gap:5px;padding:3px 10px}.cat-Fleisch-Gefl-gel,.cat-Hauptgerichte{background:#fff4e5;color:#b45309}.cat-Suppen{background:#e0f2fe;color:#0369a1}.cat-Beilagen{background:#f0fdf4;color:#15803d}.cat-Desserts{background:#fdf2f8;color:#9d174d}.cat-Grill-BBQ{background:#fff7ed;color:#c2410c}.cat-Snacks{background:#fafaf0;color:#65704d}.cat-Vegetarisch{background:#f0fdf4;color:#15803d}.cat-Pasta-Nudeln{background:#fef9ec;color:#92400e}.cat-Salate{background:#ecfdf5;color:#065f46}.cat-Fisch-Meeresfrüchte{background:#eff6ff;color:#1d4ed8}.cat-default{background:var(--bg);color:var(--txt2)}.quick-row{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:24px}.qa{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--txt2);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:.8rem;font-weight:700;gap:6px;padding:7px 14px;text-decoration:none;transition:all .18s;white-space:nowrap}.qa:hover{background:var(--green-pale);border-color:var(--green-mid);color:var(--green-dark)}.qa svg{stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;height:12px;opacity:.8;width:12px}.qa.primary{background:var(--green);border-color:var(--green);color:var(--surface)}.qa.primary:hover{background:var(--green-lt);border-color:var(--green-lt);color:var(--surface)}.qa.primary svg{opacity:1}.live-dot-wrap{align-items:center;color:var(--green);display:inline-flex;font-size:.68rem;font-weight:700;gap:5px}.live-dot{animation:livePulse 1.8s ease-in-out infinite;background:var(--green);border-radius:50%;flex-shrink:0;height:6px;width:6px}@keyframes livePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.tag-chip{background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--txt2);display:inline-block;font-size:.72rem;font-weight:600;padding:3px 10px}.tag-chip--sm{font-size:.68rem;padding:2px 7px}.tag-chip--active{background:var(--amber-pale);border-color:var(--amber);color:var(--amber);font-weight:600}.filter-bar{flex-wrap:wrap;gap:10px;margin-bottom:16px}.filter-bar,.filter-search{align-items:center;display:flex}.filter-search{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r);flex:1 1;gap:8px;max-width:380px;padding:8px 14px;transition:border-color .2s}.filter-search:focus-within{border-color:var(--green-mid)}.filter-search svg{stroke:var(--txt3);fill:none;stroke-width:2;stroke-linecap:round;flex-shrink:0;height:14px;width:14px}.filter-search input{background:#0000;border:none;box-shadow:none;color:var(--txt);flex:1 1;font-family:var(--font-body);font-size:.85rem;outline:none;padding:0}.filter-search input::placeholder{color:var(--txt3)}.filter-search input:focus{box-shadow:none}.sort-select{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);color:var(--txt2);cursor:pointer;font-family:var(--font-body);font-size:.82rem;outline:none;padding:8px 12px;transition:border-color .2s}.sort-select:hover{border-color:var(--border2)}.cat-filters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.cf-pill{background:var(--surface);border:1.5px solid var(--border);border-radius:100px;color:var(--txt2);cursor:pointer;font-family:var(--font-body);font-size:.76rem;font-weight:700;padding:5px 13px;transition:all .15s;white-space:nowrap}.cf-pill:hover{border-color:var(--green-mid);color:var(--green-dark)}.cf-pill.active{background:var(--green);border-color:var(--green);color:var(--surface)}.recipe-rows{display:flex;flex-direction:column;gap:8px}.rr-item{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--r2);color:inherit;cursor:pointer;display:flex;gap:14px;padding:12px 16px;text-decoration:none;transition:all .2s}.rr-item:hover{border-color:var(--green-mid);box-shadow:var(--sh);color:inherit;transform:translateX(2px)}.rr-thumb{align-items:center;background:var(--bg);border:1px solid var(--border);border-radius:10px;display:flex;flex-shrink:0;font-size:1.5rem;height:54px;justify-content:center;object-fit:cover;overflow:hidden;width:54px}.rr-thumb img{display:block;height:100%;object-fit:cover;width:100%}.rr-main{flex:1 1;min-width:0}.rr-title{color:var(--txt);font-family:var(--font-serif);font-size:.95rem;font-weight:600;line-height:1.3;margin-bottom:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rr-item:hover .rr-title{color:var(--green-dark)}.rr-meta-row{flex-wrap:wrap;gap:10px}.rr-meta,.rr-meta-row{align-items:center;display:flex}.rr-meta{color:var(--txt3);font-size:.72rem;gap:4px}.rr-meta svg{stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;height:11px;width:11px}.rr-date{color:var(--txt4);font-size:.7rem}.rr-actions{display:flex;flex-shrink:0;gap:6px}.cat-warm{background:var(--amber-pale);color:var(--amber)}.cat-cool{background:var(--blue-pale);color:var(--blue)}.cat-green{background:var(--green-pale);color:var(--green-dark)}.cat-sweet{background:var(--red-pale);color:var(--red)}.cat-neutral{background:var(--bg);color:var(--txt2)}.h-scroll{overflow-x:auto;padding-bottom:6px}.h-scroll::-webkit-scrollbar{height:3px}.h-scroll::-webkit-scrollbar-thumb{background:var(--border2);border-radius:2px}.h-row{display:flex;gap:10px;min-width:-webkit-max-content;min-width:max-content}.mini-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r2);cursor:pointer;display:block;flex-shrink:0;overflow:hidden;text-decoration:none;transition:all .2s;width:148px}.mini-card:hover{border-color:var(--green-mid);box-shadow:var(--sh-md);transform:translateY(-2px)}.mini-card-img{background:var(--bg);display:block;height:90px;object-fit:cover;width:100%}.mini-card-placeholder{align-items:center;display:flex;font-size:1.8rem;justify-content:center}.mini-card-body{padding:8px 10px}.mini-card-cat{color:var(--green);font-size:.6rem;font-weight:700;letter-spacing:.04em;margin-bottom:2px;text-transform:uppercase}.mini-card-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--txt);display:-webkit-box;font-size:.78rem;font-weight:700;line-height:1.3;overflow:hidden}.mini-card-meta{color:var(--txt3);font-size:.65rem;margin-top:3px}.editor-field{margin-bottom:14px}.editor-field:last-child{margin-bottom:0}.field-label{color:var(--txt3);display:block;font-size:.68rem;font-weight:800;letter-spacing:.08em;margin-bottom:5px;text-transform:uppercase}.field-input{background:var(--bg);border:1.5px solid var(--border);border-radius:var(--r);box-sizing:border-box;color:var(--txt);font-family:var(--font-body);font-size:.85rem;outline:none;padding:9px 13px;transition:border-color .2s,box-shadow .2s;width:100%}.field-input:focus{border-color:var(--green-mid);box-shadow:0 0 0 3px var(--green-pale)}.field-input::placeholder{color:var(--txt3)}.field-input:disabled{background:var(--bg);border-color:var(--border);color:var(--txt3);cursor:not-allowed}.field-textarea{line-height:1.5;min-height:80px;resize:vertical}.field-select{-webkit-appearance:none;appearance:none;background:var(--bg);border:1.5px solid var(--border);border-radius:var(--r);box-sizing:border-box;color:var(--txt);cursor:pointer;font-family:var(--font-body);font-size:.85rem;outline:none;padding:9px 13px;transition:border-color .2s;width:100%}.field-select:focus{border-color:var(--green-mid)}.field-row{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr}.field-hint{color:var(--txt3);font-size:.76rem;line-height:1.5;margin-top:4px}.field-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:20px}.sec-title-note{color:var(--txt3);font-size:.78rem;font-weight:400;letter-spacing:0;margin-left:4px;text-transform:none}.settings-page{margin:0 auto;max-width:900px;padding:0 0 3rem}.settings-page .page-title{text-align:left}.settings-loading{align-items:center;color:var(--txt2);display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:4rem}.settings-msg{border-radius:var(--r2);font-size:.88rem;font-weight:500;margin-bottom:20px;padding:10px 14px}.settings-msg-success{background:var(--green-pale);border:1px solid var(--green-mid);color:var(--green-dark)}.settings-msg-error{background:var(--red-pale);border:1px solid var(--red);color:var(--red)}.settings-grid{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:200px 1fr}.settings-nav{background:var(--surface);border:1px solid var(--border);border-radius:var(--r2);overflow:hidden;position:-webkit-sticky;position:sticky;top:0}.settings-nav-item{align-items:center;background:none;border:none;border-bottom:1px solid var(--border);color:var(--txt2);cursor:pointer;display:flex;font-family:var(--font-body);font-size:.83rem;font-weight:600;gap:10px;padding:10px 14px;text-align:left;transition:all .15s;width:100%}.settings-nav-item:last-child{border-bottom:none}.settings-nav-item:hover{background:var(--bg);color:var(--txt)}.settings-nav-item.active{background:var(--green-pale);color:var(--green-dark)}.settings-nav-item svg{stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;height:14px;opacity:.7;width:14px}.settings-nav-item.active svg{opacity:1}.settings-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r2);margin-bottom:16px;overflow:hidden}.settings-card-head{background:var(--surface2);border-bottom:1px solid var(--border);padding:14px 20px}.settings-card-title{color:var(--txt);font-size:.85rem;font-weight:800;margin-bottom:2px}.settings-card-sub{color:var(--txt3);font-size:.75rem}.settings-card-body{padding:20px}.profile-avatar-section{align-items:center;display:flex;gap:16px;margin-bottom:24px}.profile-avatar-big{align-items:center;background:var(--green-pale);border:2px solid var(--green-mid);border-radius:50%;color:var(--green-dark);display:flex;flex-shrink:0;font-size:1.4rem;font-weight:800;height:64px;justify-content:center;overflow:hidden;width:64px}.profile-avatar-big img{display:block;height:100%;object-fit:cover;width:100%}.profile-avatar-info{flex:1 1}.profile-avatar-name{color:var(--txt);font-family:var(--font-serif);font-size:1.1rem;font-weight:700}.profile-avatar-handle{color:var(--txt3);font-size:.78rem}.settings-tab-nav{background:var(--bg);border-radius:var(--r);display:flex;gap:2px;margin-bottom:20px;overflow-x:auto;padding:3px}.settings-tab-nav::-webkit-scrollbar{display:none}.stab{background:#0000;border:none;border-radius:7px;color:var(--txt3);cursor:pointer;flex:1 1;font-family:var(--font-body);font-size:.78rem;font-weight:700;padding:7px 10px;transition:all .15s;white-space:nowrap}.stab.active,.stab:hover{color:var(--txt)}.stab.active{background:var(--surface);box-shadow:0 1px 3px var(--border)}@media (max-width:700px){.settings-grid{grid-template-columns:1fr}.settings-nav{border-radius:var(--r2);display:flex;overflow-x:auto;position:static}.settings-nav::-webkit-scrollbar{display:none}.settings-nav-item{border-bottom:none;border-right:1px solid var(--border);flex-shrink:0}.settings-nav-item:last-child{border-right:none}.field-row{grid-template-columns:1fr}}.avatar-upload-area{align-items:flex-start;background:var(--surface);border:1px solid var(--border);border-radius:var(--r2);display:flex;gap:20px;margin-bottom:20px;padding:16px}.avatar-preview-img,.avatar-preview-placeholder{border-radius:50%;flex-shrink:0;height:100px;width:100px}.avatar-preview-img{border:2px solid var(--border);object-fit:cover}.avatar-preview-placeholder{align-items:center;background:var(--green-pale);color:var(--green-dark);display:flex;font-size:2rem;font-weight:700;justify-content:center}.avatar-upload-info{display:flex;flex-direction:column;gap:8px}.avatar-upload-info p{color:var(--txt);font-size:.85rem;margin:0}.avatar-hint{color:var(--txt3);font-size:.76rem}.avatar-filename{color:var(--txt3);font-size:.78rem;font-style:italic}.tpl-selector-grid{display:flex;flex-direction:column;gap:1.5rem}.tpl-selector-group{display:flex;flex-direction:column;gap:.4rem}.tpl-selector-name{color:var(--txt);font-size:.88rem;font-weight:700;margin:0}.tpl-selector-desc{color:var(--txt3);font-size:.77rem;margin:0 0 6px}.tpl-selector-row{display:flex;flex-wrap:wrap;gap:10px}.ratings-header{margin-bottom:16px}.ratings-count{align-items:center;background:var(--green);border-radius:99px;color:var(--surface);display:inline-flex;font-size:.7rem;font-weight:700;justify-content:center;margin-left:8px;padding:1px 7px;vertical-align:middle}.ratings-loading{display:flex;justify-content:center;padding:2rem 0}.ratings-empty{color:var(--txt3);padding:2rem 1rem;text-align:center}.ratings-empty p{margin:0 0 4px}.ratings-list{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.ratings-item{align-items:flex-start;background:var(--surface);border:1px solid var(--border);border-radius:var(--r2);display:flex;gap:10px;padding:10px 14px;transition:background .15s}.ratings-item--like{border-left:3px solid var(--green)}.ratings-item--dislike{border-left:3px solid var(--red)}.ratings-item-icon{flex-shrink:0;font-size:1.05rem;margin-top:1px}.ratings-item-body{flex:1 1;min-width:0}.ratings-item-title{color:var(--txt);font-size:.9rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ratings-item-category{color:var(--txt3);font-size:.74rem;margin-top:1px}.ratings-item-reason{align-items:center;display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.ratings-reason-tag{background:var(--red-pale);border-radius:var(--r);color:var(--red);font-size:.72rem;font-weight:600;padding:1px 7px}.ratings-item-note{color:var(--txt3);font-size:.74rem;font-style:italic}.ratings-item-date{color:var(--txt4);font-size:.71rem;margin-top:4px}.ratings-item-actions{align-self:flex-start;display:flex;flex-shrink:0;gap:2px}.ratings-action-btn{align-items:center;background:none;border:none;border-radius:var(--r);color:var(--txt3);cursor:pointer;display:flex;padding:5px;transition:color .15s,background .15s}.ratings-action-btn:hover:not(:disabled){background:var(--bg);color:var(--txt)}.ratings-action-btn--danger:hover:not(:disabled){background:var(--red-pale);color:var(--red)}.ratings-action-btn:disabled{cursor:not-allowed;opacity:.4}.ratings-delete-spinner{animation:spin .6s linear infinite;border:2px solid var(--border);border-radius:50%;border-top-color:var(--txt3);display:inline-block;height:13px;width:13px}.ratings-edit-form{display:flex;flex-direction:column;gap:8px;width:100%}.ratings-edit-title{color:var(--txt);font-size:.88rem;font-weight:700}.ratings-edit-toggle{display:flex;flex-wrap:wrap;gap:6px}.ratings-toggle-btn{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r);color:var(--txt2);cursor:pointer;flex:1 1;font-family:inherit;font-size:.82rem;padding:6px 10px;transition:all .15s}.ratings-toggle-btn.active-like{background:var(--green-pale);border-color:var(--green);color:var(--green-dark);font-weight:700}.ratings-toggle-btn.active-dislike{background:var(--red-pale);border-color:var(--red);color:var(--red);font-weight:700}.ratings-edit-note,.ratings-edit-select{background:var(--bg);border:1.5px solid var(--border);border-radius:var(--r);box-sizing:border-box;color:var(--txt);font-family:inherit;font-size:.83rem;outline:none;padding:7px 10px;width:100%}.ratings-edit-note{resize:vertical}.ratings-edit-actions{display:flex;gap:6px}.ratings-pagination{align-items:center;display:flex;gap:10px;justify-content:center;padding-top:6px}.ratings-page-info{color:var(--txt3);font-size:.82rem}@media (max-width:600px){.avatar-upload-area{align-items:center;flex-direction:column;text-align:center}}.dashboard{margin:0 auto;max-width:900px}.hero-card{grid-gap:20px;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r3);cursor:pointer;display:grid;gap:20px;grid-template-columns:1fr auto;margin-bottom:20px;overflow:hidden;padding:22px 26px;position:relative;text-decoration:none;transition:all .2s}.hero-card:before{background:linear-gradient(to bottom,var(--green),var(--green-lt));bottom:0;content:"";left:0;position:absolute;top:0;width:3px}.hero-card:hover{border-color:var(--green-mid);box-shadow:var(--sh-md)}.hero-eyebrow{align-items:center;color:var(--green);display:flex;font-size:.67rem;font-weight:800;gap:6px;letter-spacing:.09em;margin-bottom:8px;text-transform:uppercase}.hero-title{color:var(--txt);font-family:var(--font-serif);font-size:1.22rem;font-weight:700;letter-spacing:-.3px;line-height:1.3;margin-bottom:10px}.hero-meta{color:var(--txt3);display:flex;flex-wrap:wrap;font-size:.78rem;gap:16px}.hero-meta span{align-items:center;display:flex;gap:4px}.hero-meta svg{stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;height:12px;width:12px}.hero-img{align-items:center;background:var(--bg);border:1px solid var(--border);border-radius:var(--r2);display:flex;flex-shrink:0;font-size:2.2rem;height:88px;justify-content:center;overflow:hidden;width:88px}.hero-img img{height:100%;object-fit:cover;width:100%}.stats-strip{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,1fr);margin-bottom:24px}.stat-card{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--r2);cursor:pointer;display:flex;gap:12px;padding:14px 18px;text-decoration:none;transition:all .18s}.stat-card:hover{border-color:var(--green-mid);box-shadow:var(--sh)}.stat-accent{border-radius:2px;flex-shrink:0;height:32px;width:3px}.sa-g{background:var(--green)}.sa-a{background:var(--amber)}.sa-b{background:var(--blue)}.stat-num{color:var(--txt);font-family:var(--font-serif);font-size:1.5rem;font-weight:700;letter-spacing:-.5px;line-height:1;margin-bottom:2px}.stat-lbl{color:var(--txt3);font-size:.7rem}.dash-grid{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:1fr 1.7fr;margin-bottom:28px}.prio-list{display:flex;flex-direction:column;gap:8px}.prio-card{background:var(--surface);border:1.5px solid var(--border);border-radius:18px;cursor:pointer;min-height:82px;overflow:hidden;padding:14px 16px 12px;position:relative;transition:all .22s}.prio-card:hover{border-color:var(--green-mid);box-shadow:0 4px 14px #00000012}.prio-normal{transition:opacity .18s}.prio-actions,.prio-card:hover .prio-normal{opacity:0;pointer-events:none}.prio-actions{align-items:center;background:var(--surface);border-radius:18px;display:flex;gap:14px;inset:0;justify-content:center;position:absolute;transition:opacity .18s}.prio-card:hover .prio-actions{opacity:1;pointer-events:all}.pa-btn{align-items:center;border:none;border-radius:50%;cursor:pointer;display:flex;height:48px;justify-content:center;transition:all .18s;width:48px}.pa-btn svg{stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;fill:none;stroke:currentColor;height:20px;width:20px}.pa-done{background:var(--green-pale);color:var(--green)}.pa-done:hover{background:var(--green);color:var(--surface);transform:scale(1.1)}.pa-cal{background:var(--bg);color:var(--txt2)}.pa-cal:hover{background:var(--border);transform:scale(1.1)}.pa-del{background:var(--red-pale);color:var(--red)}.pa-del:hover{background:var(--red);color:var(--surface);transform:scale(1.1)}.prio-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:3px}.prio-name{color:var(--txt);font-size:.9rem;font-weight:800;letter-spacing:-.1px}.prio-sub{color:var(--txt3);font-family:var(--font-mono);font-size:.68rem;margin-bottom:9px}.prio-bar{background:var(--bg);border-radius:3px;height:4px;overflow:hidden;width:100%}.prio-fill{border-radius:3px;height:100%;transition:width .6s ease}.pf-red{background:var(--red)}.pf-amber{background:var(--amber)}.pf-green{background:var(--green)}.prio-add-btn{background:#0000;border:1.5px dashed var(--border2);border-radius:16px;color:var(--txt3);cursor:pointer;font-family:var(--font-body);font-size:.8rem;font-weight:600;padding:10px;transition:all .18s;width:100%}.prio-add-btn:hover{background:var(--green-pale);border-color:var(--green-mid);color:var(--green)}.prio-empty{border:1.5px dashed var(--border2);border-radius:18px;color:var(--txt3);padding:24px 16px;text-align:center}.prio-empty-icon{font-size:1.8rem;margin-bottom:8px}.prio-empty-title{color:var(--txt2);font-size:.85rem;font-weight:700;margin-bottom:4px}.prio-empty-sub{font-size:.75rem;line-height:1.5}.dash-recipe-list{display:flex;flex-direction:column;gap:10px}.dash-recipe-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r3);cursor:pointer;display:flex;overflow:hidden;text-decoration:none;transition:all .22s}.dash-recipe-card:hover{border-color:var(--green-mid);box-shadow:var(--sh-lg);transform:translateY(-1px)}.drc-img{background:var(--bg);display:block;flex-shrink:0;object-fit:cover;width:110px}.drc-img-placeholder{align-items:center;background:var(--bg);display:flex;font-size:2rem;justify-content:center}.drc-body{display:flex;flex:1 1;flex-direction:column;gap:4px;padding:12px 14px}.drc-urgent{color:var(--green);font-size:.67rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.drc-title{color:var(--txt);font-family:var(--font-serif);font-size:.92rem;font-weight:700;letter-spacing:-.1px;line-height:1.3;text-decoration:none}.drc-title:hover{color:var(--green)}.drc-rescue-row{display:flex;flex-wrap:wrap;gap:4px}.drc-resc{border-radius:4px;font-size:.67rem;font-weight:700;padding:2px 7px}.drc-resc.ok{background:var(--green-pale);border:1px solid var(--green-mid);color:var(--green-dark)}.drc-resc.miss{background:var(--red-pale);border:1px solid var(--red);color:var(--red)}.drc-chips-row{display:flex;flex-wrap:wrap;gap:5px;margin:2px 0}.drc-chip{align-items:center;color:var(--txt3);display:flex;font-size:.68rem;font-weight:600;gap:3px}.drc-chip svg{stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;height:10px;width:10px}.drc-progress{align-items:center;border-top:1px solid var(--border);display:flex;gap:8px;margin-top:auto;padding-top:8px}.drc-bar{background:var(--bg);border-radius:2px;flex:1 1;height:3px;overflow:hidden}.drc-fill{background:var(--green);border-radius:2px;height:100%}.drc-fill.partial{background:var(--amber)}.drc-label{color:var(--txt3);font-family:var(--font-mono);font-size:.68rem;font-weight:700;white-space:nowrap}.drc-btn{align-items:center;background:none;border:none;color:var(--txt2);cursor:pointer;display:flex;font-family:var(--font-body);font-size:.75rem;font-weight:700;gap:3px;padding:0;transition:color .18s}.drc-btn:hover{color:var(--green)}.drc-btn svg{stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;height:13px;width:13px}.dash-recent{margin-top:4px}.dash-empty{background:var(--surface);border:1px solid var(--border);border-radius:var(--r3);margin-top:20px;padding:60px 20px;text-align:center}.dash-empty-icon{font-size:3rem;margin-bottom:16px}.dash-empty h3{color:var(--txt);margin-bottom:8px}.dash-empty p{color:var(--txt3);font-size:.88rem;margin-bottom:20px}@media (max-width:780px){.dash-grid{grid-template-columns:1fr}.stats-strip{grid-template-columns:1fr 1fr}.hero-card{grid-template-columns:1fr}.hero-img{display:none}}@media (max-width:500px){.stats-strip{grid-template-columns:1fr}.drc-img{width:80px}}.breadcrumb{align-items:center;background:#0000;border-bottom:none;color:var(--txt2);display:flex;flex-shrink:0;font-size:.78rem;gap:5px;justify-content:flex-start;padding:5px 20px;position:-webkit-sticky;position:sticky;top:var(--nav-h);z-index:150}.bc-sep{color:var(--txt3);font-size:.9rem;-webkit-user-select:none;user-select:none}.bc-link{color:var(--txt2);text-decoration:none;transition:color .15s}.bc-link:hover{color:var(--green)}.bc-current{color:var(--txt);font-weight:700;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/*# sourceMappingURL=main.6c02091f.css.map*/