:root{--radius:3px;--bg-app:#f4f5f7;--bg-surface:#ffffff;--bg-subtle:#f6f8fa;--bg-muted:#eef1f5;--border:#e8eaed;--border-strong:#d5d9de;--text:#1f2933;--text-secondary:#5b6570;--text-muted:#8a929c;--accent:#3498db;--accent-hover:#2980b9;--accent-weak:#eaf4fb;--success:#1a7f37;--danger:#e74c3c;--warning:#f39c12;--shadow-sm:0 1px 2px rgba(16, 24, 40, .06),0 1px 3px rgba(16, 24, 40, .04);--shadow-md:0 2px 8px rgba(16, 24, 40, .08);--shadow-lg:0 12px 32px rgba(16, 24, 40, .16);--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px}*{margin:0;padding:0;box-sizing:border-box}:not(img):not(svg):not(path):not(canvas):not(video):not(hr){border-radius:var(--radius)}body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;background:var(--bg-app);color:var(--text);line-height:1.6;padding:8px 20px 20px}.container{max-width:1400px;margin:0 auto}.seo-h1{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}header{width:calc(100% + 40px);margin-left:-20px;background:0 0;margin-bottom:8px;overflow:visible}.header-inner{max-width:1400px;margin:0 auto;padding:18px 0;display:flex;justify-content:space-between;align-items:center;overflow:visible}.header-left{flex:1;display:flex;align-items:center;min-width:0}.header-brand-logo{height:32px;width:auto;object-fit:contain;flex-shrink:0}.header-right{display:flex;align-items:center;gap:16px;justify-content:flex-end;flex-shrink:0;flex-wrap:wrap}.header-link{font-size:13px;color:var(--text-secondary);text-decoration:none}.header-link:hover{color:var(--accent);text-decoration:none}.header-icon-btn{display:inline-flex;align-items:center;gap:5px;padding:4px 2px;border:none;background:0 0;border-radius:var(--radius);text-decoration:none;cursor:pointer;flex-shrink:0;white-space:nowrap}.header-icon-btn:hover{color:var(--accent);text-decoration:none}.header-icon-btn-svg{width:16px;height:16px;display:block;flex-shrink:0}.header-divider{width:1px;height:18px;background:var(--border);flex-shrink:0}#headerAccountBtn,#headerLoginBtn{color:var(--accent);background:#e8f4fc;border:1px solid #a8d4ef;border-radius:var(--radius);padding:5px 10px;font-weight:600;transition:background-color .15s ease,border-color .15s ease,color .15s ease}#headerAccountBtn:hover,#headerLoginBtn:hover{color:#fff;background:var(--accent);border-color:var(--accent);text-decoration:none}#headerAccountBtn:hover:active,#headerLoginBtn:hover:active{background:var(--accent-hover);border-color:var(--accent-hover)}.header-tools-wrap{position:relative}.header-tools-trigger{cursor:default}.header-tools-dropdown{display:none;position:absolute;left:50%;right:auto;transform:translateX(-50%);top:calc(100% + 6px);background:#fff;border:1px solid var(--border);box-shadow:0 4px 16px rgba(0,0,0,.12);min-width:168px;z-index:9999;flex-direction:column}.header-tools-dropdown::before{content:'';position:absolute;left:0;right:0;top:-8px;height:8px}.header-tools-wrap:focus-within .header-tools-dropdown,.header-tools-wrap:hover .header-tools-dropdown{display:flex}.header-tools-item{display:block;padding:10px 14px;font-size:13px;color:var(--text);text-decoration:none;border-bottom:1px solid var(--border);white-space:nowrap}.header-tools-item:last-child{border-bottom:none}.header-tools-item:hover{background:#f5f8ff;color:var(--accent);text-decoration:none}.header-menu-wrap{display:none;position:relative}.header-menu-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:0 0;border:none;cursor:pointer;color:var(--text-secondary);padding:0}.header-menu-btn:hover{color:#111}.header-menu-dropdown{display:none;position:absolute;right:0;top:calc(100% + 6px);background:#fff;border:1px solid var(--border);box-shadow:0 4px 16px rgba(0,0,0,.12);min-width:180px;z-index:9999;flex-direction:column}.header-menu-dropdown.open{display:flex}.header-menu-group{border-bottom:1px solid var(--border)}.header-menu-group-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 16px;font-size:14px;color:var(--text);background:0 0;border:none;cursor:pointer;text-align:left}.header-menu-group-trigger:hover{background:#f5f8ff;color:var(--accent)}.header-menu-group-chevron{flex-shrink:0;margin-left:8px;color:var(--text-muted);transition:transform .2s ease}.header-menu-group.is-open .header-menu-group-chevron{transform:rotate(180deg)}.header-menu-sub{display:none;flex-direction:column;background:#fafbfd;border-top:1px solid var(--border)}.header-menu-group.is-open .header-menu-sub{display:flex}.header-menu-subitem{padding-left:28px!important;font-size:13px!important;color:var(--text-secondary)!important;border-bottom:1px solid var(--border)!important}.header-menu-subitem:last-child{border-bottom:none!important}.header-menu-item{display:block;padding:12px 16px;font-size:14px;color:var(--text);text-decoration:none;border-bottom:1px solid var(--border)}.header-menu-item:last-child{border-bottom:none}.header-menu-item:hover{background:#f5f8ff;color:var(--accent)}.header-logo{height:40px;width:auto;object-fit:contain}.header-logo[src*=wsava]{margin-top:-4px}.page-footer{margin-top:32px;padding:20px 30px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.page-footer-logos{display:flex;align-items:center;gap:20px}.page-footer-logo-link{display:inline-flex;align-items:center;text-decoration:none}.page-footer-logo{height:36px;width:auto;object-fit:contain}.page-footer-icp{font-size:12px;color:var(--text-muted);width:100%;text-align:center;margin-top:4px}.page-footer-icp a{color:var(--text-muted);text-decoration:none}.page-footer-icp a:hover{text-decoration:underline}#section-food-list,#section-nutrition-analysis,#section-pet-profile{scroll-margin-top:16px}.edge-dock-rail{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:1100;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0;pointer-events:none}.edge-dock-group{display:flex;flex-direction:column;gap:0;pointer-events:auto;border:1px solid var(--border);border-right:none;background:#fff;box-shadow:-2px 0 10px rgba(0,0,0,.07)}.edge-dock-divider{width:40px;height:8px;pointer-events:none}.edge-dock-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;margin:0;border:none;border-radius:var(--radius);border-bottom:1px solid var(--border);background:#fff;color:var(--text-secondary);cursor:pointer;transition:background .12s,color .12s;-webkit-tap-highlight-color:transparent}.edge-dock-group .edge-dock-btn:last-child{border-bottom:none}.edge-dock-btn:focus-visible,.edge-dock-btn:hover{background:#f0f7ff;color:var(--accent-hover);outline:0}.edge-dock-btn--active{background:#e8f4fc;color:var(--accent-hover)}.edge-dock-btn--action:focus-visible,.edge-dock-btn--action:hover{color:var(--accent-hover);background:#f0f7ff}.edge-dock-btn:disabled{cursor:not-allowed;opacity:.7}.edge-dock-btn.is-loading .edge-dock-svg{animation:spin-icon .8s linear infinite}.edge-dock-svg{width:17px;height:17px;display:block;flex-shrink:0}.mobile-bottom-nav{display:none}.announcement-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:99999}.announcement-overlay{position:absolute;inset:0;background:rgba(0,0,0,.4)}.announcement-content{position:relative;background:#fff;width:480px;max-width:calc(100vw - 32px);max-height:85vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);border-radius:var(--radius)}.announcement-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border);flex-shrink:0}.announcement-title{margin:0;font-size:16px;font-weight:600;color:var(--text)}.announcement-close{background:0 0;border:none;font-size:22px;color:var(--text-muted);cursor:pointer;padding:0;line-height:1;width:28px;height:28px;display:flex;align-items:center;justify-content:center}.announcement-close:hover{color:var(--text)}.announcement-body{flex:1;min-height:0;overflow-y:auto;padding:18px;display:flex;flex-direction:row;gap:16px;align-items:center}.announcement-image{flex-shrink:0;width:140px;max-height:200px;object-fit:contain;display:block}.announcement-text{flex:1;min-width:0;font-size:14px;color:var(--text-secondary);line-height:1.75}.announcement-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-top:1px solid var(--border);flex-shrink:0;gap:12px}.announcement-no-show{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary);cursor:pointer;user-select:none}.announcement-no-show input{cursor:pointer;margin:0}.announcement-btn-close{padding:8px 22px;background:var(--accent);color:#fff;border:none;font-size:14px;cursor:pointer;flex-shrink:0;white-space:nowrap}.announcement-btn-close:hover{background:var(--accent-hover)}.header-left h1{font-size:26px;font-weight:700;color:#1a252f;letter-spacing:-.02em;margin-bottom:4px;line-height:1.25}.header-left .subtitle{font-size:13px;color:#5c6b73;line-height:1.4;font-weight:400}.db-selector{width:100%;min-width:0;padding:8px 28px 8px 12px;border:1px solid var(--border);border-radius:var(--radius);background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L2 4h8z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;color:var(--text);font-size:14px;font-family:inherit;cursor:pointer;transition:all .2s;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}.db-selector:hover{border-color:var(--text)}.db-selector:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 2px rgba(52,152,219,.1)}.db-multi-wrap{position:relative;min-width:120px}.db-multi-trigger{width:100%;min-width:0;padding:8px 28px 8px 12px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;color:var(--text);font-size:14px;cursor:pointer;text-align:left;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.db-multi-trigger:hover{border-color:var(--text)}.db-multi-trigger:after{content:'';position:absolute;right:10px;top:50%;transform:translateY(-50%);border:5px solid transparent;border-top-color:var(--text-secondary)}.db-multi-trigger[aria-expanded=true]:after{border-top-color:transparent;border-bottom-color:var(--text-secondary)}.db-multi-dropdown{position:absolute;top:100%;left:0;margin-top:2px;min-width:180px;max-height:280px;overflow-y:auto;background:#fff;border:1px solid var(--border);box-shadow:0 4px 12px rgba(0,0,0,.15);z-index:1000;padding:8px 0}.db-multi-option{display:block;padding:6px 12px;cursor:pointer;font-size:13px;white-space:nowrap}.db-multi-option:hover{background:var(--border)}.db-multi-option input{margin-right:8px;cursor:pointer}.main-content{display:flex;flex-direction:column;gap:20px;max-width:1400px;margin:0 auto}.top-section{display:grid;grid-template-columns:1fr;gap:20px;align-items:stretch}.pet-profile-card{margin-bottom:0}.pet-profile-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:0;border-bottom:none;padding-bottom:0}.pet-profile-card-heading{min-width:0}.pet-profile-card-title{margin-bottom:0;padding-bottom:0}#petCardAddPetBtn{width:32px;min-width:32px;justify-content:center;padding:7px!important}.pet-profile-card-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,0.48fr);gap:18px;align-items:stretch}.pet-profile-identity{grid-column:1;grid-row:1;display:flex;align-items:stretch;gap:14px;min-width:0;padding-right:18px;border-right:1px solid var(--border)}.pet-profile-avatar-upload{align-self:center;flex:0 0 84px;display:block;cursor:pointer;user-select:none}.pet-profile-avatar-upload.is-disabled{cursor:default}.pet-profile-avatar{position:relative;align-self:center;width:84px;height:84px;flex:0 0 84px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);background:#f6f9fb;color:#9bb0c2;border-radius:50%;overflow:hidden}.pet-profile-avatar-hover{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(0,0,0,.45);color:#fff;opacity:0;transition:opacity .15s ease;pointer-events:none}.pet-profile-avatar-hover-icon{display:block;width:18px;height:18px}.pet-profile-avatar-upload:not(.is-disabled):hover .pet-profile-avatar-hover,.pet-profile-edit-avatar-upload:hover .pet-profile-avatar-hover{opacity:1}.pet-profile-avatar img{width:100%;height:100%;object-fit:cover}.pet-profile-avatar.has-breed-image img{transform:scale(1.26)}.pet-profile-avatar.has-custom-avatar img{transform:none}.pet-profile-avatar .pet-profile-species-icon,.pet-profile-edit-avatar .pet-profile-species-icon{display:none;width:56px;height:56px;flex-shrink:0;align-items:center;justify-content:center}.pet-profile-avatar.has-species-icon .pet-profile-species-icon,.pet-profile-edit-avatar.has-species-icon .pet-profile-species-icon{display:flex}.pet-profile-avatar.has-species-icon .pet-profile-species-icon .pet-card-species-icon-svg,.pet-profile-edit-avatar.has-species-icon .pet-profile-species-icon .pet-card-species-icon-svg{width:100%;height:100%}.pet-profile-edit-avatar .pet-profile-species-icon{width:48px;height:48px}.pet-profile-avatar-placeholder{display:block;width:18px;height:18px;flex-shrink:0}.pet-profile-identity-main{min-width:0;flex:1 1 auto;display:flex;flex-direction:column;justify-content:center;gap:4px}.pet-profile-identity-actions{flex:0 0 auto;align-self:flex-start;display:flex;align-items:center;gap:6px}.pet-profile-identity-btn{width:32px;min-width:32px;height:32px;padding:0!important;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border)!important;background:var(--bg-subtle)!important;color:var(--text)!important;border-radius:var(--radius)!important}.pet-profile-identity-btn:hover{border-color:#c8d8e8!important;background:#eef6fc!important;color:var(--accent-hover)!important}.pet-profile-identity-actions .pet-profile-identity-btn{padding:0!important}.pet-profile-identity-actions .pet-manager-trigger-icon,.pet-profile-identity-actions .pet-profile-identity-btn svg{width:16px;height:16px}.pet-profile-identity-actions .pet-profile-identity-btn span[hidden]{display:none}.pet-profile-identity-actions #petCardAddPetBtn,.pet-profile-identity-actions #petCardLinkedRecipesBtn{width:32px;min-width:32px;padding:0!important}.pet-profile-name-row{display:flex;align-items:center;gap:8px;min-width:0;margin-bottom:2px}.pet-profile-name{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:18px;font-weight:700;color:#1f2d3a}.pet-profile-extra,.pet-profile-meta,.pet-profile-status{font-size:13px;color:var(--text-secondary);line-height:1.65;overflow-wrap:anywhere}.pet-profile-status-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;line-height:1.5;overflow-wrap:anywhere}.pet-profile-status-row .pet-profile-extra,.pet-profile-status-row .pet-profile-status{display:contents}.pet-profile-tag{display:inline-flex;align-items:center;padding:2px 8px;font-size:12px;font-weight:400;color:var(--text-secondary);background:#f0f2f5;border:none;border-radius:var(--radius);line-height:1.5;white-space:nowrap}.pet-profile-tag-missing{gap:3px;color:#9a3412;background:#fff7ed;border:none}.pet-profile-tag-missing.pet-profile-tag-clickable{cursor:pointer}.pet-profile-tag-missing.pet-profile-tag-clickable:hover{background:#ffedd5}.pet-profile-tag-missing.pet-profile-tag-clickable:focus-visible{outline:2px solid #fb923c;outline-offset:1px}.pet-profile-missing-icon{display:inline-flex;align-items:center;flex-shrink:0;line-height:1}.pet-profile-gender-icon{display:inline-flex;align-items:center;vertical-align:-2px;line-height:1}.pet-profile-meta-icon{display:inline-flex;align-items:center;vertical-align:-2px;color:#8a949e;line-height:1}.pet-profile-sep{display:inline-block;margin:0 8px;color:var(--border-strong);font-weight:400}.pet-profile-energy{grid-column:1/-1;grid-row:2;min-width:0;padding-top:10px;border-top:none}.pet-profile-energy .energy-summary{display:flex;flex-wrap:nowrap;align-items:stretch;gap:15px}.pet-profile-energy .metric-box{flex:1 1 0;min-width:0;padding:15px}.pet-profile-energy .metric-value{font-size:20px}.pet-profile-plan-summary{grid-column:2;grid-row:1;background:var(--bg-subtle);border:1px solid var(--border);color:inherit;padding:10px;display:flex;flex-direction:row;align-items:stretch;gap:10px;min-width:0}.pet-profile-plan-main{flex:1 1 auto;appearance:none;border:none;background:0 0;color:inherit;padding:0 0 0 8px;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:12px;text-align:left;cursor:pointer;min-width:0}.pet-profile-plan-main:focus-visible{outline:0}.pet-profile-plan-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;color:var(--accent-hover)}.pet-profile-plan-icon svg{width:25px;height:25px}.pet-profile-plan-text{min-width:0;display:flex;flex-direction:column;justify-content:center}.pet-profile-plan-summary:hover{background:#eef6fc}.pet-profile-plan-side{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:8px;padding-right:5px}.pet-profile-plan-date{font-size:12px;color:var(--text-muted);white-space:nowrap;line-height:1.2}.pet-profile-plan-nav{display:flex;flex-direction:row;gap:4px}.pet-profile-plan-nav-btn{width:24px;height:24px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);background:#fff;color:var(--accent-hover);cursor:pointer}.pet-profile-plan-nav-btn:hover{border-color:#c8d8e8;background:#eef6fc;color:var(--accent-hover)}.pet-profile-plan-count{font-size:15px;font-weight:600;color:var(--text);line-height:1.35;margin-bottom:4px}.pet-profile-plan-dates{display:flex;flex-wrap:wrap;align-items:center;gap:0;font-size:12px;color:var(--text-muted);line-height:1.5;overflow-wrap:anywhere}.pet-profile-plan-dates .feeding-plan-status-tag{flex-shrink:0;margin-right:8px}.pet-profile-plan-meta-tag{display:inline-flex;align-items:center;padding:0;font-size:12px;font-weight:400;color:var(--text-muted);background:0 0;border:none;line-height:1.5;white-space:nowrap}.pet-profile-plan-meta-sep{display:inline-block;width:1px;height:12px;margin:0 8px;background:var(--border-strong);flex-shrink:0}.pet-profile-edit-modal-content{width:560px;max-width:calc(100vw - 32px);max-height:88vh}#petProfileEditModal .pet-profile-edit-modal-content{width:560px;max-width:calc(100vw - 32px);max-height:88vh}.pet-profile-edit-modal-body{overflow-y:auto}.pet-profile-edit-form{display:flex;flex-direction:column;gap:0;border:none;padding:0;margin-bottom:0}.pet-profile-edit-form select:has(option[value=""]:checked){color:var(--text-muted)}.pet-profile-edit-form select option{color:var(--text)}.pet-breed-combobox{position:relative}.pet-breed-search-input{width:100%;box-sizing:border-box}.pet-breed-search-input:disabled{background:var(--bg-app);color:var(--text-muted);cursor:not-allowed}.pet-breed-search-input.pet-breed-search-empty:not(:focus){color:var(--text-muted)}.pet-breed-search-results{position:absolute;left:0;top:100%;margin-top:2px;width:100%;max-height:220px;overflow-y:auto;background:#fff;border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:0 4px 12px rgba(0,0,0,.12);z-index:1200}.pet-breed-search-item{padding:8px 10px;cursor:pointer;border-bottom:1px solid var(--border);font-size:13px;line-height:1.35;color:var(--text)}.pet-breed-search-item:last-child{border-bottom:none}.pet-breed-search-item.is-highlighted,.pet-breed-search-item:hover{background:#f0f4f8}.pet-breed-search-item-clear{color:var(--text-secondary)}.pet-breed-search-alias{display:block;margin-top:2px;color:var(--text-muted);font-size:12px}.pet-breed-search-hint{padding:10px 12px;color:var(--text-muted);font-size:12px}.pet-profile-edit-avatar-wrap{width:100%;display:flex;flex-direction:row;justify-content:center;align-items:center;margin-bottom:16px}.pet-profile-edit-avatar-controls{display:flex;flex-direction:column;align-items:center;gap:8px}.pet-profile-edit-avatar-field{display:flex;flex-direction:column;align-items:center;gap:8px}.pet-profile-edit-avatar-slot{position:relative;width:72px;height:72px}.pet-profile-edit-avatar-upload{display:block;cursor:pointer;user-select:none}.pet-profile-edit-avatar-remove-btn{position:absolute;top:3px;right:-2px;left:auto;z-index:2;width:16px;height:16px;padding:0;border:1px solid #fff;border-radius:50%;background:#2c343c;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.16)}.pet-profile-edit-avatar-remove-btn[hidden]{display:none}.pet-profile-edit-avatar-remove-btn:hover{background:#e74c3c}.pet-profile-edit-avatar-remove-btn svg{display:block}.basic-info-card.pet-profile-edit-form>.pet-profile-edit-avatar-wrap{display:flex;justify-content:center;align-items:center;width:100%;align-self:stretch;margin-bottom:16px}.pet-profile-edit-avatar{position:relative;width:72px;height:72px;flex:0 0 72px;border-radius:50%;border:1px solid var(--border);background:#f6f9fb;color:#c2cad2;display:flex;align-items:center;justify-content:center;overflow:hidden}.pet-profile-edit-avatar img{width:100%;height:100%;object-fit:cover}.pet-profile-edit-avatar.has-breed-image img{transform:scale(1.26)}.pet-profile-edit-avatar.has-custom-avatar img{transform:none}.pet-profile-edit-avatar .pet-profile-avatar-placeholder{display:block;width:18px;height:18px;flex-shrink:0}.pet-profile-edit-form>.form-group:last-child{margin-bottom:0}.pet-profile-edit-actions{border-top:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px}.pet-profile-edit-feeding-days{flex:0 1 auto;min-width:0}.pet-profile-edit-feeding-days-field{display:flex;align-items:center;gap:8px;height:34px;padding:0 10px;border:1px solid var(--border);background:#fff}.pet-profile-edit-feeding-days-label{flex:0 0 auto;font-size:13px;font-weight:600;color:var(--text-secondary);white-space:nowrap}.pet-profile-edit-feeding-days-field input[type=number]{flex:0 0 52px;width:52px;min-width:0;height:auto;align-self:center;padding:0;border:none;outline:0;background:0 0;font-size:14px;line-height:1.2;text-align:right;-moz-appearance:textfield;appearance:textfield}.pet-profile-edit-feeding-days-field input[type=number]::-webkit-inner-spin-button,.pet-profile-edit-feeding-days-field input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.pet-profile-edit-feeding-days-unit{flex:0 0 auto;display:inline-flex;align-items:center;align-self:center;height:100%;font-size:13px;line-height:1;color:var(--text-muted);white-space:nowrap}.pet-profile-edit-actions-btns{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex:0 0 auto;margin-left:auto}.food-recipe-card{--food-recipe-content-height:400px;--food-recipe-left-width:380px;display:flex;flex-direction:column;width:100%;min-width:0;min-height:0;overflow:hidden}.food-recipe-content-panel{display:flex;flex-direction:column;flex:1;min-height:0}.food-recipe-content-resizer{flex-shrink:0;height:10px;margin:8px 0 0;cursor:row-resize;touch-action:none;position:relative;border-radius:var(--radius)}.food-recipe-content-resizer::before{content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:48px;height:4px;border-radius:var(--radius);background:rgba(0,0,0,.12);transition:background .15s}.food-recipe-content-resizer:hover::before,body.food-recipe-content-resizing .food-recipe-content-resizer::before{background:var(--accent)}body.food-recipe-content-resizing{cursor:row-resize!important;user-select:none}body.food-recipe-content-resizing *{cursor:row-resize!important}body.food-recipe-left-resizing{cursor:col-resize!important;user-select:none}body.food-recipe-left-resizing *{cursor:col-resize!important}.food-recipe-content{display:grid;grid-template-columns:var(--food-recipe-left-width) 16px minmax(0,1fr);grid-template-rows:var(--food-recipe-content-height);gap:0;flex:1;min-height:0;overflow:hidden;align-items:stretch}.food-recipe-left-resizer{width:100%;margin:0;cursor:col-resize;touch-action:none;position:relative;align-self:stretch;z-index:2;background:0 0}.food-pie-chart-wrapper{height:100%;min-height:0;max-height:var(--food-recipe-content-height);overflow:hidden;background:var(--bg-subtle);border:1px solid var(--border);padding:0;display:flex;flex-direction:column}.food-left-accordion{gap:0}.food-left-pane{display:flex;flex-direction:column;min-height:0;flex:0 0 auto;border-bottom:1px solid var(--border)}.food-left-pane:last-child{border-bottom:none}.food-left-pane.is-expanded{flex:1 1 auto;min-height:0}.food-left-pane-header{display:flex;align-items:center;width:100%;margin:0;padding:8px 10px;border:none;background:0 0;color:var(--text);font-size:12px;font-weight:600;text-align:left;cursor:pointer;flex:0 0 auto;gap:8px;box-sizing:border-box;opacity:1;transition:opacity .15s ease}.food-left-pane:not(.is-expanded)>.food-left-pane-header{opacity:.45}.food-left-pane:not(.is-expanded)>.food-left-pane-header:hover{opacity:.75}.food-left-pane-header--ratio:hover,button.food-left-pane-header:hover{background:rgba(0,0,0,.03)}.food-left-pane-header::after{content:'';margin-left:auto;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid var(--text-secondary);opacity:.7;transition:transform .15s ease;flex-shrink:0}.food-left-pane.is-expanded>.food-left-pane-header::after{transform:rotate(180deg)}.food-left-pane-header--ratio{cursor:pointer}.food-left-pane-header--ratio::after{margin-left:0}.food-left-pane-header-main{margin:0;padding:0;color:inherit;font:inherit;font-weight:600;flex:0 0 auto;white-space:nowrap;pointer-events:none}.food-left-pane-header-tools{flex:1 1 auto;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px;align-self:stretch}.food-left-pane-header--overview .food-left-pane-header-tools,.food-left-pane-header--ratio .food-left-pane-header-tools{display:none}.food-left-pane.is-expanded>.food-left-pane-header--overview .food-left-pane-header-tools,.food-left-pane.is-expanded>.food-left-pane-header--ratio .food-left-pane-header-tools{display:flex}.food-left-pane-header--ratio .btn-food-proportion-list{flex-shrink:0}.food-left-pane-header--ratio .chart-mode-toggle{margin-left:auto;flex-shrink:0}.food-left-pane-header--overview .food-left-pane-header-tools{justify-content:flex-end}.food-left-pane-header--overview .nutrition-display-mode-toggle{margin-left:auto;max-width:100%}.food-left-pane-header--overview .nutrition-display-mode-toggle .ndm-btn{height:24px;padding:0 9px;font-size:11px}.food-left-pane:not(.is-expanded)>.food-left-pane-header--overview::after,.food-left-pane:not(.is-expanded)>.food-left-pane-header--ratio::after{margin-left:auto}.food-left-pane-header--overview::after{margin-left:0}.food-left-pane-header--overview{cursor:pointer}.food-left-pane-body{display:none;flex:1 1 auto;min-height:0;flex-direction:column;padding:0 10px 10px;overflow:hidden}.food-left-pane.is-expanded>.food-left-pane-body{display:flex}.food-left-pane-body-ratio{position:relative}.food-left-pane-body-ratio.is-chart-pending #foodPieChart{visibility:hidden}.food-left-pane-empty{display:flex;align-items:center;justify-content:center;flex:1;min-height:120px;color:var(--text-secondary);font-size:12px}.food-left-pane-empty[hidden]{display:none!important}.nutrition-overview-tabs{display:flex;flex-wrap:wrap;gap:4px 8px;margin-bottom:4px;flex:0 0 auto;border-bottom:none}.nutrition-overview-tab{appearance:none;-webkit-appearance:none;margin:0;border:none;background:0 0;color:var(--text-muted);font:inherit;font-size:13px;font-weight:500;line-height:1.2;padding:6px 4px;border-bottom:2px solid transparent;border-radius:0;cursor:pointer;box-shadow:none;outline:0;margin-bottom:-1px}.nutrition-overview-tab:hover{color:var(--text-secondary)}.nutrition-overview-tab.is-active{color:var(--accent);border-bottom-color:var(--accent);background:0 0;font-weight:600}.nutrition-overview-tab:focus-visible{color:var(--accent);outline:0}.nutrition-overview-list{flex:1 1 auto;min-height:0;overflow:auto;display:flex;flex-direction:column}.nutrition-overview-empty{flex:1 1 auto;display:flex;align-items:center;justify-content:center;min-height:120px;padding:18px 8px;text-align:center;color:var(--text-secondary);font-size:12px}.nutrition-overview-rows{display:flex;flex-direction:column;gap:2px}.nutrition-overview-head,.nutrition-overview-row{display:grid;grid-template-columns:minmax(64px,1.4fr) 32px minmax(44px,1fr) minmax(36px,0.9fr) minmax(36px,0.9fr) minmax(36px,0.9fr);gap:4px;align-items:center;font-size:13px}.nutrition-overview-head{color:var(--text-secondary);padding:4px 4px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg-muted);z-index:1}.nutrition-overview-row{padding:3px 2px;border-radius:3px}.nutrition-overview-row:hover{background:rgba(0,0,0,.03)}.nutrition-overview-name{font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.nutrition-overview-unit{color:var(--text-secondary);font-size:13px;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nutrition-overview-max,.nutrition-overview-min,.nutrition-overview-provided,.nutrition-overview-ra-val{color:var(--text);font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}.nutrition-overview-head .nutrition-overview-unit{text-align:center}.nutrition-overview-head .nutrition-overview-max,.nutrition-overview-head .nutrition-overview-min,.nutrition-overview-head .nutrition-overview-provided,.nutrition-overview-head .nutrition-overview-ra-val{text-align:right}.nutrition-overview-value-inner{display:inline-flex;align-items:center;justify-content:flex-end;gap:2px;max-width:100%}.nutrition-overview-value-inner.is-high,.nutrition-overview-value-inner.is-low{color:#c0392b;font-weight:600}.nutrition-overview-value-inner.is-below-rec{color:#f39c12;font-weight:600}.nutrition-overview-arrow{flex-shrink:0;vertical-align:middle}.food-pie-chart-container{background:0 0;border:none;border-radius:var(--radius);padding:0;height:100%;min-height:0;display:flex;flex-direction:column;flex:1 1 auto}.food-stacked-chart-wrapper{width:100%;border:1px solid var(--border);background:var(--bg-subtle);padding:10px;margin-top:8px}.food-stacked-chart-container{background:0 0;border:none;border-radius:var(--radius);padding:0;width:100%;display:flex;flex-direction:column}.food-pie-chart-title,.food-stacked-chart-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.food-stacked-chart-title{display:inline-flex;align-items:baseline;font-size:12px;font-weight:600;color:var(--text)}.food-stacked-chart-title-basis{font-weight:400;color:var(--text-secondary);font-size:11px;margin-left:2px}.food-stacked-chart-mode-badge{display:inline-block;font-size:11px;font-weight:500;padding:1px 6px;border-radius:var(--radius);margin-left:5px;vertical-align:middle;line-height:1.6}.food-stacked-chart-mode-badge--daily{background:#eaf4fb;color:var(--accent-hover)}.food-stacked-chart-mode-badge--1000{background:#d6edf8;color:#1a6fa0}.food-stacked-chart-mode-badge--recipe-total{background:#e8f5e9;color:#2e7d32}.food-stacked-chart-mode-badge--dry-basis{background:#f3e5f5;color:#6a1b9a}.food-stacked-chart-filter-wrap{position:relative;display:flex;align-items:center;flex-shrink:0}.stacked-chart-filter-dropdown{position:absolute;right:0;top:100%;margin-top:4px;min-width:260px;overflow-y:auto;padding:8px;background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 12px rgba(0,0,0,.1);z-index:100}.stacked-chart-filter-dropdown label{display:flex;align-items:center;gap:6px;padding:4px 0;font-size:12px;cursor:pointer}.stacked-chart-filter-dropdown input{cursor:pointer}.stacked-chart-filter-category-block{margin-bottom:6px}.stacked-chart-filter-category-block:last-child{margin-bottom:0}.stacked-chart-filter-category-label{font-weight:600}.stacked-chart-filter-nutrient-list{padding-left:20px;margin-top:2px}.stacked-chart-filter-nutrient-label{padding:2px 0;font-weight:400}.food-stacked-chart-header-right{display:flex;align-items:center;gap:8px}.food-stacked-chart-axis-short-wrap{display:none;align-items:center;align-self:center;flex-shrink:0}.food-stacked-chart-axis-short-wrap.is-visible{display:flex;align-items:center;gap:12px;margin-right:5px}.btn-stacked-filter{height:22px;padding:0 8px;font-size:12px;line-height:20px;border:1px solid var(--border-strong);background:#fff;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius)}.btn-stacked-filter:hover{border-color:var(--accent);color:var(--accent)}.food-stacked-chart-view-toggle{display:flex;align-items:center;gap:4px}.food-stacked-chart-view-toggle button{height:22px;padding:0 8px;border:1px solid var(--border-strong);background:#fff;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius);font-size:12px;line-height:20px;transition:border-color .2s,color .2s}.food-stacked-chart-view-toggle button:hover{border-color:var(--accent);color:var(--accent)}.food-stacked-chart-view-toggle button.active{border-color:var(--accent);background:var(--accent);color:#fff}.food-stacked-chart-list-view{width:100%;min-height:200px;max-height:420px;margin-top:8px;background:#fff;border:1px solid var(--border);overflow:hidden}.food-stacked-chart-list-scroll{overflow:auto;max-height:420px}.food-stacked-chart-list-table{width:max-content;min-width:100%;border-collapse:collapse;font-size:12px}.food-stacked-chart-list-table thead th{position:sticky;top:0;z-index:1;background:var(--bg-subtle);padding:8px;text-align:left;border-bottom:1px solid var(--border);font-weight:600;color:var(--text);white-space:nowrap}.food-stacked-chart-list-table tbody td{padding:8px;border-bottom:1px solid var(--border);color:var(--text)}.food-stacked-chart-list-table tbody tr.is-chart-synced,.food-stacked-chart-list-table tbody tr:hover{background:var(--bg-subtle)}.food-stacked-chart-list-table .food-stacked-list-col-amount,.food-stacked-chart-list-table .food-stacked-list-col-calories,.food-stacked-chart-list-table .food-stacked-list-col-name{position:sticky;z-index:2;background:#fff;box-shadow:1px 0 0 0 #fff,2px 0 4px rgba(0,0,0,.06)}.food-stacked-chart-list-table thead tr.food-stacked-list-head-main th.food-stacked-list-col-amount,.food-stacked-chart-list-table thead tr.food-stacked-list-head-main th.food-stacked-list-col-calories,.food-stacked-chart-list-table thead tr.food-stacked-list-head-main th.food-stacked-list-col-name{z-index:4;background:var(--bg-subtle);box-shadow:1px 0 0 0 var(--bg-subtle),2px 0 4px rgba(0,0,0,.06)}.food-stacked-chart-list-table tfoot td.food-stacked-list-col-amount,.food-stacked-chart-list-table tfoot td.food-stacked-list-col-calories,.food-stacked-chart-list-table tfoot td.food-stacked-list-col-name{z-index:4;background:var(--bg-subtle);box-shadow:1px 0 0 0 var(--bg-subtle),2px 0 4px rgba(0,0,0,.06)}.food-stacked-chart-list-table .food-stacked-list-col-name{width:var(--stacked-list-col1-width,max-content);min-width:var(--stacked-list-col1-width,max-content);white-space:nowrap;left:0}.food-stacked-chart-list-table .food-stacked-list-col-amount{min-width:72px;text-align:right;left:calc(var(--stacked-list-col1-width,200px) - 1px)}.food-stacked-chart-list-table .food-stacked-list-col-calories{min-width:80px;text-align:right;left:calc(var(--stacked-list-col1-width,200px) + var(--stacked-list-col2-width,72px) - 1px)}.food-stacked-chart-list-table tbody tr.is-chart-synced .food-stacked-list-col-amount,.food-stacked-chart-list-table tbody tr.is-chart-synced .food-stacked-list-col-calories,.food-stacked-chart-list-table tbody tr.is-chart-synced .food-stacked-list-col-name,.food-stacked-chart-list-table tbody tr:hover .food-stacked-list-col-amount,.food-stacked-chart-list-table tbody tr:hover .food-stacked-list-col-calories,.food-stacked-chart-list-table tbody tr:hover .food-stacked-list-col-name{background:var(--bg-subtle)}.food-stacked-chart-list-table tbody tr.food-stacked-list-row-disabled .food-stacked-list-col-amount,.food-stacked-chart-list-table tbody tr.food-stacked-list-row-disabled .food-stacked-list-col-calories,.food-stacked-chart-list-table tbody tr.food-stacked-list-row-disabled .food-stacked-list-col-name{background:var(--bg-subtle)}.food-stacked-chart-list-table tbody tr.food-stacked-list-row-disabled:hover .food-stacked-list-col-amount,.food-stacked-chart-list-table tbody tr.food-stacked-list-row-disabled:hover .food-stacked-list-col-calories,.food-stacked-chart-list-table tbody tr.food-stacked-list-row-disabled:hover .food-stacked-list-col-name{background:var(--border)}.food-stacked-chart-list-table thead tr.food-stacked-list-loss-row th{top:var(--stacked-list-thead-h1,39px);z-index:1;font-weight:400;font-size:11px;color:var(--text-secondary)}.food-stacked-chart-list-table thead tr.food-stacked-list-loss-row th.food-stacked-list-col-amount,.food-stacked-chart-list-table thead tr.food-stacked-list-loss-row th.food-stacked-list-col-calories,.food-stacked-chart-list-table thead tr.food-stacked-list-loss-row th.food-stacked-list-col-name{position:sticky;z-index:3;background:#eef1f5;box-shadow:1px 0 0 0 #eef1f5,2px 0 4px rgba(0,0,0,.05)}.food-stacked-chart-list-table thead tr.food-stacked-list-loss-row th.food-stacked-list-col-nutrient{text-align:right;background:#eef1f5;font-variant-numeric:tabular-nums}.food-stacked-chart-list-table thead tr.food-stacked-list-head-main th{top:0}.food-stacked-chart-list-table .food-stacked-list-col-nutrient{min-width:70px;text-align:right}.food-stacked-chart-list-table .food-stacked-list-col-nutrient.is-nutrient-col-focused{background:rgba(37,99,235,.12);box-shadow:inset 0 0 0 1px rgba(37,99,235,.28)}.food-stacked-chart-list-table thead tr.food-stacked-list-head-main th.food-stacked-list-col-nutrient.is-nutrient-col-focused{background:rgba(37,99,235,.18);color:var(--accent,#2563eb)}.food-stacked-chart-list-table thead tr.food-stacked-list-loss-row th.food-stacked-list-col-nutrient.is-nutrient-col-focused{background:rgba(37,99,235,.14)}.food-stacked-chart-list-table tbody tr.food-stacked-list-row-disabled{color:var(--text-muted);background:var(--bg-subtle)}.food-stacked-chart-list-table tbody td.food-stacked-list-name-disabled{text-decoration:line-through}.food-stacked-chart-list-table tbody tr.food-stacked-list-row-disabled:hover{background:var(--border)}.food-stacked-chart-list-table tfoot{position:sticky;bottom:0;z-index:4}.food-stacked-chart-list-table tfoot tr{background:var(--bg-subtle);font-weight:600}.food-stacked-chart-list-table tfoot td{padding:8px;border-bottom:none;border-top:1px solid var(--border)}.food-stacked-chart-list-table tfoot tr.food-stacked-list-nrc-row{font-weight:500;background:#f0f2f5}.food-stacked-chart-list-table tfoot tr.food-stacked-list-nrc-row td.food-stacked-list-col-amount,.food-stacked-chart-list-table tfoot tr.food-stacked-list-nrc-row td.food-stacked-list-col-calories,.food-stacked-chart-list-table tfoot tr.food-stacked-list-nrc-row td.food-stacked-list-col-name{background:#f0f2f5}.food-stacked-chart-list-table tfoot td.food-stacked-list-col-nutrient.food-stacked-list-nrc-below-rec .food-stacked-nrc-cell-inner,.food-stacked-chart-list-table tfoot td.food-stacked-list-col-nutrient.food-stacked-list-nrc-high .food-stacked-nrc-cell-inner,.food-stacked-chart-list-table tfoot td.food-stacked-list-col-nutrient.food-stacked-list-nrc-low .food-stacked-nrc-cell-inner{display:inline-flex;align-items:center;gap:4px}.food-stacked-chart-list-table tfoot td.food-stacked-list-col-nutrient.food-stacked-list-nrc-low{color:#c0392b}.food-stacked-chart-list-table tfoot td.food-stacked-list-col-nutrient.food-stacked-list-nrc-below-rec{color:#f39c12}.food-stacked-chart-list-table tfoot td.food-stacked-list-col-nutrient.food-stacked-list-nrc-high{color:#c0392b}.food-stacked-chart-list-table tfoot td.food-stacked-list-col-nutrient .food-stacked-nrc-arrow{flex-shrink:0;vertical-align:middle}.chart-mode-toggle{display:flex;gap:4px;font-size:11px}.chart-mode-toggle button{padding:2px 8px;border:1px solid var(--border-strong);background:#fff;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius);font-size:11px;transition:all .2s}.chart-mode-toggle button:hover{border-color:var(--accent);color:var(--accent)}.chart-mode-toggle button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.food-pie-chart-title-right{display:flex;align-items:center;gap:8px}.btn-food-proportion-list{padding:2px 8px;border:1px solid var(--border-strong);background:#fff;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius);font-size:11px;transition:all .2s}.btn-food-proportion-list:hover{border-color:var(--accent);color:var(--accent)}#foodPieChart{width:100%;height:100%;flex:1;min-height:0}#foodStackedChart{width:100%;height:100%;flex:1;min-height:0}.fcb-stacked-tip-outer{padding:0!important;border:none!important;background:0 0!important;box-shadow:none!important;max-width:none!important;z-index:100002!important}.fcb-stacked-tip{padding:10px 12px;min-width:200px;max-width:340px;box-sizing:border-box;background:#fff;border-radius:var(--radius);box-shadow:0 6px 20px rgba(0,0,0,.1);font-size:13px;line-height:1.35;color:var(--text);text-align:left}.fcb-stacked-tip-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.fcb-stacked-tip-nutrient-wrap{min-width:0;flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding-right:4px}.fcb-stacked-tip-nutrient-wrap .fcb-stacked-tip-nutrient{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.fcb-stacked-tip-head-loss{font-size:11px;font-weight:400;color:#7a8796;line-height:1.2}.fcb-stacked-tip-status{flex-shrink:0;font-size:12px;font-weight:500}.fcb-stacked-tip-cards{margin-top:8px;margin-bottom:2px}.fcb-stacked-tip-bounds-strip{display:flex;flex-direction:row;align-items:stretch;background:#f5f9fc;border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px;min-width:0}.fcb-stacked-tip-bounds-col{flex:1;min-width:0}.fcb-stacked-tip-bounds-vbar{width:1px;flex-shrink:0;margin:0 12px;background:#d5e4ef;align-self:stretch}.fcb-stacked-tip-card-label{font-size:11px;color:#7a8796;margin-bottom:4px;font-weight:500}.fcb-stacked-tip-card-val{font-size:12px;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums;line-height:1.35;word-break:break-all}.fcb-stacked-tip-dot{flex-shrink:0;width:9px;height:9px;border-radius:50%;display:inline-block}.fcb-stacked-tip-divider{height:1px;background:var(--border);margin:8px 0 6px}.fcb-stacked-tip-total{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;gap:10px}.fcb-stacked-tip-total-l{color:#5a6775;font-size:12px}.fcb-stacked-tip-total-val{font-weight:600;font-size:13px;color:#222;font-variant-numeric:tabular-nums;text-align:right;line-height:1.25}.fcb-stacked-tip-val-main{font-weight:600;font-size:13px;color:#222;font-variant-numeric:tabular-nums;line-height:1.25;max-width:200px;word-break:break-all}.fcb-stacked-tip-ing .fcb-stacked-tip-val-main{font-weight:400}.fcb-stacked-tip-list{display:flex;flex-direction:column;gap:2px}.fcb-stacked-tip-ing{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:4px 8px;margin:0 -8px;border-radius:var(--radius)}.fcb-stacked-tip-ing-l{display:inline-flex;align-items:center;gap:6px;min-width:0}.fcb-stacked-tip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px}.fcb-stacked-tip-ing-val{flex-shrink:0;display:inline-flex;align-items:center;justify-content:flex-end;text-align:right}.fcb-stacked-tip-ing-active{background:rgba(52,152,219,.1)}#foodStackedChart+div div[style*=overflow]{overflow:visible!important}#foodStackedChart~div .echarts-legend{flex-wrap:wrap!important;display:flex!important}.basic-info-card{display:grid;grid-template-columns:1fr 1fr;gap:15px;align-items:start}.basic-info-card .card-title{grid-column:1/-1;margin-bottom:0}.basic-info-card .btn-primary{grid-column:1/-1}.basic-info-card .pet-card-actions-row{grid-column:1/-1;display:flex;gap:8px;align-items:stretch;flex-wrap:wrap}.basic-info-card .pet-card-actions-row .btn{flex:1;min-width:0;min-height:38px;margin:0}.basic-info-card .pet-card-actions-row #petCardAddPetBtn{background:var(--bg-subtle);border:none}.basic-info-card .pet-card-actions-row #petCardAddPetBtn:hover{background:var(--border)}.basic-info-card>div:not(.card-title):not(.btn-primary):not(.form-group-row):not(.pet-profile-edit-avatar-wrap){display:flex;flex-direction:column}.basic-info-card.pet-profile-edit-form{display:flex;flex-direction:column;gap:0}.basic-info-card.pet-profile-edit-form>.form-group-row{display:flex;flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:15px;margin-bottom:15px;width:100%}.basic-info-card.pet-profile-edit-form>.form-group{width:100%}.basic-info-card.pet-profile-edit-form #bcsGroup{margin-bottom:15px}.basic-info-card.pet-profile-edit-form #bcsGroup .ideal-weight-bcs-section{margin-bottom:0}.basic-info-card.pet-profile-edit-form .form-group-row>.form-group{flex:1 1 0;min-width:140px;margin-bottom:0!important}.basic-info-card.pet-profile-edit-form .birth-age-display{color:var(--text-secondary);font-size:13px;font-weight:400;margin-left:0}.basic-info-card.pet-profile-edit-form .birth-date-fields{display:flex;gap:10px;height:38px;flex-shrink:0}.basic-info-card.pet-profile-edit-form .birth-date-field{flex:1 1 0;min-width:0;position:relative}.basic-info-card.pet-profile-edit-form .birth-date-field input{width:100%;padding-right:30px}.basic-info-card.pet-profile-edit-form .birth-date-suffix{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:14px;pointer-events:none}.form-group-row{display:flex;gap:15px;margin-bottom:15px}.basic-info-card .form-group{margin-bottom:15px;box-sizing:border-box;display:flex;flex-direction:column}.form-group-row .form-group{flex:1;margin-bottom:0!important;display:flex;flex-direction:column}.basic-info-card .form-group label{height:18px;line-height:18px;margin-bottom:5px;flex-shrink:0}.basic-info-card .form-group input,.basic-info-card .form-group select{height:38px;box-sizing:border-box;flex-shrink:0}.basic-info-card .form-group>div[style*="display: flex"]{height:38px;flex-shrink:0}.basic-info-card .form-group>div[style*="display: flex"] input{height:38px}.form-group-row .form-group{display:flex;flex-direction:column}.form-group-row .form-group label{height:18px;line-height:18px;margin-bottom:5px}.form-group-row .form-group input,.form-group-row .form-group select{height:38px}.form-group-row .form-group[style*="display: none"]{display:none!important}.form-group-row .form-group:only-child{flex:1}.nutrition-standards-block{width:100%;margin-bottom:0;display:flex;flex-direction:column;gap:var(--nutrient-left-section-gap,10px)}.nutrient-macro-bars{display:flex;flex-direction:column;gap:12px;margin-top:10px;width:100%;min-width:0}.macro-bar-group{display:flex;flex-direction:column;gap:4px}.macro-bar-label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:var(--text-secondary)}.macro-bar-title{font-size:12px;font-weight:700}.macro-bar-legend{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;font-weight:400;color:var(--text-secondary)}.macro-bar-legend-item{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.macro-bar-legend-swatch{display:inline-block;width:10px;height:10px;border-radius:var(--radius);flex-shrink:0}.macro-bar-legend-pct{font-size:12px;font-weight:400;color:var(--text-secondary);font-variant-numeric:tabular-nums}.macro-bar{position:relative;display:flex;width:100%;height:22px;background:var(--bg-subtle);overflow:hidden}.macro-bar-empty{display:flex;align-items:center;justify-content:center;width:100%;color:#9aa0a6;font-size:11px}.macro-bar-seg{display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:500;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:clip;transition:width .2s ease;border-radius:0}.macro-bar-legend-swatch.macro-protein,.macro-bar-seg.macro-protein{background:#7599b2}.macro-bar-legend-swatch.macro-fat,.macro-bar-seg.macro-fat{background:#b19365}.macro-bar-legend-swatch.macro-carb,.macro-bar-seg.macro-carb{background:#73ab8c}.macro-bar-legend-swatch.macro-other,.macro-bar-seg.macro-other{background:rgba(127,140,141,.55)}.macro-bar-seg.macro-other{color:var(--text)}.macro-dm-proximate-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;min-width:0}.macro-dm-proximate-card{display:flex;flex-direction:column;gap:2px;padding:8px 10px;background:var(--bg-subtle);border-radius:var(--radius);min-width:0;width:100%;box-sizing:border-box}.macro-dm-proximate-card-title{font-size:11px;font-weight:600;color:var(--text-secondary);line-height:1.3}.macro-dm-proximate-card-value{font-size:16px;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums;line-height:1.2}.macro-dm-proximate-card-value--empty{font-size:14px;font-weight:500;color:#9aa0a6}.macro-dm-proximate-card-meta{font-size:11px;color:#777;font-variant-numeric:tabular-nums}.nutrition-standards-block .standards-section{margin-bottom:0}.nutrition-standards-block .nrc-standalone-section .standards-card-hint{margin-top:6px}.regulatory-standards-section>.nutrition-standards-list-vertical{margin-bottom:10px}.standards-section-title{font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:6px}#nrcStandardItem .nutrition-standard-item{cursor:default}#nrcStandardItem .nutrition-standard-item input[type=checkbox]{cursor:not-allowed}.standards-card-hint{font-size:11px;color:var(--text-muted);line-height:1.5}.nutrition-standards-list-vertical{display:flex;flex-direction:column;gap:6px}.nutrition-standards-list-vertical .nutrition-standard-item{width:100%;box-sizing:border-box}.nutrition-standard-item{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--bg-app);border:none;cursor:pointer;transition:all .15s;font-size:12px}.nutrition-standard-item:hover{background:var(--border)}.nutrition-standard-item.selected{background:#e8eef5}.nutrition-standard-item input[type=checkbox]{margin:0;cursor:pointer;width:13px;height:13px}.nutrition-standard-name{color:var(--text-secondary);white-space:nowrap;flex:1;min-width:0}.life-stage-badge{font-size:11px;color:var(--text-secondary);background:var(--border);padding:1px 5px;white-space:nowrap;margin-left:auto}.nutrition-standard-item.selected .life-stage-badge{background:#c5d4e4;color:#455a64}.food-recipe-section{width:100%}.nutrient-section{width:100%}.nutrient-section .card{min-height:380px}.nutrient-content{display:grid;grid-template-columns:1fr;gap:20px;align-items:start}.nutrient-content.has-gauges,.nutrient-content.has-nutrition-sidebar{grid-template-columns:minmax(360px,420px) minmax(0,1fr)}.nutrient-right-area{display:flex;flex-direction:column;gap:16px;min-width:0}.nutrient-left-area{display:flex;flex-direction:column;gap:20px;position:sticky;top:20px;align-items:stretch;min-width:0}.nutrient-display-mode-bar{width:100%;min-width:0;flex-shrink:0}.nutrient-display-mode-bar .nutrition-display-mode-toggle{display:flex;width:100%;min-width:0}.nutrient-display-mode-bar .nutrition-display-mode-toggle .ndm-btn{flex:1 1 0;min-width:0;padding:0 6px}#nutrientRequirements{min-width:0;overflow-x:auto;max-width:100%}.nutrient-left-column{--nutrient-left-section-gap:10px;display:flex;flex-direction:column;gap:var(--nutrient-left-section-gap);position:sticky;top:20px;align-items:stretch}.nutrient-left-column .nutrient-display-mode-bar{margin-bottom:4px}.gauges-wrapper{display:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0;width:100%;margin-top:0}.gauges-wrapper.visible{display:grid}.gauge-container{position:relative;display:flex;flex-direction:column;align-items:center;min-width:0;background:var(--bg-surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:var(--radius);padding:14px 6px 6px}.gauge-delete-btn{position:absolute;top:5px;right:6px;width:20px;height:20px;padding:0;display:flex;align-items:center;justify-content:center;background:0 0;border:none;cursor:pointer;color:var(--border-strong);font-size:13px;border-radius:var(--radius);line-height:1;transition:color .15s,background .15s;z-index:3}.gauge-delete-btn:hover{color:#e74c3c;background:rgba(231,76,60,.08)}.gauge-title-icon{display:inline-block;margin-right:3px;font-size:12px;color:#bbb;cursor:pointer;transition:color .15s;vertical-align:middle}.gauge-title-editable:hover .gauge-title-icon,.gauge-title-icon:hover{color:var(--accent)}.gauge-container--empty{border:2px dashed #d0d5dd!important;cursor:pointer}.gauge-container--empty:hover{border-color:var(--accent)!important}.gauge-add-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#d0d5dd;transition:color .2s;user-select:none;z-index:1;border-radius:inherit}.gauge-container--empty:hover .gauge-add-placeholder{color:var(--accent)}.gauge{--size:150px;--thickness:14px;--font-num:12px;--font-readout:15px;--needle:220deg;width:var(--size);height:var(--size);position:relative;border-radius:50%;display:grid;place-items:center;margin:0 auto;user-select:none}.gauge-title{text-align:center;font-size:13px;font-weight:600;color:var(--text);margin-bottom:0;margin-top:0;line-height:1.2}.rim{position:absolute;inset:-12px;border-radius:50%;background:#f4f5f7;z-index:-1;box-shadow:0 12px 28px rgba(44,120,196,0)}.ring{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 360deg);z-index:0}.ring::after{content:"";position:absolute;inset:var(--thickness);border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}.nums,.ticks{position:absolute;inset:0;border-radius:50%;pointer-events:none;z-index:1}.tick{position:absolute;left:50%;top:50%;width:2px;height:calc(var(--size) * .48);transform-origin:50% 100%;transform:translate(-50%,-100%) rotate(var(--a))}.tick::before{content:"";position:absolute;left:50%;transform:translateX(-50%);top:0;width:2px;height:var(--h);background:rgba(0,0,0,.22);border-radius:var(--radius)}.tick.major::before{background:rgba(0,0,0,.42);height:12px}.num{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:var(--font-num);color:rgba(0,0,0,.55);background:0 0;padding:0}.needle{position:absolute;left:50%;top:50%;width:3px;height:calc(var(--size) * .4);background:#2b2b2b;border-radius:var(--radius);transform-origin:50% 92%;transform:translate(-50%,-92%) rotate(var(--needle));box-shadow:0 2px 8px rgba(0,0,0,.15);z-index:3}.hub{position:absolute;left:50%;top:50%;width:16px;height:16px;border-radius:50%;background:#f7f7f7;border:2px solid rgba(0,0,0,.5);transform:translate(-50%,-50%);z-index:4}.readout{position:absolute;left:50%;top:63%;transform:translate(-50%,-50%);background:#fff;border:1px solid rgba(0,0,0,.25);border-radius:var(--radius);padding:4px 10px;font-weight:800;font-size:var(--font-readout);box-shadow:0 4px 10px rgba(0,0,0,.06);z-index:2}.gauge-range-info{display:none;text-align:center;margin-top:10px;font-size:12px;color:var(--text-muted)}.gauge-ra-label{position:absolute;left:50%;top:78%;transform:translate(-50%,0);font-size:11px;line-height:1.2;color:var(--text-muted);z-index:2;pointer-events:none;white-space:nowrap}.gauge-ra-label:empty{display:none}.gauge-title-editable{cursor:pointer}.gauge-title-editable:hover{color:var(--accent)}.gauge-config-form-group{margin-bottom:14px}.gauge-config-form-group label{display:block;font-size:13px;color:var(--text);margin-bottom:4px}.gauge-config-input{width:100%;padding:6px 10px;font-size:13px;border:1px solid var(--border);box-sizing:border-box}.gauge-config-ratio-row{display:flex;gap:16px;margin-bottom:12px}.gauge-config-list-group{flex:1;min-width:0}.gauge-config-list-group label{display:block;font-size:13px;color:var(--text);margin-bottom:6px}.gauge-config-check-list{max-height:160px;overflow-y:auto;border:1px solid var(--border);padding:6px;background:var(--bg-subtle)}.gauge-config-check-list label{display:flex;align-items:center;gap:6px;padding:4px 6px;font-size:12px;font-weight:400;cursor:pointer;margin:0}.gauge-config-check-list label:hover{background:var(--border)}.gauge-config-preview-list{font-size:12px;color:var(--text-muted);margin-top:8px;padding:8px 10px;background:var(--bg-subtle);border-radius:var(--radius);min-height:36px}.gauge-config-preview-list .gauge-config-preview-line{display:block;padding:2px 0}.gauge-config-ratio-preview{font-size:12px;color:var(--text-muted);margin-bottom:12px;padding:6px 0}.gauge-config-range-row{display:flex;gap:16px}.gauge-config-range-row .gauge-config-form-group{flex:1;margin-bottom:0}.gauge-config-number{width:100%}.gauge-config-btn-reset{padding:8px 16px;font-size:13px;background:0 0;color:var(--text-muted);border:1px solid var(--border);cursor:pointer}.gauge-config-btn-reset:hover{color:var(--text);border-color:var(--text-muted)}.gauge-config-modal-content .ideal-weight-modal-actions.gauge-config-modal-actions{justify-content:space-between;align-items:center}.gauge-config-modal-actions-right{display:flex;gap:10px;margin-left:auto}#gaugeConfigModal.ideal-weight-modal{z-index:10003}#migrationLoadingModal.balance-modal{z-index:10005}.announcement-modal,.balance-modal,.feeding-plan-amount-modal,.ideal-weight-modal,.nutrition-standards-help-modal,.pet-manager-overlay,.recipe-manager-overlay{transition:background .18s ease-out,backdrop-filter .18s ease-out}.announcement-modal,.balance-modal,.feeding-plan-amount-modal,.ideal-weight-modal,.nutrition-standards-help-modal{background:rgba(0,0,0,0)}.balance-modal.visible,.feeding-plan-amount-modal.visible,.ideal-weight-modal.visible,.nutrition-standards-help-modal.visible,.pet-manager-overlay.visible,.recipe-manager-overlay.visible{background:rgba(0,0,0,.4);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.announcement-content,.balance-modal-content,.feeding-plan-amount-modal-card,.ideal-weight-modal-content,.nutrition-standards-help-content,.scale-to-energy-modal-content{transform:translateY(8px) scale(.985);opacity:0;transition:transform .18s ease-out,opacity .18s ease-out}.announcement-content.open,.balance-modal-content.open,.feeding-plan-amount-modal-card.open,.ideal-weight-modal-content.open,.nutrition-standards-help-content.open,.scale-to-energy-modal-content.open{transform:translateY(0) scale(1);opacity:1}.scale-to-energy-modal-backdrop{background:rgba(0,0,0,0);transition:background .18s ease-out}.scale-to-energy-modal.visible .scale-to-energy-modal-backdrop{background:rgba(0,0,0,.4);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.announcement-overlay{background:rgba(0,0,0,0);transition:background .18s ease-out}.announcement-modal.visible .announcement-overlay{background:rgba(0,0,0,.4);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.balance-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:10000;display:flex;justify-content:center;align-items:center}.balance-modal-content{background:#fff;border-radius:var(--radius);width:1400px;max-width:1400px;height:80vh;max-height:80vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);position:relative}.migration-loading-modal-content{width:360px;max-width:calc(100vw - 32px);height:auto;max-height:none;min-height:180px;padding:28px 24px;align-items:center;justify-content:center;gap:14px;text-align:center}.migration-loading-title{font-size:16px;font-weight:600;color:var(--text);line-height:1.4}.migration-loading-detail{font-size:13px;line-height:1.6;color:var(--text-secondary);max-width:280px}.migration-loading-spinner.loading{width:20px;height:20px;margin:0}.cache-migration-notice{margin-top:12px;padding:10px 12px;border:1px solid #f0d9a6;background:#fff9e8;color:#6b5200;font-size:13px;line-height:1.5;display:flex;align-items:center;justify-content:space-between;gap:10px}.cache-migration-notice-text{min-width:0;flex:1}.cache-migration-retry-btn{border:1px solid #d49b2f;background:#fff;color:#8a5a00;padding:5px 10px;font-size:12px;cursor:pointer;white-space:nowrap}.cache-migration-retry-btn:hover{background:#fff3d0}.balance-modal-header{padding:15px 20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.balance-modal-header h3{margin:0;font-size:16px;color:var(--text)}.balance-modal-header h3 .balance-modal-basis{font-size:12px;font-weight:400;color:var(--text-muted)}.balance-modal-header h3{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.balance-modal-header h3 .balance-modal-chips{display:inline-flex;align-items:center;gap:6px}.balance-modal-header h3 .balance-modal-chip{display:inline-flex;align-items:center;font-size:12px;font-weight:400;line-height:1;padding:4px 8px;border-radius:var(--radius);background:#eef2f5;color:#4a5b6a;border:1px solid var(--border-strong);white-space:nowrap}.balance-modal-header h3 .balance-modal-chip-days{background:#e8f0fb;color:#2c5e9c;border-color:#cfdef5}.balance-modal-header-actions{display:flex;align-items:center;gap:10px}.balance-modal-close{background:0 0;border:none;font-size:24px;color:var(--text-muted);cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.balance-modal-close:hover{color:var(--text)}.scale-to-energy-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:10001;display:flex;justify-content:center;align-items:center}.scale-to-energy-modal-backdrop{position:absolute;top:0;left:0;width:100%;height:100%}.scale-to-energy-modal-content{position:relative;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-lg);min-width:320px;max-width:90%}.apply-recipe-scale-modal-content{min-width:440px;max-width:520px}.food-proportion-list-modal-content{min-width:520px;max-width:95%;max-height:90vh;display:flex;flex-direction:column}.food-proportion-list-modal-body{overflow:auto;padding:14px;display:flex;flex-direction:column;gap:16px}.food-proportion-cat-row{cursor:pointer;background:#f9f9f9}.food-proportion-cat-row:hover{background:var(--border)}.food-proportion-toggle{display:inline-block;width:1em;font-size:10px;color:var(--text-secondary)}.food-proportion-food-cell{padding-left:1.8em}.food-proportion-list-scroll{overflow-x:auto;border:1px solid var(--border)}.food-proportion-list-table{width:100%;border-collapse:collapse;font-size:12px}.food-proportion-list-table td,.food-proportion-list-table th{padding:6px 10px;border:1px solid var(--border)}.food-proportion-list-table th{background:var(--bg-app);font-weight:600;color:var(--text);text-align:center}.food-proportion-th-sort{cursor:pointer;user-select:none}.food-proportion-th-sort:hover{background:var(--border)}.food-proportion-sort-arrow{font-size:11px;color:var(--text-secondary)}.food-proportion-list-table td:first-child{text-align:left}.food-proportion-list-table td.food-proportion-num,.food-proportion-list-table td.food-proportion-pct{text-align:right;white-space:nowrap}.food-proportion-list-table tfoot td{background:#f9f9f9}.scale-to-energy-modal-header{padding:12px 14px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.scale-to-energy-modal-header span{font-size:14px;font-weight:600;color:var(--text)}.scale-to-energy-modal-close{background:0 0;border:none;font-size:20px;color:var(--text-muted);cursor:pointer;padding:0;line-height:1}.scale-to-energy-modal-close:hover{color:var(--text)}.scale-to-energy-modal-body{padding:14px}.ste-new-content{min-width:340px;max-width:420px;width:90vw}.ste-new-body{padding:16px 18px 10px}.ste-slider-section{margin-bottom:18px}.ste-scale-row{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:12px}.ste-step-btn{width:32px;height:32px;border:1.5px solid var(--border-strong);background:#fff;font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);flex-shrink:0;border-radius:50%;font-family:inherit}.ste-step-btn:hover{background:var(--border);border-color:var(--text-muted)}.ste-scale-input-wrap{display:flex;align-items:center}.ste-scale-input-wrap .ste-scale-input{width:80px;height:40px;border:none;outline:0;font-size:26px;font-weight:700;color:var(--text);text-align:center;padding:0;font-family:inherit;background:0 0}.ste-scale-input-wrap .ste-scale-input::-webkit-inner-spin-button,.ste-scale-input-wrap .ste-scale-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.ste-slider-wrap{display:flex;align-items:center;gap:8px}.ste-slider-bound{font-size:11px;color:#bbb;white-space:nowrap}.ste-slider{flex:1;height:4px;accent-color:var(--accent);cursor:pointer}.ste-inputs-row{display:flex;align-items:flex-start;gap:10px;min-width:0}.ste-input-group{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.ste-input-label{font-size:12px;color:var(--text-secondary);margin:0}.ste-input-wrap{display:flex;align-items:center;border:1px solid var(--border);background:#fff;overflow:hidden;min-width:0;width:100%;box-sizing:border-box}.ste-input-wrap:focus-within{border-color:var(--accent)}.ste-input-wrap .ste-input{flex:1;border:none;outline:0;padding:7px 8px;font-size:14px;font-family:inherit;min-width:0;width:0;background:0 0}.ste-input-wrap .ste-input:focus{box-shadow:none}.ste-input-wrap .ste-input::-webkit-inner-spin-button,.ste-input-wrap .ste-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.ste-input-unit{padding:0 8px;font-size:12px;color:var(--text-muted);border-left:1px solid var(--border);background:var(--bg-subtle);white-space:nowrap;line-height:34px}.ste-orig-hint{font-size:11px;color:#bbb}.ste-inputs-sep{padding-top:26px;font-size:16px;color:var(--border-strong);flex-shrink:0}.ste-plan-hint{margin:12px 0 0 0;font-size:12px;color:var(--text-muted);line-height:1.5}.scale-to-energy-fill-kcal{background:0 0;border:none;padding:0;font-size:inherit;color:var(--accent);cursor:pointer;text-decoration:none}.scale-to-energy-fill-kcal:hover{text-decoration:underline}.apply-recipe-scale-radios{display:flex;flex-direction:column;gap:8px}.apply-recipe-scale-radio{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text);cursor:pointer;margin:0}.apply-recipe-scale-radio input{margin:0}.apply-recipe-scale-radio-disabled{opacity:.55;cursor:not-allowed}.apply-recipe-scale-radio-disabled input{cursor:not-allowed}.apply-recipe-scale-cards{display:flex;gap:12px;margin-top:12px}.apply-recipe-scale-card{flex:1;border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;background:var(--bg-subtle)}.apply-recipe-scale-card-title{font-size:12px;color:var(--text-secondary);margin-bottom:10px;font-weight:600}.apply-recipe-scale-card-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;line-height:1.6}.apply-recipe-scale-card-row+.apply-recipe-scale-card-row{margin-top:6px}.apply-recipe-scale-card-label{color:var(--text-secondary)}.apply-recipe-scale-card-value{font-weight:600;color:var(--text);text-align:right}.scale-to-energy-modal-footer{padding:15px 20px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:10px}.scale-to-energy-modal-footer-right{display:flex;gap:10px}.food-proportion-list-modal-content .scale-to-energy-modal-footer{justify-content:flex-end}.btn-ste-reset{background:0 0;border:1px solid var(--border-strong);color:var(--text-secondary);padding:7px 14px;border-radius:var(--radius);font-size:13px;cursor:pointer;font-family:inherit}.btn-ste-reset:hover{background:var(--bg-app);border-color:#aaa;color:var(--text)}.food-list-energy-ratio-cell,.food-list-total-energy-cell,.food-list-weight-ratio-cell{cursor:pointer;text-decoration:underline}.food-list-energy-ratio-cell::before,.food-list-total-energy-cell::before,.food-list-weight-ratio-cell::before{content:'';display:inline-block;width:12px;height:12px;margin-right:4px;vertical-align:middle;position:relative;top:-1px;background-color:var(--text-muted);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M906.24 872.96c17.92 0 33.28 15.36 33.28 33.28 0 17.92-15.36 33.28-33.28 33.28H117.76c-17.92 0-33.28-15.36-33.28-33.28 0-17.92 15.36-33.28 33.28-33.28h788.48zM842.24 120.32l15.36 15.36c46.08 46.08 46.08 122.88 0 168.96L417.28 750.08c-23.04 23.04-48.64 38.4-79.36 43.52l-156.16 35.84c-17.92 5.12-35.84-7.68-38.4-25.6v-15.36l43.52-151.04c7.68-25.6 23.04-51.2 40.96-69.12L673.28 120.32c46.08-46.08 122.88-46.08 168.96 0z m-202.24 128L273.92 611.84c-12.8 12.8-20.48 25.6-25.6 40.96l-28.16 97.28 102.4-23.04c17.92-5.12 35.84-12.8 48.64-25.6l360.96-360.96L640 248.32z m79.36-79.36l-33.28 33.28 92.16 92.16 33.28-33.28c20.48-20.48 20.48-56.32 0-76.8l-15.36-15.36c-20.48-23.04-56.32-23.04-76.8 0z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M906.24 872.96c17.92 0 33.28 15.36 33.28 33.28 0 17.92-15.36 33.28-33.28 33.28H117.76c-17.92 0-33.28-15.36-33.28-33.28 0-17.92 15.36-33.28 33.28-33.28h788.48zM842.24 120.32l15.36 15.36c46.08 46.08 46.08 122.88 0 168.96L417.28 750.08c-23.04 23.04-48.64 38.4-79.36 43.52l-156.16 35.84c-17.92 5.12-35.84-7.68-38.4-25.6v-15.36l43.52-151.04c7.68-25.6 23.04-51.2 40.96-69.12L673.28 120.32c46.08-46.08 122.88-46.08 168.96 0z m-202.24 128L273.92 611.84c-12.8 12.8-20.48 25.6-25.6 40.96l-28.16 97.28 102.4-23.04c17.92-5.12 35.84-12.8 48.64-25.6l360.96-360.96L640 248.32z m79.36-79.36l-33.28 33.28 92.16 92.16 33.28-33.28c20.48-20.48 20.48-56.32 0-76.8l-15.36-15.36c-20.48-23.04-56.32-23.04-76.8 0z'/%3E%3C/svg%3E");-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.food-list-energy-ratio-cell:hover,.food-list-total-energy-cell:hover,.food-list-weight-ratio-cell:hover{color:var(--accent)}.food-list-energy-ratio-cell:hover::before,.food-list-total-energy-cell:hover::before,.food-list-weight-ratio-cell:hover::before{background-color:var(--accent)}.weight-ratio-modal-content{min-width:440px;max-width:600px;width:95vw}.weight-ratio-modal-body{padding:14px 18px}.wr-top-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}.wr-mode-toggle{display:flex;gap:0;border:1px solid var(--border-strong);overflow:hidden;flex-shrink:0}.wr-mode-btn{padding:5px 14px;font-size:13px;border:none;border-radius:var(--radius);background:var(--bg-app);color:var(--text-secondary);cursor:pointer;transition:background .15s,color .15s}.wr-mode-btn+.wr-mode-btn{border-left:1px solid var(--border-strong)}.wr-mode-btn.active{background:var(--accent);color:#fff;font-weight:600}.wr-mode-btn:not(.active):hover{background:var(--border)}.wr-total-inline{display:flex;align-items:center;gap:6px;margin-left:auto}.wr-total-inline label{font-size:13px;color:var(--text-secondary);white-space:nowrap;margin:0;line-height:1;align-self:center}.wr-input-wrap{position:relative;display:inline-flex;align-items:center}.wr-input-wrap input{border:1px solid var(--border-strong);border-radius:var(--radius);font-size:15px;padding:2px 24px 2px 6px;text-align:left;-moz-appearance:textfield;appearance:textfield}.wr-input-wrap input::-webkit-inner-spin-button,.wr-input-wrap input::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}.wr-input-wrap input:focus{outline:0;border-color:var(--accent)}.wr-unit{position:absolute;right:7px;font-size:13px;color:var(--text-muted);pointer-events:none;user-select:none}.wr-total-wrap input{width:100px}.wr-total-wrap input[readonly]{background:var(--bg-app);color:var(--text-muted);cursor:default;border-color:var(--border);pointer-events:none}.wr-ratio-input{width:72px}.weight-ratio-table-wrap{max-height:340px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius)}.weight-ratio-table{width:100%;border-collapse:collapse;font-size:13px}.weight-ratio-table td,.weight-ratio-table th{padding:6px 10px;border-bottom:1px solid var(--border)}.weight-ratio-table thead th{background:var(--bg-subtle);font-weight:600;position:sticky;top:0;z-index:1;white-space:nowrap}.weight-ratio-table tfoot td{background:var(--bg-subtle);font-weight:600}.wr-col-name{text-align:left;min-width:100px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wr-col-ratio{text-align:center;width:108px}.wr-col-calc{text-align:right;width:108px;color:var(--text-secondary);white-space:nowrap}.wr-foot{color:var(--text)}.wr-no-data{color:#bbb;font-size:12px}.weight-ratio-hint{margin:8px 0 0;font-size:12px;min-height:16px}.expected-mature-weight-hint{margin:6px 0 0;font-size:12px;line-height:1.5;color:#8a6d3b}.food-list-drag-handle{display:inline-block;cursor:grab;user-select:none;touch-action:none;color:var(--text-muted);font-size:14px;line-height:1;padding:2px 4px}.food-list-drag-handle:active{cursor:grabbing}#foodList tr.list-sortable-ghost td{opacity:.4;background:#eef6fc!important}#foodList tr.list-sortable-chosen td{background:#f5f9fc!important}#foodList tr.list-sortable-drag td{background:#fff!important;box-shadow:0 6px 16px rgba(0,0,0,.12)}#foodList tr.list-sortable-drag td.food-list-td-del,#foodList tr.list-sortable-drag td.food-list-td-drag,#foodList tr.list-sortable-drag td.food-list-td-name,#foodList tr.list-sortable-drag td.food-list-td-toggle{background:#fff!important}.pet-card.list-sortable-ghost,.recipe-card.list-sortable-ghost{opacity:.45;background:#eef6fc!important}.pet-card.list-sortable-chosen,.recipe-card.list-sortable-chosen{background:#f5f9fc!important}.pet-card.list-sortable-drag,.recipe-card.list-sortable-drag{opacity:.95;box-shadow:0 6px 16px rgba(0,0,0,.12)}.balance-modal-body{padding:20px;overflow:hidden;flex:1;display:flex;gap:20px}.custom-food-modal-content{max-width:1050px;width:95%;height:80vh;max-height:80vh;min-height:340px;display:flex;flex-direction:column;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-lg)}.custom-food-modal-content .balance-modal-body{display:flex!important;flex-direction:row!important;flex:1;min-height:0;overflow:hidden;padding:0;gap:0}.custom-food-list-panel{width:350px;flex-shrink:0;border-right:1px solid var(--border);display:flex;flex-direction:column;background:#fff}.custom-food-list-panel .btn-new-custom{margin:10px 12px 0;padding:7px 12px;font-size:12px;color:var(--text);background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer}.custom-food-list-panel .btn-new-custom:hover{background:#e9ecef;border-color:var(--border);color:var(--text)}.custom-food-list-panel .custom-food-category-filter{margin:8px 12px 10px;width:calc(100% - 24px);flex-shrink:0}.custom-food-def-list{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1;min-height:0}.custom-food-def-list li{display:flex;align-items:center;gap:6px;padding:8px 12px;font-size:13px;color:var(--text);cursor:pointer;border-bottom:1px solid var(--border);transition:background .2s}.custom-food-def-list li:hover{background:var(--bg-subtle)}.custom-food-def-list li.active{background:#eaf2ff;border-left:4px solid var(--accent);padding-left:8px}.custom-food-def-list li .custom-food-item-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.custom-food-def-list li .custom-food-item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.custom-food-def-list li .custom-food-item-category{font-size:11px;color:#6c757d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-food-def-list li .btn-del{flex-shrink:0;padding:2px 6px;font-size:11px;color:#6c757d;background:0 0;border:none;cursor:pointer;border-radius:var(--radius)}.custom-food-def-list li .btn-del:hover{color:#e74c3c;background:#fff5f5}.custom-food-form-panel{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:20px 20px 0;background:#fff}.custom-food-panel-mobile-bar{display:none}.custom-food-panel-back-btn{display:inline-flex;align-items:center;gap:4px;background:0 0;border:none;color:#1a73e8;font-size:14px;cursor:pointer;padding:4px 0;font-family:inherit}.custom-food-panel-back-btn svg{width:16px;height:16px}.custom-food-panel-back-btn:hover{opacity:.75}.custom-food-empty-hint{display:none;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;color:var(--text-muted,#8a9099);font-size:14px;padding:24px;transform:translateY(-28px)}.custom-food-empty-hint-text{margin:0}.custom-food-modal-content .balance-modal-body .custom-food-form-panel.custom-food-form-empty>:not(.custom-food-empty-hint){display:none!important}.custom-food-form-panel.custom-food-form-empty>.custom-food-empty-hint{display:flex}.custom-food-form-panel .form-group{margin-bottom:14px;flex-shrink:0}.custom-food-form-panel .form-group.custom-food-nutrients-group{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;margin-bottom:0}.custom-food-form-panel .form-group.custom-food-nutrients-group label{flex-shrink:0}.custom-food-form-panel .form-group.custom-food-nutrients-group .custom-food-nutrients-wrap{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;display:block;-webkit-overflow-scrolling:touch}.custom-food-modal-content .balance-modal-body .form-group{display:block;width:100%;margin-bottom:14px}.custom-food-modal-content .balance-modal-body .form-group label{display:block;margin-bottom:4px}.custom-food-modal-content .balance-modal-body .form-group.custom-food-inline-row{display:flex!important;flex-wrap:nowrap;align-items:flex-end;gap:12px}.custom-food-modal-content .balance-modal-body .form-group.custom-food-nutrients-group{display:flex!important;flex-direction:column;flex:1;min-height:0;overflow:hidden;margin-bottom:0}.custom-food-inline-row .custom-food-field{flex:1;min-width:0}.custom-food-inline-row .custom-food-portion-field{flex:0 0 auto;width:90px;min-width:90px}.custom-food-inline-row .custom-food-category-field{position:relative;z-index:3}.custom-food-control{display:block;width:100%;height:30px;padding:0 8px;box-sizing:border-box;border:1px solid var(--border-strong);font-size:13px;font-family:inherit;color:var(--text);background-color:#fff}.custom-food-control:focus{border-color:var(--accent);outline:0}.custom-food-control::placeholder{color:var(--text-muted)}.custom-food-category-combobox{position:relative}.custom-food-category-input{padding-right:24px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L2 4h8z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;-webkit-appearance:none;appearance:none}.custom-food-category-list{position:absolute;left:0;top:100%;margin:0;padding:0;width:100%;max-height:200px;overflow-y:auto;list-style:none;background:#fff;border:1px solid var(--border-strong);border-top:none;box-sizing:border-box;z-index:20}.custom-food-category-option{padding:5px 8px;cursor:pointer;font-size:12px;line-height:1.35;color:var(--text)}.custom-food-category-option.is-highlighted,.custom-food-category-option:hover{background:#f0f4f8}.custom-food-panel-footer{flex-shrink:0;display:flex;align-items:center;gap:8px;padding:12px;background:#fff}.custom-food-list-footer{justify-content:flex-start}.custom-food-form-footer{justify-content:space-between;margin:auto -20px 0;padding:12px 20px}.custom-food-form-footer-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.custom-food-public-toggle{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;user-select:none;white-space:nowrap}.custom-food-public-toggle[hidden]{display:none!important}#newRecipeModal .scale-to-energy-modal-footer-right{margin-left:auto}.custom-food-public-toggle input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.custom-food-public-switch{position:relative;width:36px;height:20px;flex-shrink:0;border-radius:999px;background:#cfd4da;transition:background .15s ease}.custom-food-public-switch::after{content:'';position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.18);transition:transform .15s ease}.custom-food-public-toggle input:checked+.custom-food-public-switch{background:var(--accent)}.custom-food-public-toggle input:checked+.custom-food-public-switch::after{transform:translateX(16px)}.custom-food-public-toggle input:disabled+.custom-food-public-switch{opacity:.55}.custom-food-public-toggle:has(input:disabled){cursor:default;opacity:.7}.custom-food-modal-actions-left{display:flex;align-items:center;gap:8px;margin-right:auto}.custom-food-modal-actions-right{display:flex;align-items:center;gap:8px}.custom-food-modal-actions .custom-food-btn-secondary,.custom-food-panel-footer .custom-food-btn-secondary{padding:7px 14px;font-size:12px;font-weight:500;color:var(--text);background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius)}.custom-food-modal-actions .custom-food-btn-secondary:hover,.custom-food-panel-footer .custom-food-btn-secondary:hover{color:var(--text);background:#e9ecef;border-color:var(--border)}.custom-food-empty-hint .custom-food-btn-save,.custom-food-modal-actions .custom-food-btn-save,.custom-food-panel-footer .custom-food-btn-save{display:inline-flex;align-items:center;justify-content:center;padding:7px 14px;font-size:12px;font-weight:500;line-height:1.2;color:#fff;background:var(--accent);border:none;border-radius:var(--radius);cursor:pointer}.custom-food-btn-cancel{display:none}.custom-food-empty-hint .custom-food-btn-save:hover,.custom-food-modal-actions .custom-food-btn-save:hover,.custom-food-panel-footer .custom-food-btn-save:hover{background:var(--accent-hover);color:#fff;border:none}.custom-food-nutrients-wrap{border:1px solid var(--border);border-radius:var(--radius);margin-top:6px;background:#fff}.custom-food-nutrients-table{width:100%;border-collapse:collapse;font-size:12px}.custom-food-nutrients-table thead th{padding:6px 8px;background:var(--bg-subtle);font-weight:600;color:var(--text);text-align:left;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:1}.custom-food-nutrients-table tbody td{padding:4px 8px;border-top:1px solid var(--border);color:var(--text-secondary)}.svp-pasteur-modal-content{width:min(1120px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:72vh;display:flex;flex-direction:column;background:#fff}.svp-pasteur-body,.svp-pasteur-modal-content .balance-modal-body{display:flex!important;flex-direction:column!important;align-items:stretch!important;flex:1;min-height:0;overflow:hidden!important;padding:0!important;gap:0}.svp-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;flex:1;min-height:0;overflow:hidden}.svp-main{display:flex;flex-direction:column;padding:10px 18px 16px;overflow-y:auto;overflow-x:hidden;min-height:0}.svp-sidebar{border-left:1px solid var(--border);background:var(--bg-subtle);display:flex;flex-direction:column;min-height:0;overflow-y:auto;overflow-x:hidden}.svp-sidebar-section{padding:14px 14px}.svp-sidebar-title{font-size:13px;font-weight:600;color:#34495e;margin-bottom:12px}.svp-intro{margin:0 0 14px;padding:10px 12px;background:var(--bg-subtle);border:1px solid var(--border);font-size:12px;line-height:1.65;color:#5a6570}.svp-intro p{margin:0}.svp-intro p+p{margin-top:8px}.svp-form-grid{display:grid;grid-template-columns:1fr;gap:12px}.svp-field{min-width:0}.svp-field-full,.svp-field-wide{grid-column:1/-1}.svp-field .custom-food-control,.svp-field select.custom-food-control{width:100%;max-width:100%;box-sizing:border-box}.svp-label{display:block;margin-bottom:4px;font-size:12px;font-weight:600;color:var(--text)}.svp-species-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:stretch}.svp-field-hint{margin:6px 0 0;font-size:11px;line-height:1.4;color:var(--text-muted)}.svp-auto-match{padding:8px 10px;background:var(--bg-subtle);border:1px solid var(--border)}.svp-auto-match[hidden]{display:none!important}.svp-auto-match-row{display:flex;align-items:baseline;gap:8px;margin:0 0 4px;font-size:11px;line-height:1.45;color:#5a6570}.svp-auto-match-row:last-child{margin-bottom:0}.svp-auto-match-label{flex:0 0 auto;min-width:5.5em;font-weight:600;color:var(--text)}.svp-auto-match-value{flex:1 1 auto;min-width:0}.svp-mode-toggle{margin-bottom:10px}.svp-species-field[hidden]{display:none!important}.svp-profile-mode-toggle{width:100%;min-width:0;margin-bottom:6px}.svp-sidebar .nutrition-display-mode-toggle.svp-profile-mode-toggle{display:flex;width:100%;min-width:0;overflow-x:visible}.svp-sidebar .nutrition-display-mode-toggle.svp-profile-mode-toggle .ndm-btn{flex:1 1 0;min-width:0;width:0;padding:0 6px}.svp-profiles-custom{margin-top:4px}.svp-profiles-custom[hidden]{display:none!important}.svp-species-chip{display:flex;align-items:flex-start;gap:6px;width:100%;min-width:0;min-height:36px;padding:7px 8px;border:1px solid var(--border);border-radius:var(--radius);font-size:12px;line-height:1.35;cursor:pointer;user-select:none;box-sizing:border-box}.svp-chip-text{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.svp-chip-main{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:12px;font-weight:500;line-height:1.35;color:var(--text)}.svp-chip-cat-tag{display:inline-flex;align-items:center;flex-shrink:0;padding:0 5px;border-radius:var(--radius);font-size:10px;font-weight:600;line-height:1.5;letter-spacing:.01em}.svp-chip-cat-tag--red_meat{color:#8e3b2f;background:#f9ecea}.svp-chip-cat-tag--poultry{color:#9a6b1a;background:#faf3e4}.svp-chip-cat-tag--fish{color:#1f6b80;background:#e8f4f8}.svp-chip-detail{min-width:0;font-size:12px;font-weight:500;color:var(--text)}.svp-chip-tags{display:flex;flex-wrap:wrap;gap:4px}.svp-chip-tag{display:inline-flex;align-items:center;gap:3px;max-width:100%;padding:0;border:none;border-radius:var(--radius);font-size:10px;line-height:1.35;color:var(--text-muted);background:0 0;box-sizing:border-box}.svp-chip-tag-label{flex-shrink:0;font-size:9px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:#95a5a6}.svp-chip-tag-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.svp-chip-tag--baldwin .svp-chip-tag-label{color:#8e44ad}.svp-chip-tag--fsis .svp-chip-tag-label{color:#c0392b}.svp-chip-tag--active{color:var(--text)}.svp-chip-tag--active.svp-chip-tag--baldwin .svp-chip-tag-label{color:#7d3c98}.svp-chip-tag--active.svp-chip-tag--fsis .svp-chip-tag-label{color:#a93226}.svp-chip-sub{font-size:10px;line-height:1.3;color:#95a5a6}.svp-species-chip input[type=checkbox]{flex-shrink:0;width:14px;height:14px;margin:2px 0 0}.svp-species-chip:has(input:checked){border-color:var(--accent);background:#eef6fc}.svp-result-area{flex:1;min-height:0;display:flex;flex-direction:column;margin-top:0;padding-bottom:20px}.svp-result-area:has(> .svp-loading:only-child),.svp-result-area:has(> .svp-result-placeholder:only-child){align-items:center;justify-content:center}.svp-result-area>.svp-loading:only-child{padding:0 12px}.svp-result-placeholder{margin:0;padding:0 12px;text-align:center;font-size:13px;color:#95a5a6;line-height:1.6}.svp-result-card{position:relative;padding:8px 16px 12px 12px;border:1px solid var(--border);background:var(--bg-subtle)}.svp-result-hero-row{display:flex;align-items:stretch;justify-content:space-between;gap:16px;margin-bottom:6px}.svp-result-hero-main{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center}.svp-result-hero-main h4{margin:0 0 4px;font-size:14px}.svp-result-hero-row .svp-result-hero{margin:0 0 6px}.svp-result-hero-row .svp-result-pathogen--main{margin:0}.svp-phase-chart-wrap{flex-shrink:0;width:min(300px,48%);min-width:200px;align-self:center}.svp-phase-chart{width:100%;height:140px}.svp-footer-source-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;min-width:0;max-width:min(100%,560px)}.svp-footer-source-link{display:inline-flex;align-items:center;gap:4px;max-width:100%;color:var(--accent-hover);text-decoration:none;line-height:1.3}.svp-footer-source-link+.svp-footer-source-link{padding-left:12px;border-left:1px solid var(--border)}.svp-footer-source-link:hover .svp-footer-source-text{text-decoration:underline}.svp-footer-source-icon{flex-shrink:0;display:inline-flex;line-height:0;opacity:.85}.svp-footer-source-icon svg{width:13px;height:13px}.svp-footer-source-link:hover .svp-footer-source-icon{opacity:1}.svp-footer-source-text{font-size:13px;font-weight:600;letter-spacing:.01em;color:var(--accent-hover)}.svp-result-hero{margin:0 0 4px;font-size:28px;font-weight:600;color:var(--text)}.svp-result-pathogen{margin:0 0 10px;font-size:12px;line-height:1.5;color:#5a6570}.svp-result-pathogen--main strong{color:#2c5282}.svp-result-pathogen--baldwin{margin:8px 0 4px;font-size:11px}.svp-result-pathogen--baldwin strong{color:#6b4c9a}.svp-result-breakdown{margin:0 0 10px;font-size:12px;line-height:1.6;color:#5a6570}.svp-result-meta{margin:0;padding-left:18px;font-size:12px;line-height:1.7}.svp-table-scroll{overflow-x:auto;margin-top:10px;-webkit-overflow-scrolling:touch}.svp-pathogen-table,.svp-temp-table{width:100%;min-width:420px;border-collapse:collapse;font-size:12px}.svp-pathogen-table td,.svp-pathogen-table th,.svp-temp-table td,.svp-temp-table th{border:1px solid var(--border);padding:6px 8px;text-align:left;vertical-align:top}.svp-pathogen-table td:first-child,.svp-pathogen-table th:first-child{min-width:7em;white-space:nowrap}.svp-notes{margin:10px 0 0;padding-left:18px;font-size:11px;color:#5a6570}.svp-citations{margin:8px 0 0;color:var(--text-muted);line-height:1.5;word-break:break-word}.svp-temp-table-section{margin-top:12px;margin-bottom:4px}.svp-temp-table-title{margin:0 0 8px;font-size:13px;font-weight:600;color:var(--text)}.svp-temp-table-footnote{margin:10px 0 24px;font-size:11px;line-height:1.55;color:var(--text-muted)}.svp-result-error{border-color:#f5c6cb;background:#fdf3f4}.svp-row-invalid td{color:#95a5a6}.svp-baldwin-ref{margin-top:12px;padding:10px 12px;border:1px dashed #d5dbe1;border-radius:var(--radius);background:var(--bg-subtle)}.svp-baldwin-ref summary{cursor:pointer;font-size:12px;font-weight:600;color:#5d6d7e}.svp-baldwin-ref-value{margin:8px 0 4px;font-size:18px;font-weight:700;color:#34495e}.svp-baldwin-ref-table{margin:0 0 4px;font-size:11px;color:var(--text-muted)}.svp-baldwin-ref-note{margin:0;font-size:11px;line-height:1.5;color:var(--text-muted)}.svp-storage-notes{margin-top:12px;padding:10px 12px;border-radius:var(--radius);background:#fff8e6;border:1px solid #f0e0b0}.svp-storage-notes h5{margin:0 0 6px;font-size:12px;font-weight:600;color:#856404}.svp-storage-notes ul{margin:0;padding-left:18px;font-size:11px;line-height:1.55;color:#6c5700}.svp-result-warnings{margin-top:12px;padding:10px 12px;border-radius:var(--radius);background:#fff3cd;border:1px solid #ffc107}.svp-result-warnings h5{margin:0 0 6px;font-size:12px;font-weight:600;color:#856404}.svp-result-warnings ul{margin:0;padding-left:18px;font-size:11px;line-height:1.55;color:#6c5700}.svp-loading{text-align:center;color:var(--text-muted);padding:16px}.svp-pasteur-footer{flex-shrink:0;padding:12px 18px;border-top:1px solid var(--border)}.svp-pasteur-footer .svp-footer-step{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}.svp-pasteur-footer .svp-footer-step[hidden]{display:none!important}.svp-sidebar-intro{margin-bottom:12px}.svp-sidebar-intro .svp-intro{margin-bottom:0}.svp-input-error{margin:0 0 12px;padding:10px 12px;background:#fdecea;border:1px solid #f5c6cb;color:#c0392b;font-size:12px;line-height:1.5}.svp-input-error[hidden]{display:none!important}.svp-input-error p{margin:0}@media (max-width:768px){.svp-pasteur-modal-content{width:min(100vw,calc(100vw - 16px));max-width:calc(100vw - 16px);max-height:min(92dvh,92vh)}.svp-layout.svp-mobile-step-input .svp-main{display:none}.svp-layout.svp-mobile-step-result .svp-sidebar{display:none}.svp-layout.svp-mobile-step-input,.svp-layout.svp-mobile-step-result{display:flex;flex-direction:column;overflow:hidden}.svp-layout.svp-mobile-step-input .svp-sidebar,.svp-layout.svp-mobile-step-result .svp-main{flex:1;min-height:0;overflow-y:auto;border:none}.svp-sidebar-intro{margin-bottom:12px}.svp-mode-toggle{margin-bottom:0}.svp-layout.svp-mobile-step-result .svp-main{padding-top:6px}.svp-footer-source-links{gap:6px 10px}.svp-footer-source-link+.svp-footer-source-link{padding-left:0;border-left:none}.svp-result-hero-row{flex-direction:column;gap:10px;margin-bottom:10px}.svp-phase-chart-wrap{width:100%;min-width:0;max-width:none;align-self:stretch}.svp-layout{display:flex;flex-direction:column;overflow-y:auto}.svp-main{flex:1;min-height:0}.svp-sidebar{border-left:none;border-top:none;flex-shrink:0}}@media (min-width:769px){#svpFooterResult{display:none!important}}.aafco-convert-modal-content{width:min(820px,96vw);max-width:96vw;height:min(88vh,920px);max-height:92vh;display:flex;flex-direction:column;background:#fff}.aafco-convert-body,.aafco-convert-modal-content .balance-modal-body{display:flex!important;flex-direction:column!important;flex:1;min-height:0;overflow-x:hidden!important;overflow-y:auto!important;padding:14px 16px;gap:12px}.aafco-top-block{flex-shrink:0}.aafco-intro-card{margin:0 0 12px;padding:12px 14px;background:var(--bg-subtle);border:1px solid var(--border);box-shadow:0 1px 2px rgba(0,0,0,.04)}.aafco-intro{margin:0;font-size:12px;line-height:1.6;color:#5a6570}.aafco-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}.aafco-meta-grid .custom-food-field label{display:block;margin-bottom:4px;font-size:12px;font-weight:500;color:var(--text)}.aafco-meta-grid .custom-food-control{width:100%;box-sizing:border-box}.aafco-sections-stack{display:flex;flex-direction:column;gap:12px;margin-top:12px;padding-top:16px}.aafco-section{margin-bottom:0;min-width:0}.aafco-page-preview{flex:1;min-height:0}.aafco-preview-summary{margin:0 0 10px;font-size:13px;color:var(--text)}.aafco-convert-footer .aafco-footer-step{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;width:100%}.aafco-convert-footer .aafco-footer-step[hidden]{display:none!important}.aafco-estimate-option{display:inline-flex;align-items:center;gap:6px;margin:0 6px 0 0;font-size:12px;color:var(--text-secondary);cursor:pointer;user-select:none;flex-shrink:0;line-height:1.3;max-width:220px}.aafco-estimate-option input[type=checkbox]{width:14px;height:14px;margin:0;flex-shrink:0;cursor:pointer}.aafco-estimate-option span{text-align:left}.aafco-section-title{margin:0 0 6px;font-size:13px;font-weight:600;color:var(--text)}.aafco-nutrient-table,.aafco-preview-table{width:100%;border-collapse:collapse;font-size:12px;border:1px solid var(--border);table-layout:fixed}.aafco-nutrient-table td,.aafco-nutrient-table th,.aafco-preview-table td,.aafco-preview-table th{padding:4px 6px;border-top:1px solid var(--border);text-align:left;vertical-align:middle}.aafco-nutrient-table thead th,.aafco-preview-table thead th{background:var(--bg-subtle);border-top:none;font-weight:600}.aafco-preview-table td.aafco-preview-cat-cell,.aafco-preview-table th:first-child{width:16%;text-align:center}.aafco-preview-table th.aafco-preview-cat-th{text-align:center}.aafco-preview-table td.aafco-preview-name-cell,.aafco-preview-table th:nth-child(2){width:30%}.aafco-preview-table td.aafco-preview-value-cell,.aafco-preview-table th:nth-child(3){width:18%;text-align:right}.aafco-preview-table td.aafco-preview-unit-cell,.aafco-preview-table th:nth-child(4){width:14%;text-align:center;color:var(--text-secondary)}.aafco-preview-table th.aafco-preview-unit-th{text-align:center}.aafco-preview-table td.aafco-preview-source-cell,.aafco-preview-table th:nth-child(5){width:22%}.aafco-preview-cat-cell{background:var(--bg-subtle);font-weight:600;vertical-align:middle;color:var(--text);border-left:1px solid var(--border)}.aafco-nutrient-table td:first-child,.aafco-nutrient-table th:first-child{width:38%}.aafco-nutrient-table td:nth-child(2),.aafco-nutrient-table th:nth-child(2){width:32%}.aafco-nutrient-table td:nth-child(3),.aafco-nutrient-table th:nth-child(3){width:30%}.aafco-nutrient-table .aafco-unit,.aafco-nutrient-table .aafco-value{width:100%;max-width:100%;box-sizing:border-box;font-size:12px}.aafco-label{white-space:normal;word-break:break-word;line-height:1.35}.aafco-req{color:#c0392b}.aafco-preview-wrap{flex-shrink:0;margin-top:0;padding-top:10px;border-top:1px dashed var(--border)}.aafco-preview-empty{margin:0;font-size:12px;color:var(--text-muted)}.aafco-open-from-custom{margin-left:6px}.fd-convert-modal-content{width:min(860px,96vw);max-width:96vw;height:min(88vh,920px);max-height:92vh;display:flex;flex-direction:column;background:#fff}.fd-convert-body,.fd-convert-modal-content .balance-modal-body{display:flex!important;flex-direction:column!important;flex:1;min-height:0;overflow-x:hidden!important;overflow-y:auto!important;padding:14px 16px;gap:12px}.fd-page{display:flex;flex-direction:column;min-height:0;flex:1}.fd-page[hidden]{display:none!important}.fd-intro-card{margin:0 0 10px;padding:12px 14px;background:var(--bg-subtle);box-shadow:var(--shadow-sm);flex-shrink:0}.fd-intro{margin:0;font-size:12px;line-height:1.6;color:#5a6570}.fd-req{color:#c0392b}.fd-browse-embed{display:flex;flex-direction:column;min-height:0;flex:1}.fd-browse-layout{display:flex;gap:10px;min-height:280px;flex:1}.fd-browse-categories,.fd-browse-side{flex:0 0 180px;min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border);background:var(--bg-subtle)}.fd-browse-filters{flex:0 0 auto;flex-shrink:0;display:flex;flex-direction:column}.fd-convert-modal-content .fd-browse-cat-select{display:none}.fd-browse-categories .food-browse-db-picker,.fd-browse-side .food-browse-db-picker{flex-shrink:0;border-bottom:1px solid var(--border)}.fd-browse-categories .food-browse-db-picker-trigger{padding:8px 32px 8px 10px;font-size:12.5px;font-weight:600;color:var(--text);background-color:var(--bg-subtle)}.fd-browse-categories .food-browse-db-picker-menu{z-index:30}.fd-db-picker-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fd-browse-categories .fd-db-picker-option{padding:8px 10px;font-size:12.5px;font-weight:500;color:var(--text)}.fd-db-picker-empty{padding:10px 12px;font-size:12px;color:var(--text-muted)}.fd-browse-categories .food-browse-category-list,.fd-browse-side .food-browse-category-list{flex:1;min-height:0;overflow:auto}.fd-browse-main{flex:1;min-width:0;display:flex;flex-direction:column;border:1px solid var(--border);background:#fff}.fd-browse-main-toolbar{flex-shrink:0;padding:8px 10px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px}.fd-browse-search-wrap{display:flex;align-items:center;flex:1;min-width:0;max-width:360px;height:30px;border:1px solid var(--border-strong);background:#fff;box-sizing:border-box}.fd-browse-search-wrap:focus-within{border-color:var(--accent)}.fd-browse-search-icon{flex-shrink:0;width:26px;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.fd-browse-search-icon svg{width:14px;height:14px}.fd-browse-search-wrap input.fd-browse-search{flex:1;min-width:0;width:auto;height:100%;box-sizing:border-box;font-size:13px;font-weight:400;font-family:inherit;color:var(--text);border:none;background:0 0;padding:0 8px 0 0;transition:none}.fd-browse-search-wrap input.fd-browse-search::placeholder{color:var(--text-muted)}.fd-browse-search-wrap input.fd-browse-search:focus{outline:0;box-shadow:none;border:none}.fd-browse-search-btn{flex-shrink:0;align-self:stretch;margin:0;padding:0 10px;font-size:12px;font-weight:500;line-height:28px;color:var(--accent);background:#f8fafb;border:none;border-radius:var(--radius);cursor:pointer;font-family:inherit}.fd-browse-search-btn:hover{background:rgba(52,152,219,.08);color:var(--accent-hover)}.fd-browse-count-label{flex-shrink:0;margin-left:auto;font-size:12px;color:var(--text-muted)}.fd-browse-main .food-browse-list{flex:1;min-height:180px;overflow:auto}.fd-browse-main .food-browse-item.fd-browse-item-selected,.fd-browse-main .food-browse-item.food-browse-item-selected{background:#eef6fc!important;border-left:3px solid var(--accent)!important;padding-left:9px!important}.fd-browse-item-disabled{opacity:.55;cursor:not-allowed;background:var(--bg-app)!important;border-color:var(--border)!important}.fd-browse-item-disabled:hover{background:var(--bg-app)!important}.fd-browse-item-disabled .food-browse-item-kcal,.fd-browse-item-disabled .food-browse-item-name,.fd-browse-item-disabled .food-browse-item-sort-value{color:#aaa}.fd-selected-panel{margin-top:10px;padding:10px 12px;background:#f0f7fb;border:1px solid #d4e6f1;border-radius:var(--radius);flex-shrink:0}.fd-selected-label{font-size:11px;color:var(--text-muted);margin-bottom:4px}.fd-selected-summary{font-size:13px;color:var(--text)}.fd-page-settings{flex:1;min-height:0;overflow:hidden}.fd-page-settings>.fd-settings-grid,.fd-page-settings>.fd-settings-hint,.fd-page-settings>.fd-settings-source{flex-shrink:0}.fd-settings-source-text{margin:0 0 10px;font-size:13px;color:var(--text)}.fd-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin-bottom:8px}.fd-settings-grid .custom-food-field label{display:block;margin-bottom:4px;font-size:12px;font-weight:500;color:var(--text)}.fd-settings-hint{margin:0 0 10px;font-size:12px;color:var(--text-muted)}.fd-section-title{margin:0 0 8px;font-size:13px;font-weight:600;color:var(--text);flex-shrink:0}.fd-preview-block{display:flex;flex-direction:column;flex:1;min-height:0}.fd-preview-scroll{flex:1;min-height:120px;overflow:auto;border:1px solid var(--border);background:#fff}.fd-preview-table{width:100%;border-collapse:collapse;font-size:12px}.fd-preview-table td,.fd-preview-table th{border:1px solid var(--border);padding:6px 8px;text-align:left;vertical-align:top}.fd-preview-table thead th{background:#f4f6f8;font-weight:600;color:var(--text)}.fd-preview-cat-cell{background:var(--bg-subtle);font-weight:500;white-space:nowrap;text-align:center;vertical-align:middle}.fd-preview-source-cell,.fd-preview-value-cell{font-variant-numeric:tabular-nums;text-align:right}.fd-preview-unit-cell{white-space:nowrap;color:var(--text-muted)}.fd-preview-empty{margin:0;font-size:12px;color:var(--text-muted)}.fd-save-name-field{max-width:none}.fd-save-fields{display:flex;flex-direction:column;gap:12px}.fd-save-fields .custom-food-field{width:100%;min-width:0}.fd-save-fields .fd-save-category-field{position:relative;z-index:2}.fd-convert-footer .fd-footer-step{display:flex;justify-content:space-between;align-items:center;width:100%;gap:8px}.fd-convert-footer .fd-footer-step[hidden]{display:none!important}@media (max-width:1200px){.fd-convert-modal-content{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;min-height:0;border-radius:var(--radius)}.fd-convert-modal-content .balance-modal-header{flex-wrap:wrap;align-items:center;gap:6px 8px;padding:10px 12px}.fd-convert-modal-content .balance-modal-header h3{flex:1 1 auto;min-width:0;font-size:16px}.fd-convert-body{padding:10px 12px!important;gap:10px;overflow:hidden!important}.fd-page-select{flex:1;min-height:0;overflow:hidden}.fd-intro-card{margin-bottom:8px;padding:10px 12px}.fd-intro{font-size:11.5px;line-height:1.55}.fd-browse-embed{flex:1;min-height:0;overflow:hidden}.fd-browse-layout{flex-direction:column;flex:1;min-height:0;gap:0}.fd-browse-categories,.fd-browse-side{flex:none!important;flex-shrink:0;width:100%;height:auto;max-height:none;overflow:visible;position:relative;z-index:2;border:none;border-bottom:1px solid var(--border)}.fd-browse-filters{flex:none;flex-shrink:0;overflow:visible}.fd-browse-categories .food-browse-category-list,.fd-browse-side .food-browse-category-list{display:none!important;flex:none!important;height:0!important;margin:0!important;padding:0!important;overflow:hidden!important}#fdBrowseCategoryList{display:none!important}.fd-convert-modal-content .fd-browse-cat-select{display:block!important;flex:none;flex-shrink:0;width:100%;min-height:44px;height:auto;padding:12px 32px 12px 14px;line-height:1.3;box-sizing:border-box}.fd-browse-main{flex:1;min-height:0;overflow:hidden;border:none}.fd-browse-main-toolbar{flex-wrap:wrap;gap:8px;padding:8px}.fd-browse-search-wrap{flex:1 1 100%;max-width:none}.fd-browse-count-label{margin-left:0;width:100%;text-align:right}.fd-browse-main .food-browse-list{min-height:0;flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.fd-selected-panel{flex-shrink:0;margin-top:8px}.fd-page-settings{overflow-y:auto;-webkit-overflow-scrolling:touch}.fd-settings-grid{grid-template-columns:1fr}.fd-preview-scroll{max-height:min(42vh,380px)}.fd-preview-table{font-size:11px}.fd-preview-table td,.fd-preview-table th{padding:5px 6px}.fd-save-modal-content{width:calc(100vw - 16px);max-width:calc(100vw - 16px);max-height:min(92dvh,92vh)}.fd-save-modal-body .fd-save-fields{padding:12px 14px 14px}}.fd-save-modal{z-index:10001}.fd-save-modal-content{width:min(440px,92vw);max-width:92vw;height:auto!important;max-height:88vh;min-height:0;display:flex;flex-direction:column;background:#fff;overflow:visible}.fd-save-modal-content .balance-modal-body.fd-save-modal-body{overflow:visible!important;flex:0 1 auto;display:flex!important;flex-direction:column!important;gap:0;padding:0}.fd-save-modal-body .fd-save-fields{position:relative;z-index:2;padding:16px 18px 18px}.fd-save-modal .custom-food-category-list{z-index:10}.fd-save-modal-body .fd-save-modal-actions{flex-shrink:0;position:relative;z-index:1;padding:12px 18px;border-top:1px solid var(--border);background:#fff}.fd-save-open-custom-check{display:flex;align-items:center;gap:6px;margin:0;font-size:12px;color:var(--text-secondary);line-height:1.3;cursor:pointer;user-select:none}.fd-save-open-custom-check input[type=checkbox]{width:14px;height:14px;margin:0;flex-shrink:0;cursor:pointer}.custom-food-amount-wrap{position:relative;display:block}.custom-food-amount-wrap input{width:100%;padding:4px 32px 4px 6px;font-size:12px;border:1px solid var(--border-strong);box-sizing:border-box;min-width:0}.custom-food-amount-wrap input.custom-food-energy-atwater:disabled{background:var(--bg-app);color:var(--text-secondary);cursor:not-allowed}.custom-food-amount-wrap input[type=number]::-webkit-inner-spin-button,.custom-food-amount-wrap input[type=number]::-webkit-outer-spin-button{margin-right:20px}.custom-food-amount-unit{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:12px;color:var(--text-muted);pointer-events:none}.custom-food-nutrients-table tbody td.custom-food-nutrient-cat{background:var(--bg-subtle);color:var(--text)}.balance-nutrient-info-wrapper{width:300px;flex-shrink:0;display:flex;flex-direction:column}.balance-other-nutrients-list{margin-top:12px;padding:10px 12px;background:#fff;border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;min-height:0}.balance-other-nutrients-header{flex-shrink:0;display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.balance-other-nutrients-title{font-size:12px;font-weight:600;color:var(--text)}.balance-other-nutrients-header label{font-size:11px;font-weight:400;cursor:pointer;user-select:none;display:flex;align-items:center;gap:4px}.balance-other-nutrients-scroll{flex:1;min-height:0;overflow-y:auto;border:1px solid var(--border)}.balance-other-nutrients-table{width:100%;border-collapse:collapse;font-size:11px}.balance-other-nutrients-table thead{position:sticky;top:0;z-index:1;background:var(--bg-subtle)}.balance-other-nutrients-table td,.balance-other-nutrients-table th{padding:4px 6px;text-align:left;border-bottom:1px solid var(--border)}.balance-other-nutrients-table th{font-weight:600;color:var(--text)}.balance-other-nutrients-table .balance-other-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.balance-other-nutrients-table .balance-other-name-clickable{cursor:pointer}.balance-other-nutrients-table .balance-other-name-clickable:hover{text-decoration:underline}.balance-other-nutrients-table .balance-other-value{white-space:nowrap}.balance-other-nutrients-table .balance-other-status{white-space:nowrap}.balance-nutrient-title{font-size:15px;font-weight:600;color:var(--text);margin-bottom:5px;display:flex;align-items:center;gap:8px}.balance-deficit-badge{display:inline-block;padding:3px 8px;font-size:12px;font-weight:500;border-radius:var(--radius);color:#fff}.balance-deficit-badge.negative{background:#e74c3c;margin-left:auto}.balance-deficit-badge.positive{background:#27ae60;margin-left:auto}.balance-deficit-badge.warning-orange{background:#d35400;margin-left:auto}.balance-deficit-badge.warning-yellow{background:#f39c12;margin-left:auto}.balance-deficit-badge.warning{background:#f39c12;margin-left:auto}.balance-deficit-badge.neutral{background:#95a5a6}.balance-nutrient-subtitle{font-size:12px;color:var(--text-muted);margin-bottom:15px}.balance-nutrient-divider{height:1px;background:var(--border);margin:15px 0}.balance-nutrient-row{display:flex;justify-content:space-between;margin-bottom:10px;font-size:13px}.balance-nutrient-row-label{color:var(--text-secondary)}.balance-nutrient-row-value{color:var(--text);font-weight:500}.balance-nutrient-stacked-bar-wrap{width:100%;margin:15px 0}.balance-nutrient-stacked-bar{display:flex;width:100%;height:10px;overflow:hidden;border-radius:var(--radius);background:#ecf0f1}.balance-nutrient-stacked-bar--empty{min-height:10px}.balance-nutrient-stacked-segment{height:100%;min-width:0;flex-shrink:0;border-radius:0}.balance-nutrient-boxes{display:flex;gap:15px;margin-top:10px}.balance-nutrient-box{flex:1;border:1px solid var(--border);padding:10px;text-align:center}.balance-nutrient-box-label{font-size:11px;color:var(--text-muted);margin-bottom:5px}.balance-nutrient-box-value{font-size:14px;font-weight:600;color:var(--text)}.balance-commercial-arrow{display:inline-block;margin-right:2px;font-weight:700;line-height:1}.balance-commercial-arrow--low{color:#e74c3c}.balance-commercial-arrow--high{color:#e74c3c}.balance-nutrient-box--above-max .balance-nutrient-box-value,.balance-nutrient-box--below-min .balance-nutrient-box-value,.balance-nutrient-row--below-ra .balance-nutrient-row-value{color:#c0392b}.balance-lists-row{flex:1;display:flex;gap:15px;min-width:0;min-height:0}.balance-food-list-wrapper{flex:0 0 calc(32% + 40px);width:calc(32% + 40px);max-width:calc(32% + 40px);display:flex;flex-direction:column;min-width:0}.balance-preview-list-wrapper{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}.balance-preview-list-container{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0;border:1px solid var(--border);background:#fff}.balance-modal-energy-card{flex-shrink:0;margin-top:10px;padding:10px 12px;background:var(--bg-subtle);border:1px solid var(--border);font-size:12px}.balance-modal-energy-card .balance-energy-title{font-weight:600;color:var(--text);margin-bottom:8px;font-size:13px}.balance-modal-energy-card .balance-energy-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:8px}.balance-modal-energy-card .balance-metric-box{padding:8px 10px;background:#fff;border:1px solid #e9ecef}.balance-modal-energy-card .balance-metric-label{font-size:11px;color:#6c757d;margin-bottom:3px}.balance-modal-energy-card .balance-metric-value{font-size:14px;font-weight:600;color:var(--text)}.balance-modal-energy-card .balance-metric-unit{font-size:11px;color:var(--text-muted);margin-left:2px}.balance-preview-list-container table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:12px}.balance-preview-list-container thead th:first-child{width:180px}.balance-preview-list-container thead th:nth-child(3){width:108px;padding-right:16px}.balance-preview-list-container thead th:nth-child(4){padding-left:20px}.balance-preview-list-container thead{position:sticky;top:0;z-index:10;background:var(--bg-subtle)}.balance-preview-list-container thead th{padding:8px;text-align:left;font-weight:600;border-bottom:1px solid var(--border);background:var(--bg-subtle);color:var(--text)}.balance-preview-list-container tbody tr{border-bottom:1px solid var(--border);transition:background .2s}.balance-preview-list-container tbody tr:hover{background:var(--bg-subtle)}.balance-preview-list-container tr.balance-preview-row-total{position:sticky;bottom:0;z-index:5}.balance-preview-list-container tr.balance-preview-row-total td{padding:8px;font-weight:600;background:var(--bg-subtle);color:var(--text)}.balance-preview-stats{display:none;flex-wrap:wrap;gap:6px 12px;padding:8px 10px;background:var(--bg-subtle);border:1px solid var(--border);margin-top:8px;font-size:12px}.bps-item{display:flex;gap:4px;align-items:baseline}.bps-label{color:var(--text-muted);font-size:11px}.bps-value{font-weight:600;color:var(--text)}.balance-preview-list-container tbody td{padding:8px;vertical-align:middle;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.balance-preview-list-container td.balance-preview-cell-name{width:180px;max-width:180px;min-width:180px;white-space:normal;overflow:hidden}.balance-preview-list-container .balance-preview-item-category,.balance-preview-list-container .balance-preview-item-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.balance-preview-list-container .balance-preview-item-name{font-weight:600;color:var(--text)}.balance-preview-list-container .balance-preview-name-row{display:flex;align-items:center;gap:6px;min-width:0}.balance-preview-list-container .balance-preview-color-swatch{flex-shrink:0;width:8px;height:8px;border-radius:var(--radius);display:inline-block}.balance-preview-list-container .balance-preview-name-row .balance-preview-item-name{min-width:0;flex:1}.balance-preview-list-container .balance-preview-item-category{font-size:11px;color:var(--text-secondary);margin-top:2px}.balance-preview-list-container td.balance-preview-cell-calories,.balance-preview-list-container td.balance-preview-cell-current{white-space:normal}.balance-preview-list-container td.balance-preview-cell-current{padding-left:20px}.balance-preview-list-container tr.balance-preview-row-total td:nth-child(3){padding-right:16px}.balance-preview-list-container tr.balance-preview-row-total td.balance-preview-cell-current{padding-left:20px}.balance-preview-list-container .balance-preview-current-value{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.balance-preview-list-container .balance-preview-content-per100g{font-size:11px;color:var(--text-secondary);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.balance-preview-list-container td.balance-preview-cell-original{cursor:pointer}.balance-preview-list-container td.balance-preview-cell-input{width:108px;max-width:108px;padding-right:16px;overflow:visible}.balance-preview-list-container .balance-preview-amount-wrap{position:relative;display:inline-block}.balance-preview-list-container .balance-preview-amount-input{width:84px;box-sizing:border-box;padding:4px 20px 4px 6px;border:1px solid var(--border);border-radius:var(--radius);font-size:12px}.balance-preview-list-container .balance-preview-amount-unit{position:absolute;right:8px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:12px;pointer-events:none}.balance-preview-list-container .balance-preview-remove{padding:4px 8px;font-size:12px;background:#e74c3c;color:#fff;border:none;border-radius:var(--radius);cursor:pointer}.balance-preview-list-container .balance-preview-remove:hover{background:#c0392b}.balance-search-box{margin-bottom:5px}.balance-search-box input{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:13px;box-sizing:border-box}.balance-search-box input:focus{outline:0;border-color:var(--accent)}.balance-food-list-container{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden;border:1px solid var(--border);background:#fff}.balance-food-list-table-wrap{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}.balance-food-list-container table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:12px}.balance-food-list-container .balance-food-col-check{width:40px}.balance-food-list-container .balance-food-col-name{width:38%}.balance-food-list-container .balance-food-col-content{width:auto}.balance-food-list-container thead th:nth-child(2){width:auto}.balance-food-list-container thead th:nth-child(3){width:auto;min-width:0}.balance-food-list-container thead{position:sticky;top:0;z-index:10;background:var(--bg-subtle)}.balance-food-list-container thead th{padding:8px;text-align:left;font-weight:600;border-bottom:1px solid var(--border);background:var(--bg-subtle)}.balance-food-list-container tbody tr{border-bottom:1px solid var(--border);transition:background .2s;cursor:pointer}.balance-food-list-container tbody tr:hover{background:var(--bg-subtle)}.balance-food-list-container tbody tr.selected{background:#e3f2fd}.balance-food-list-container tbody td{padding:8px;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.balance-food-list-container tbody td.balance-food-cell-name{width:auto;max-width:none;min-width:0;white-space:normal;overflow:hidden}.balance-food-list-container tbody td.balance-food-cell-content{width:auto;min-width:0;max-width:none;white-space:normal;overflow:visible;text-overflow:unset}.balance-food-list-container .balance-food-item-category,.balance-food-list-container .balance-food-item-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.balance-food-list-container .balance-food-item-category{font-size:11px;color:var(--text-secondary);margin-top:2px}.balance-load-more-bar{flex-shrink:0;display:flex;justify-content:center;align-items:center;width:100%;padding:10px;background:var(--bg-subtle);border-top:1px solid var(--border);box-sizing:border-box}.balance-food-list-container .balance-load-more-btn{padding:6px 14px;font-size:12px;background:0 0;color:var(--accent);border:none;cursor:pointer;text-decoration:underline}.balance-food-list-container .balance-load-more-btn:hover{color:var(--accent-hover)}.balance-food-list-container .balance-load-more-status{color:var(--text-muted);font-size:12px;user-select:none}.balance-food-list-container .balance-load-more-end{color:#bbb}.balance-food-item-name{font-weight:600;color:var(--text)}.balance-food-item-info{font-size:13px;color:var(--text-secondary)}.balance-modal-actions{padding:15px 20px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:10px;position:sticky;bottom:0;background:#fff;z-index:10}.balance-modal-actions.nutrient-loss-rate-modal-actions{justify-content:space-between;align-items:center;gap:10px}.nutrient-loss-rate-modal-actions-right{display:flex;flex-direction:row;align-items:center;gap:10px}.btn-nutrient-loss-reset{flex-shrink:0;padding:8px 16px;background:#ecf0f1;color:var(--text);border:1px solid #bdc3c7;border-radius:var(--radius);cursor:pointer;font-size:13px;box-sizing:border-box}.btn-nutrient-loss-reset:hover{background:#dfe6e9}#nutrientLossRateModal.balance-modal{z-index:10002}.nutrient-loss-rate-modal-content{width:92%;max-width:560px;height:auto;max-height:82vh;min-height:200px}.nutrient-loss-rate-modal-body{display:block!important;flex:none!important;overflow-x:hidden;overflow-y:auto;max-height:min(52vh,440px);padding:12px 20px 8px!important}.nutrient-loss-rate-hint{margin:0 0 12px 0;font-size:12px;color:#5a5a5a;line-height:1.5}.nutrient-loss-rate-table{width:100%;border-collapse:collapse;font-size:13px}.nutrient-loss-rate-table td,.nutrient-loss-rate-table th{padding:8px 10px;border-bottom:1px solid var(--border);text-align:left}.nutrient-loss-rate-table thead th{background:var(--bg-subtle);font-weight:600;color:var(--text)}.nutrient-loss-rate-table .nutrient-loss-rate-th-pct{text-align:left;width:10em}.nutrient-loss-rate-table .nutrient-loss-rate-th-include{text-align:left;width:5.5em;white-space:nowrap}.nutrient-loss-rate-table .nutrient-loss-rate-td-include{text-align:left;vertical-align:middle}.nutrient-loss-include-label{display:inline-flex;align-items:center;justify-content:flex-start;margin:0;cursor:pointer}.nutrient-loss-include-label input[type=checkbox]{width:16px;height:16px;margin:0;cursor:pointer}.nutrient-loss-rate-table .nutrient-loss-rate-td-input{text-align:left;vertical-align:middle}.nutrient-loss-pct-field{display:inline-flex;align-items:center;max-width:100%;border:1px solid var(--border-strong);padding:0 6px 0 8px;background:#fff;box-sizing:border-box}.nutrient-loss-pct-field .nutrient-loss-input,.nutrient-loss-pct-field .nutrient-retention-input{flex:1 1 auto;min-width:0;width:4.25em;padding:4px 4px 4px 0;border:none;font-size:13px;text-align:left;background:0 0;box-sizing:border-box;outline:0}.nutrient-loss-pct-field .nutrient-loss-pct-suffix{flex-shrink:0;font-size:13px;color:var(--text-secondary);user-select:none;padding-left:2px}.btn-balance-confirm{padding:8px 16px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius);cursor:pointer;font-size:13px}.btn-balance-confirm:hover{background:var(--accent-hover)}.btn-balance-confirm:disabled{background:#b0c4d8;cursor:not-allowed;opacity:.7}.btn-balance-confirm:disabled:hover{background:#b0c4d8}.btn-balance-cancel{padding:8px 16px;background:#95a5a6;color:#fff;border:none;border-radius:var(--radius);cursor:pointer;font-size:13px}.btn-balance-cancel:hover{background:var(--text-muted)}.food-browse-header-left{display:flex;align-items:center;gap:50px;flex:1;min-width:0}.food-browse-header-left h3{flex-shrink:0}.food-browse-global-search-wrap{position:relative;flex:1;max-width:580px;min-width:300px}.food-browse-sort-wrap{display:flex;align-items:center;gap:6px;flex-shrink:0;margin-left:auto}.food-browse-sort-select{min-height:32px;padding:6px 28px 6px 10px;font-size:12px;font-family:inherit;color:var(--text);border:1px solid var(--border);background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L2 4h8z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;box-sizing:border-box;cursor:pointer;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:border-color .15s,background-color .15s}#foodBrowseSortNutrient{max-width:150px;min-width:108px}.food-browse-sort-dir-select{max-width:76px;min-width:68px}.food-browse-sort-select:hover:not(:disabled){border-color:#bbb;background-color:var(--bg-subtle)}.food-browse-sort-select:focus:not(:disabled){border-color:var(--accent)}.food-browse-sort-select:disabled{color:#aaa;cursor:not-allowed;background-color:var(--bg-app)}.food-browse-global-search-inner{display:flex;align-items:center;border:1px solid var(--border);background:#fff;min-height:40px}.food-browse-global-search-check{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary);cursor:pointer;user-select:none;white-space:nowrap;margin:0;padding:0 10px 0 4px;line-height:1;align-self:center}.food-browse-global-search-check input{cursor:pointer;margin:0;margin-top:0;margin-bottom:0;flex-shrink:0}.food-browse-global-search-inner:focus-within{border-color:var(--accent)}.food-browse-global-search-icon{flex-shrink:0;width:28px;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.food-browse-global-search-icon svg{width:16px;height:16px}.food-browse-global-search-input{flex:1;min-width:0;padding:8px 12px 8px 12px;font-size:13px;border:none!important;border-radius:var(--radius);box-sizing:border-box;background:0 0;box-shadow:none}.food-browse-global-search-inner .food-browse-global-search-input:focus{outline:0;box-shadow:none}.food-browse-global-search-clear{flex-shrink:0;width:32px;height:32px;padding:0;margin:0 4px 0 0;border:none;background:0 0;color:var(--text-muted);font-size:18px;line-height:1;cursor:default;display:flex;align-items:center;justify-content:center;border-radius:var(--radius)}.food-browse-global-search-clear:hover{color:var(--text)}.food-browse-global-search-results{position:absolute;left:0;top:100%;margin-top:2px;width:100%;max-height:280px;overflow-y:auto;background:#fff;border:1px solid var(--border-strong);box-shadow:0 4px 12px rgba(0,0,0,.15);z-index:1001}.food-browse-global-search-results .food-search-item{padding:10px 12px;cursor:pointer;border-bottom:1px solid var(--border);font-size:13px}.food-browse-global-search-results .food-search-item:hover{background:var(--border)}.food-browse-global-search-results .food-search-db-line{color:var(--text-muted);font-size:12px;margin-top:2px}.food-browse-modal-footer{display:none}.food-browse-modal-content{max-width:1400px;width:1400px;height:80vh;max-height:80vh;min-height:420px;display:flex;flex-direction:column;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-lg)}#foodCompareModal.balance-modal{z-index:10002}#foodCompareCombineSaveModal.balance-modal{z-index:10003}.food-compare-entry-btn{flex-shrink:0}.food-compare-modal-body{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;padding:12px 16px 16px;gap:10px}.food-compare-clear-slots-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 14px;box-sizing:border-box;border:1px solid #c0392b;border-radius:var(--radius);background:0 0;color:#c0392b;font-size:13px;font-weight:500;line-height:1;cursor:pointer;white-space:nowrap;transition:background .2s,border-color .2s,color .2s}.food-compare-clear-slots-btn:hover:not(:disabled){border-color:#922b21;background:rgba(192,57,43,.06);color:#922b21}.food-compare-clear-slots-btn:disabled{color:#bbb;border-color:var(--border-strong);background:0 0;cursor:not-allowed}.food-compare-combine-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 14px;box-sizing:border-box;border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent);color:#fff;font-size:13px;font-weight:500;line-height:1;cursor:pointer;white-space:nowrap;transition:background .2s,border-color .2s,color .2s}.food-compare-combine-btn:hover:not(:disabled){border-color:var(--accent-hover);background:var(--accent-hover);color:#fff}.food-compare-combine-btn:disabled{color:#bbb;border-color:var(--border-strong);background:var(--border);cursor:not-allowed}.food-compare-combine-btn-active{background:0 0;border-color:var(--accent);color:var(--accent)}.food-compare-combine-btn-active:hover:not(:disabled){background:rgba(52,152,219,.06);border-color:var(--accent-hover);color:var(--accent-hover)}.food-compare-combine-footer{flex-shrink:0}.food-compare-combine-footer[hidden]{display:none!important}.food-compare-combine-hint{margin:0;font-size:13px;line-height:1.45;color:var(--text-secondary)}.food-compare-slot-count{flex-shrink:0;font-size:12px;color:var(--text-muted);font-weight:600;white-space:nowrap}.food-compare-search-row{display:flex;align-items:center;gap:8px;flex-shrink:0;position:relative;z-index:20}.food-compare-db-wrap{flex-shrink:0;min-width:140px}.food-compare-db-wrap .db-multi-trigger{height:36px;padding:0 28px 0 12px;box-sizing:border-box;line-height:34px;font-size:14px}.food-compare-search-wrap{min-width:0;height:36px;box-sizing:border-box;position:relative;z-index:2}#foodCompareModal .db-multi-dropdown,#foodCompareModal .food-search-results{z-index:30}.food-compare-search-wrap .food-search-input-inner{height:100%;min-height:0;padding-right:36px}.food-compare-search-wrap .food-search-clear-btn{width:36px;height:36px}.food-compare-main{flex:1;min-height:0;display:flex;flex-direction:column;border:1px solid var(--border);background:var(--bg-subtle);overflow:hidden;position:relative;z-index:1}.food-compare-table-scroll{flex:1;min-height:0;overflow:auto}.food-compare-table-scroll[hidden]{display:none!important}.food-compare-table{width:max-content;table-layout:fixed;border-collapse:separate;border-spacing:0;font-size:13px;background:#fff}.food-compare-table col.food-compare-col-cat{width:80px}.food-compare-table col.food-compare-col-name{width:168px}.food-compare-table col.food-compare-col-unit{width:52px}.food-compare-table col.food-compare-col-combine{width:112px}.food-compare-table col.food-compare-col-food{width:140px}.food-compare-table thead th{background:#f0f3f6;border-bottom:2px solid var(--border-strong);border-right:1px solid var(--border);padding:8px 10px;text-align:center;vertical-align:middle;font-weight:600;color:var(--text)}.food-compare-table thead th.food-compare-col-head{position:sticky;top:0;left:auto;z-index:3}.food-compare-col-head{width:140px;max-width:140px;overflow:hidden;padding:8px 4px}.food-compare-col-head-selectable{cursor:pointer}.food-compare-sticky-col{position:sticky;z-index:2;background:#fff}.food-compare-table thead th.food-compare-sticky-col{top:0;z-index:4;background:#f0f3f6}.food-compare-col-head-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:100%;text-align:center;padding:0 10px;box-sizing:border-box}.food-compare-remove-btn{position:absolute;top:2px;right:2px;z-index:1;border:none;background:rgba(240,243,246,.92);color:var(--text-muted);font-size:14px;line-height:1;cursor:pointer;padding:0 4px;width:18px;height:18px;border-radius:var(--radius);opacity:.55}.food-compare-col-head:hover .food-compare-remove-btn,.food-compare-remove-btn:focus,.food-compare-remove-btn:hover{opacity:1;color:#c0392b;background:rgba(255,255,255,.95)}.food-compare-col-name{font-size:13px;font-weight:600;color:#222;width:100%;text-align:center;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;word-break:break-word}.food-compare-col-meta{font-size:11px;color:var(--text-muted);font-weight:400;margin-top:4px;width:100%;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.food-compare-col-status{display:block;font-size:11px;color:var(--text-muted);margin-top:4px;font-weight:400;text-align:center}.food-compare-col-error{color:#c0392b}.food-compare-table tbody td{border-bottom:1px solid var(--border);border-right:1px solid var(--border);padding:6px 10px;vertical-align:middle}.food-compare-table tbody tr.food-compare-data-row:hover td.food-compare-val-cell{background:#f0f4f8}.food-compare-table tbody tr.food-compare-data-row:hover td.food-compare-combine-cell,.food-compare-table tbody tr.food-compare-data-row:hover td.food-compare-name-cell,.food-compare-table tbody tr.food-compare-data-row:hover td.food-compare-unit-cell{background:var(--border)}.food-compare-table tbody td.food-compare-cat-cell:hover,.food-compare-table tbody tr.food-compare-data-row:hover td.food-compare-cat-cell{background:var(--bg-subtle)}.food-compare-cat-cell,.food-compare-combine-cell,.food-compare-name-cell,.food-compare-unit-cell{background:var(--bg-subtle)}.food-compare-cat-th{left:0;width:80px;min-width:80px;max-width:80px;text-align:center}.food-compare-name-th{left:80px;width:168px;min-width:168px;max-width:168px;text-align:left}.food-compare-unit-th{left:248px;width:52px;min-width:52px;max-width:52px;text-align:center}.food-compare-combine-th{left:var(--fc-left-combine,300px);width:112px;min-width:112px;max-width:112px;text-align:center;box-shadow:2px 0 4px -2px rgba(0,0,0,.08)}.food-compare-cat-cell{left:0;width:80px;min-width:80px;max-width:80px;font-size:11px;color:var(--text-muted);font-weight:600;vertical-align:middle;text-align:center;word-break:break-word;overflow:hidden}.food-compare-name-cell{left:80px;width:168px;min-width:168px;max-width:168px;font-weight:500;color:var(--text);text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.food-compare-unit-cell{left:248px;width:52px;min-width:52px;max-width:52px;color:var(--text-muted);font-size:12px;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.food-compare-combine-cell{left:var(--fc-left-combine,300px);width:112px;min-width:112px;max-width:112px;font-weight:600;color:#2c5282;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-shadow:2px 0 4px -2px rgba(0,0,0,.08)}.food-compare-val-cell.food-compare-val-selectable{cursor:pointer;user-select:none}.food-compare-val-cell.food-compare-val-disabled{cursor:default;color:rgba(51,51,51,.38)}.food-compare-table tbody tr.food-compare-data-row:hover td.food-compare-val-cell.food-compare-val-disabled{color:rgba(51,51,51,.38)}.food-compare-val-cell.food-compare-val-selected{background:#d6ebff!important}.food-compare-table tbody tr.food-compare-data-row:hover td.food-compare-val-cell.food-compare-val-selected{background:#c5e0fb!important}.food-compare-val-cell{width:140px;max-width:140px;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.food-compare-no-rows{text-align:center;color:var(--text-muted);padding:24px!important}.food-browse-modal-body{display:flex;flex-direction:row;flex:1;min-height:0;overflow:hidden;padding:0;gap:0}.food-browse-categories{width:320px;min-width:320px;border-right:1px solid var(--border);display:flex;flex-direction:column;background:var(--bg-subtle);overflow:hidden}.food-browse-cat-select-mobile{display:none}.food-browse-db-picker{position:relative;width:100%;flex-shrink:0;border-bottom:1px solid var(--border);background:var(--bg-subtle)}.food-browse-db-picker-trigger{width:100%;margin:0;padding:10px 36px 10px 12px;border:none;background-color:var(--bg-subtle);box-sizing:border-box;cursor:pointer;outline:0;text-align:left;font-family:inherit;position:relative;transition:background-color .15s}.food-browse-db-picker-trigger::after{content:'';position:absolute;right:14px;top:50%;transform:translateY(-50%);border:5px solid transparent;border-top-color:var(--text-secondary);pointer-events:none}.food-browse-db-picker-trigger[aria-expanded=true]::after{border-top-color:transparent;border-bottom-color:var(--text-secondary);transform:translateY(-60%)}.food-browse-db-picker-trigger:hover{background-color:#eff1f4}.food-browse-db-picker-trigger:focus-visible{background-color:#e8f0fb;box-shadow:inset 0 -2px 0 var(--accent)}.food-browse-db-picker-trigger-inner{display:flex;align-items:center;gap:10px;min-width:0}.food-browse-db-picker-logo{width:28px;height:28px;flex-shrink:0;object-fit:contain;background:0 0;border:none}.food-browse-db-picker-text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.food-browse-db-picker-name{font-size:13px;font-weight:600;color:var(--text);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.food-browse-db-picker-org{font-size:11px;color:#6b7280;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.food-browse-db-picker-org:empty{display:none}.food-browse-db-picker-menu{position:absolute;top:100%;left:0;right:0;z-index:1200;max-height:min(320px,50vh);overflow-y:auto;background:#fff;border:1px solid #dce1e6;border-top:none;box-shadow:0 6px 16px rgba(0,0,0,.12)}.food-browse-db-picker-option{display:flex;align-items:center;gap:10px;width:100%;margin:0;padding:10px 12px;border:none;background:0 0;cursor:pointer;text-align:left;font-family:inherit;box-sizing:border-box}.food-browse-db-picker-option:hover{background:#f0f4f8}.food-browse-db-picker-option[aria-selected=true]{background:#e8f0fb}.food-browse-db-picker-option+.food-browse-db-picker-option{border-top:1px solid var(--border)}.food-browse-db-selector-native{display:none!important}.food-browse-cat-select-mobile{width:100%;margin:0;padding:10px 32px 10px 14px;font-size:13px;font-family:inherit;color:var(--text);border:none;border-bottom:1px solid var(--border);background-color:var(--bg-subtle);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L2 4h8z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;box-sizing:border-box;cursor:pointer;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:background-color .15s}.food-browse-cat-select-mobile:hover,.food-browse-db-selector:hover{background-color:#eff1f4}.food-browse-cat-select-mobile:focus,.food-browse-db-selector:focus{background-color:#e8f0fb;border-bottom-color:var(--accent)}.food-browse-category-list{list-style:none;margin:0;padding:8px 0;overflow-y:auto;overflow-x:hidden}.food-browse-cat-row{display:block;padding:8px 14px;cursor:pointer;font-size:13px;color:var(--text-secondary)}.food-browse-cat-row:hover{background:#e8eaed}.food-browse-cat-row.active{background:var(--accent);color:#fff;cursor:default}.food-browse-cat-row.active .food-browse-cat-toggle{color:rgba(255,255,255,.9)}.food-browse-category-list li.food-browse-cat-root>.food-browse-cat-row .food-browse-cat-label,.food-browse-category-list>li.food-browse-cat-root>.food-browse-cat-row{font-weight:700}.food-browse-cat-toggle{display:inline-block;width:16px;margin-right:4px;cursor:pointer;user-select:none;font-size:10px;color:#aaa;vertical-align:middle}.food-browse-cat-toggle:hover{color:var(--text-muted)}.food-browse-cat-label{cursor:pointer;vertical-align:middle}.food-browse-cat-children{list-style:none;margin:0;padding:0 0 0 12px;display:none}.food-browse-category-list li.food-browse-cat-expanded>.food-browse-cat-children{display:block}.food-browse-category-list li.food-browse-cat-expanded .food-browse-cat-children .food-browse-cat-row{background:#f0f1f4}.food-browse-category-list li.food-browse-cat-expanded .food-browse-cat-children .food-browse-cat-row:hover{background:#e8eaed}.food-browse-category-list li.food-browse-cat-expanded .food-browse-cat-children .food-browse-cat-row.active{background:var(--accent)}.food-browse-category-list li{padding:0;font-size:13px;color:var(--text-secondary)}.food-browse-category-list li.food-browse-cat-has-children>.food-browse-cat-row{padding-left:18px}.food-browse-main{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden}.food-browse-toolbar{padding:10px 14px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px;flex-shrink:0}.food-browse-toolbar .food-browse-count-label{flex-shrink:0}.food-browse-count-label{font-size:13px;color:var(--text-secondary)}.food-browse-count-label .food-browse-count-num{font-weight:700}.food-browse-main .food-browse-pagination{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:14px 14px;border-top:1px solid var(--border);background:var(--bg-subtle);font-size:12px;line-height:1.5}.food-browse-page-info{color:var(--text-secondary)}.btn-browse-page{padding:4px 8px;font-size:inherit;line-height:inherit;border:none;background:0 0;color:var(--text);cursor:pointer}.btn-browse-page.btn-browse-page-icon{display:inline-flex;align-items:center;justify-content:center;height:18px;padding:0 3px;border:1px solid var(--border);background:#fff;border-radius:var(--radius);box-sizing:border-box}.btn-browse-page.btn-browse-page-icon svg{width:12px;height:12px}.btn-browse-page.btn-browse-page-icon:hover:not(:disabled){background:#f1f3f4;border-color:var(--accent);color:var(--accent)}.btn-browse-page:disabled{opacity:.5;cursor:not-allowed}.food-browse-list{flex:1;overflow-y:auto;padding:8px}.food-browse-item{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:8px;background:#fff;overflow:hidden}.food-browse-item-name{flex:1;font-size:14px;color:var(--text);min-width:0}.food-browse-item-kcal{font-size:13px;color:var(--text-muted);white-space:nowrap}.food-browse-item-actions{padding:8px 6px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.food-browse-amount-wrap,.food-browse-der-wrap{position:relative;display:inline-block}.food-browse-amount-wrap input,.food-browse-der-wrap input{width:108px;height:28px;font-size:12px;border:1px solid var(--border);border-radius:var(--radius);box-sizing:border-box}.food-browse-amount-wrap input{padding:0 22px 0 8px}.food-browse-der-wrap input{padding:0 20px 0 6px}.food-browse-amount-unit,.food-browse-der-unit{position:absolute;right:8px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:12px;pointer-events:none}.food-browse-der-wrap .food-browse-der-unit{right:4px}.food-browse-detail-panel-footer .btn-add-small,.food-browse-item-actions .btn-add-small{height:28px;padding:0 14px;font-size:12px;line-height:26px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius);cursor:pointer;white-space:nowrap;box-sizing:border-box}.food-browse-detail-panel-footer .btn-add-small:hover,.food-browse-item-actions .btn-add-small:hover{background:var(--accent-hover)}.food-browse-detail-panel-footer .btn-add-secondary{background:#fff;color:var(--accent);border:1px solid var(--accent)}.food-browse-detail-panel-footer .btn-add-secondary:hover{background:#f0f7ff;color:var(--accent-hover);border-color:var(--accent-hover)}.food-browse-detail-panel-footer .btn-add-small-disabled,.food-browse-detail-panel-footer .btn-add-small:disabled,.food-browse-item-actions .btn-add-small-disabled,.food-browse-item-actions .btn-add-small:disabled{background:#95a5a6;cursor:default}.food-browse-detail-panel-footer .btn-add-small-disabled:hover,.food-browse-detail-panel-footer .btn-add-small:disabled:hover,.food-browse-item-actions .btn-add-small-disabled:hover,.food-browse-item-actions .btn-add-small:disabled:hover{background:#95a5a6}.food-browse-detail-panel{width:620px;min-width:400px;border-left:1px solid var(--border);display:flex;flex-direction:column;background:#fff;overflow:hidden}.food-browse-panel-mobile-bar{display:none}.food-browse-detail-panel-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:12px;color:#bbb;text-align:center;padding:20px;line-height:1.6}.food-browse-detail-panel-content{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.food-browse-detail-panel-meta{padding:12px 14px 8px;border-bottom:1px solid var(--border);flex-shrink:0}.food-browse-detail-panel-body{flex:1;overflow-y:auto;min-height:0;display:flex;flex-direction:column}.food-browse-detail-table-wrap{max-height:270px;overflow-y:auto;margin-bottom:10px}.fbp-table{width:100%}.food-browse-detail-panel-footer{flex-shrink:0;border-top:1px solid var(--border);padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:var(--bg-subtle)}.food-browse-panel-footer-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;margin-left:auto}.food-browse-panel-inputs{display:flex;align-items:center;gap:6px;flex:1;flex-wrap:wrap}.food-browse-item{display:flex;align-items:center;justify-content:space-between;padding:7px 12px;border-bottom:1px solid var(--border);cursor:pointer;gap:8px}.food-browse-item:hover{background:#f5f8ff}.food-browse-item.food-browse-item-selected{background:#eaf2ff;border-left:3px solid var(--accent);padding-left:9px}.food-browse-item-name{flex:1;min-width:0;font-size:12px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.food-browse-item-right{display:flex;align-items:center;gap:4px;flex-shrink:0}.food-browse-item-kcal,.food-browse-item-sort-value{font-size:11px;color:var(--text-muted);white-space:nowrap}.food-browse-item-sort-value{color:var(--text-secondary);font-variant-numeric:tabular-nums}.food-browse-item-tag-added{font-size:10px;padding:1px 5px;border-radius:var(--radius);background:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7}.food-browse-preview{width:600px;min-width:600px;border-left:1px solid var(--border);display:flex;flex-direction:column;background:#fff}.food-browse-preview-empty{font-size:12px;color:var(--text-muted);padding:20px 10px;text-align:center}.food-browse-preview-table{border-collapse:collapse;width:100%;min-width:100%}.food-browse-preview-table td,.food-browse-preview-table th{padding:8px 10px;border-bottom:1px solid var(--border);vertical-align:middle}.food-browse-preview-table th{background:var(--bg-subtle);font-weight:600;color:var(--text);position:sticky;top:0}.food-browse-preview-table td{color:var(--text-secondary)}.food-browse-preview-table tfoot{position:sticky;bottom:0;z-index:1}.food-browse-preview-table tfoot tr{background:var(--bg-subtle);font-weight:600;box-shadow:0 -2px 0 0 var(--bg-subtle)}.food-browse-preview-table .btn-remove{white-space:nowrap}.food-browse-preview-name-cell{vertical-align:top}.food-browse-preview-name-line{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;color:var(--text)}.food-browse-preview-db-line{font-size:11px;color:var(--text-muted);margin-top:2px}.input-with-unit{position:relative;display:block}.input-with-unit input[type=number]{padding-right:40px}.input-with-unit .input-unit{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:14px;pointer-events:none}.ideal-weight-input-with-unit{width:100%}.target-weight-input-wrap{position:relative}.target-weight-input-wrap .input-with-unit input[type=number]{padding-right:58px}.target-weight-input-wrap .input-unit{right:36px}.target-weight-help-btn{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:22px;height:22px;border:none;background:#e9ecef;color:var(--text-secondary);font-size:13px;font-weight:700;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:0;line-height:1}.target-weight-help-btn:hover{color:var(--accent);background:rgba(0,0,0,.06)}.energy-guide-help-btn{width:22px;height:22px;border:none;background:#e9ecef;color:var(--text-secondary);font-size:13px;font-weight:700;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:0;line-height:1;flex-shrink:0}.energy-guide-help-btn:hover{color:var(--accent);background:rgba(0,0,0,.06)}.energy-guide-help-btn.food-database-help-btn-unseen{animation:food-database-help-btn-glow 1.5s ease-in-out infinite}@keyframes food-database-help-btn-glow{0%,100%{box-shadow:0 0 6px rgba(52,152,219,.6)}50%{box-shadow:0 0 14px rgba(52,152,219,.9),0 0 20px rgba(52,152,219,.4)}}#energyGuideModal .ideal-weight-modal-content{max-width:1120px;width:min(1120px,calc(100vw - 32px));max-height:72vh}#energyGuideModal .ideal-weight-modal-body{padding:0;overflow:hidden;flex:1;min-height:0;display:flex;flex-direction:column}.energy-guide-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;flex:1;min-height:0;overflow:hidden}.energy-guide-main{padding:16px 18px;overflow-y:auto;overflow-x:hidden;min-height:0}.energy-guide-standard-head{display:flex;align-items:center;gap:12px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--border)}.energy-guide-standard-head-text{flex:1;min-width:0}.energy-guide-standard-logo{flex-shrink:0;height:36px;width:auto;max-width:100px;object-fit:contain;opacity:.85}.energy-guide-standard-title{margin:0 0 4px;font-size:16px;font-weight:600;color:var(--text);line-height:1.4}.energy-guide-standard-subtitle{margin:0;font-size:12px;color:var(--text-muted);line-height:1.4}.energy-guide-main .ideal-weight-intro{margin-top:0}.energy-guide-sidebar{border-left:1px solid var(--border);background:var(--bg-subtle);display:flex;flex-direction:column;min-height:0;overflow:hidden}.energy-guide-sidebar-section{padding:14px 12px;flex-shrink:0}.energy-guide-sidebar-section+.energy-guide-sidebar-section{border-top:1px solid var(--border)}.energy-guide-sidebar-nrc{flex:1;min-height:0;overflow:hidden}.energy-guide-sidebar-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.energy-guide-sidebar-title{font-size:13px;font-weight:600;color:#34495e;margin-bottom:8px}.energy-guide-sidebar-title-row .energy-guide-sidebar-title{margin-bottom:0}.energy-guide-std-list{display:flex;flex-direction:column;gap:4px}.energy-guide-std-btn{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;border:0;background:0 0;color:#34495e;text-align:left;padding:10px 12px;cursor:pointer;font-size:14px;font-weight:600;border-radius:var(--radius)}.energy-guide-std-btn-label{flex:1;min-width:0;display:block;line-height:1.35}.energy-guide-std-btn-text{flex:1;min-width:0}.energy-guide-std-btn-sub{display:block;font-size:11px;font-weight:400;color:var(--text-muted);line-height:1.3;margin-top:2px}.energy-guide-std-btn.active .energy-guide-std-btn-sub{color:#5a8ab5}.energy-guide-std-btn-check{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;color:#21618c;visibility:hidden}.energy-guide-std-btn-check-icon{display:block;width:16px;height:16px}.energy-guide-std-btn.active .energy-guide-std-btn-check{visibility:visible}.energy-guide-std-btn.active,.energy-guide-std-btn:hover{background:#eaf3fb;color:#21618c}.energy-guide-sidebar-desc,.energy-guide-sidebar-hint{font-size:12px;color:var(--text-muted);line-height:1.5;margin:8px 0 0}.energy-guide-nrc-prefer-k{display:flex;align-items:flex-start;gap:8px;margin:10px 0 6px;cursor:pointer;user-select:none}.energy-guide-nrc-prefer-k input[type=checkbox]{margin:2px 0 0;flex-shrink:0}.energy-guide-nrc-prefer-k-text{font-size:13px;line-height:1.45;color:var(--text)}.energy-guide-nrc-prefer-k-hint{margin:0 0 10px;font-size:11px;line-height:1.45;color:var(--text-muted)}.nrc-ref-k-equiv{margin-top:8px;padding:8px 10px;border-radius:var(--radius);background:rgba(52,152,219,.08);font-size:12px;line-height:1.45;color:var(--text)}.energy-guide-nrc-tag{font-size:11px;line-height:1.4;padding:2px 6px;border:1px solid #e0c090;background:#fff8ee;color:#9a6700;border-radius:var(--radius);white-space:nowrap}.energy-guide-sidebar .nrc-ref-body{margin-top:10px}.nrc-ref-card{background:#fff;border:1px solid var(--border);padding:10px 12px}.energy-guide-sidebar .nrc-ref-card .nrc-ref-value{font-size:22px}.energy-guide-sidebar .nrc-ref-card .nrc-ref-uncomputable{font-size:18px}.nrc-ref-card .nrc-ref-stage{margin-bottom:6px}.nrc-ref-stage{font-size:13px;color:var(--text-muted)}.nrc-ref-value{font-size:30px;font-weight:700;color:#2c5e9c;line-height:1.2}.nrc-ref-value span{font-size:14px;font-weight:400;color:var(--text-muted)}.nrc-ref-uncomputable{font-size:24px;font-weight:700;color:#b06a00;line-height:1.2}.nrc-ref-reason{margin-top:8px;font-size:13px;color:var(--text-secondary);line-height:1.6}.nrc-ref-comps{margin-top:10px}.nrc-ref-comp{display:flex;justify-content:space-between;font-size:13px;color:var(--text-secondary);padding:4px 0;border-bottom:1px dashed #e3e7ec}.nrc-ref-notes{margin:10px 0 0;padding-left:18px;font-size:12px;color:var(--text-muted);line-height:1.6}.nutrition-standards-help-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:10002;display:flex;justify-content:center;align-items:center}.nutrition-standards-help-content{background:#fff;border-radius:var(--radius);width:92%;max-width:640px;max-height:88vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg)}.nutrition-standards-help-header{padding:16px 20px;border-bottom:1px solid #e8ecef;display:flex;justify-content:space-between;align-items:center;background:var(--bg-subtle)}.nutrition-standards-help-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text)}.nutrition-standards-help-body{padding:18px 20px 20px;overflow-y:auto;font-size:13px;color:var(--text-secondary);line-height:1.6}.nutrition-standards-help-body .help-section{margin-bottom:16px}.nutrition-standards-help-body .help-section:last-child{margin-bottom:0}.nutrition-standards-help-body .help-section-title{font-weight:600;color:var(--text);margin-bottom:8px}.nutrition-standards-help-body .help-standards-list{list-style:none;padding:0;margin:0}.nutrition-standards-help-body .help-standards-list li{padding:6px 0;border-bottom:1px solid var(--border)}.nutrition-standards-help-body .help-standards-list li:last-child{border-bottom:none}.nutrition-standards-help-body .help-standards-list .std-name{font-weight:500;color:var(--text)}.nutrition-standards-help-body .help-standards-list .std-desc{font-size:12px;color:var(--text-secondary);margin-top:2px}.nutrition-standards-help-body .help-standards-checkboxes{display:flex;flex-direction:column;gap:12px}.nutrition-standards-help-body .help-standard-item{padding:10px 12px;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius)}.nutrition-standards-help-body .help-standard-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;color:var(--text);font-weight:500}.nutrition-standards-help-body .help-standard-checkbox input{cursor:pointer;flex-shrink:0}.nutrition-standards-help-body .help-life-stage-badge{font-size:11px;color:#5a7a96;background:#dce8f0;padding:1px 6px;border-radius:var(--radius);white-space:nowrap;margin-left:auto;flex-shrink:0}.nutrition-standards-help-body .help-standard-desc{font-size:12px;color:var(--text-secondary);line-height:1.5;margin-top:6px;margin-left:24px}.nutrition-standards-help-body .help-table-wrap{height:50vh;min-height:280px;overflow-x:auto;overflow-y:auto;border:1px solid var(--border)}.nutrition-standards-help-body .help-standards-table{width:100%;border-collapse:collapse;font-size:12px}.nutrition-standards-help-body .help-standards-table td,.nutrition-standards-help-body .help-standards-table th{padding:8px 10px;text-align:left;border-bottom:1px solid var(--border)}.nutrition-standards-help-body .help-standards-table th{background:var(--bg-subtle);font-weight:600;color:var(--text)}.nutrition-standards-help-body .help-standards-table .col-category{min-width:72px}.nutrition-standards-help-body .help-standards-table .col-name{min-width:100px}.nutrition-standards-help-body .help-standards-table .col-unit{min-width:48px}.nutrition-standards-help-body .help-standards-table .col-max,.nutrition-standards-help-body .help-standards-table .col-min,.nutrition-standards-help-body .help-standards-table .col-nrc{width:88px;min-width:88px;text-align:right}.nutrition-standards-help-body .help-standards-table .help-nrc-conflict{text-decoration:line-through}.nutrition-standards-help-body .help-table-empty,.nutrition-standards-help-body .help-table-error,.nutrition-standards-help-body .help-table-loading{text-align:center;color:var(--text-muted);padding:24px}.nutrition-standards-help-body .help-table-error{color:#c0392b}.nutrition-standards-help-body .help-toc{display:flex;flex-wrap:wrap;gap:4px 6px;padding:8px 10px;margin:-20px -20px 16px;background:#f5f7fa;border-bottom:1px solid var(--border);position:sticky;top:-20px;z-index:1}.nutrition-standards-help-body .help-toc a{font-size:12px;color:#3a5a80;background:#fff;border:1px solid #d6dee8;padding:3px 8px;text-decoration:none;line-height:1.4;transition:background .15s,color .15s}.nutrition-standards-help-body .help-toc a:hover{background:#2c5e9c;color:#fff;border-color:#2c5e9c}.nutrition-standards-help-body .help-paragraph{margin:0 0 10px;font-size:13px;color:var(--text-secondary);line-height:1.65}.nutrition-standards-help-body .help-list{margin:4px 0 8px 18px;padding:0;font-size:13px;line-height:1.7;color:var(--text-secondary)}.nutrition-standards-help-body .help-list-ordered{list-style:decimal}.nutrition-standards-help-body .help-subtitle{font-weight:600;color:var(--text);margin:4px 0 6px;font-size:13px}.nutrition-standards-help-body .help-muted{color:var(--text-muted);font-size:12px}.nutrition-standards-help-body .help-empty{color:var(--text-muted);font-size:12px;padding:12px;background:var(--bg-subtle);border:1px dashed var(--border)}.nutrition-standards-help-body .help-disclaimer{margin:6px 0 0;padding:10px 12px;background:#fffaf0;border:1px solid #f0d9a8;color:#8a6116;font-size:12.5px;line-height:1.6}.nutrition-standards-help-body .help-callout{margin:8px 0 0;padding:10px 12px;background:#f4f9ff;border:1px solid #c7dcf5;color:#1d4f8b;font-size:12.5px;line-height:1.6}.nutrition-standards-help-body .help-callout-info{background:#f6f8ec;border-color:#d8e0a4;color:#4f6321}.nutrition-standards-help-body .help-code{font-family:Menlo,Consolas,"Courier New",monospace;font-size:12px;background:var(--border);color:var(--text);padding:1px 5px;border-radius:var(--radius)}.nutrition-standards-help-body .help-standards-intro{margin:0 0 16px;padding:12px 14px;background:#f5f8fb;border:1px solid #e3eaf2;color:#4a5568;line-height:1.65}.nutrition-standards-help-body .help-role-card-grid{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.nutrition-standards-help-body .help-role-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--border);box-sizing:border-box}.nutrition-standards-help-body .help-role-card-inner{flex:1 1 auto;min-width:0;padding:14px 16px;display:flex;flex-direction:column;gap:10px}.nutrition-standards-help-body .help-role-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.nutrition-standards-help-body .help-role-card-head-main{min-width:0;display:flex;flex-direction:column;gap:6px}.nutrition-standards-help-body .help-role-card-title{font-weight:600;color:var(--text);font-size:14px;line-height:1.35}.nutrition-standards-help-body .help-role-card-role-pill{display:inline-flex;align-self:flex-start;font-size:11px;line-height:1.4;padding:2px 8px;color:var(--help-std-color,#2c5e9c);background:#f3f6f9;border:1px solid #dde5ee}.nutrition-standards-help-body .help-role-card-sub{font-size:11.5px;color:var(--text-muted);margin-top:2px}.nutrition-standards-help-body .help-role-card-desc{font-size:13px;color:var(--text-secondary);line-height:1.65}.nutrition-standards-help-body .help-role-card-meta{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding-top:10px;border-top:1px dashed #e8edf2;font-size:12px;color:var(--text-secondary)}.nutrition-standards-help-body .help-meta-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.nutrition-standards-help-body .help-meta-key{color:var(--text-muted);font-size:12px;flex-shrink:0}.nutrition-standards-help-body .help-pill-row{display:inline-flex;flex-wrap:wrap;gap:6px}.nutrition-standards-help-body .help-pill{display:inline-block;font-size:11px;padding:2px 8px;background:#f3f6f9;color:#3a5a80;border:1px solid #dde5ee;line-height:1.5}.nutrition-standards-help-body .help-role-card-note{font-size:11.5px;color:#777;line-height:1.5;border-top:1px dashed var(--border);padding-top:6px}.nutrition-standards-help-body .help-role-tag{font-size:11px;padding:2px 8px;border-radius:var(--radius);white-space:nowrap;line-height:1.5;flex-shrink:0}.nutrition-standards-help-body .help-tag-active{background:#e3f2e6;color:#2f7c45;border:1px solid #b9dec3}.nutrition-standards-help-body .help-tag-warn{background:#fff5e0;color:#a86a13;border:1px solid #f0d9a8}.nutrition-standards-help-body .help-tag-muted{background:var(--border);color:var(--text-muted);border:1px solid var(--border)}.nutrition-standards-help-body .help-mini-table{width:100%;border-collapse:collapse;font-size:12.5px;margin:4px 0}.nutrition-standards-help-body .help-mini-table td,.nutrition-standards-help-body .help-mini-table th{text-align:left;padding:6px 10px;border:1px solid var(--border);vertical-align:top}.nutrition-standards-help-body .help-mini-table th{background:#f5f7fa;color:var(--text);font-weight:600}.nutrition-standards-help-body .help-mini-table .help-row-current{background:#f4f9ff}.nutrition-standards-help-body .help-mini-table .help-row-current td:first-child::before{content:"▶ ";color:#2c5e9c;font-weight:700}.nutrition-standards-help-body .help-ratio-block{margin:12px 0 4px;padding:10px 12px 8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-subtle)}.nutrition-standards-help-body .help-ratio-title{font-size:13.5px;font-weight:600;color:var(--text);margin-bottom:4px}.nutrition-standards-help-body .help-ratio-note{font-size:12px;color:var(--text-secondary);margin-bottom:6px}.nutrition-standards-help-body .help-mini-table .help-row-muted td{color:#aaa;font-style:italic}.nutrition-standards-help-body .help-rule-table-wrap{overflow-x:auto;border:1px solid var(--border);margin-top:4px}.nutrition-standards-help-body .help-rule-table{width:100%;border-collapse:collapse;font-size:12px;min-width:720px}.nutrition-standards-help-body .help-rule-table td,.nutrition-standards-help-body .help-rule-table th{padding:6px 10px;text-align:left;border-bottom:1px solid var(--border);vertical-align:top;line-height:1.55}.nutrition-standards-help-body .help-rule-table th{background:#f5f7fa;font-weight:600;color:var(--text);white-space:nowrap}.nutrition-standards-help-body .help-rule-id{width:28px;color:var(--text-muted);font-weight:600;text-align:center}.nutrition-standards-help-body .help-rule-name{font-weight:600;color:var(--text);white-space:nowrap;min-width:120px}.nutrition-standards-help-body .help-rule-cond{min-width:180px;color:var(--text-secondary)}.nutrition-standards-help-body .help-rule-act{min-width:220px;color:var(--text-secondary)}.nutrition-standards-help-body .help-rule-warn{min-width:160px;color:#777}.nutrition-standards-help-body .help-grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.nutrition-standards-help-body .help-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;vertical-align:middle}.nutrition-standards-help-body .help-dot-red{background:#e74c3c}.nutrition-standards-help-body .help-dot-yellow{background:#f0b400}.nutrition-standards-help-body .help-dot-green{background:#4caf50}.ideal-weight-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:10001;display:flex;justify-content:center;align-items:center}.ideal-weight-modal-content{background:#fff;border-radius:var(--radius);width:90%;max-width:560px;max-height:75vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);position:relative}.ideal-weight-modal-header{padding:15px 20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.ideal-weight-modal-header h3{margin:0;font-size:16px;color:var(--text)}.ideal-weight-modal-close{background:0 0;border:none;font-size:24px;color:var(--text-muted);cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.ideal-weight-modal-close:hover{color:var(--text)}.ideal-weight-modal-body{padding:16px 20px;overflow-y:auto;flex:1;min-height:0}.ideal-weight-intro{font-size:13px;color:var(--text-secondary);margin-bottom:16px;line-height:1.5}.ideal-weight-intro a{color:var(--accent);text-decoration:none}.ideal-weight-intro a:hover{text-decoration:underline}.k-value-custom-hints{margin-bottom:16px}.k-value-custom-hints .ideal-weight-intro{margin-bottom:8px}.k-value-custom-hints .ideal-weight-intro:last-child{margin-bottom:0}.k-value-custom-hint-nrc{color:var(--text-secondary);font-size:12px}.k-value-custom-hint-nrc.k-value-custom-hint-loading{color:var(--text-muted);font-style:italic}.btn-about-check-update{display:inline-flex;align-items:center;padding:7px 14px;font-size:13px;font-weight:500;color:var(--accent);background:#eaf4fd;border:1px solid #b8d9f5;border-radius:var(--radius);cursor:pointer;transition:background .15s,border-color .15s}.btn-about-check-update:hover{background:#d6ecfb;border-color:#90c4ef}.btn-about-check-update:disabled{cursor:not-allowed;opacity:.7}.btn-about-check-update.is-loading svg{animation:spin-icon .8s linear infinite}@keyframes spin-icon{from{transform:rotate(0)}to{transform:rotate(360deg)}}.changelog-section{border-top:1px solid var(--border);padding-top:16px;margin-top:4px}.changelog-section-title{font-size:13px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:14px}.about-tips-list{margin:0;padding:0;list-style:none;counter-reset:tips-counter;display:flex;flex-direction:column;gap:10px}.about-tips-item{counter-increment:tips-counter;display:flex;flex-direction:row;align-items:flex-start;gap:10px;padding:10px 12px;background:#f9f9f9;border-left:3px solid var(--accent)}.about-tips-item::before{content:counter(tips-counter);flex-shrink:0;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;font-size:11px;font-weight:600;line-height:1;align-self:center}.about-tips-body{display:flex;flex-direction:column;gap:3px}.about-tips-step{font-size:13px;color:var(--text);line-height:1.5}.about-tips-hint{font-size:12px;color:var(--text-muted);line-height:1.5}.about-special-notice{margin-top:14px}.about-special-notice-label{font-size:12px;font-weight:600;color:#8a6116;margin-bottom:8px}.about-special-notice .food-source-help-callout{margin-bottom:0}#aboutModal .ideal-weight-modal-content.about-modal-content{max-width:980px}#aboutModal .about-modal-body{overflow-y:auto;padding:16px 20px}.about-modal-layout{display:flex;align-items:flex-start;gap:0}.about-modal-main{flex:1 1 auto;min-width:0;overflow:visible;padding-right:20px}.about-modal-intro{margin-bottom:0}.about-modal-logo-wrap{margin-bottom:16px;text-align:center}.about-modal-logo{height:48px;width:auto;display:inline-block}.about-modal-section{margin-top:0}.about-modal-changelog{flex:0 0 400px;max-width:48%;border-left:1px solid var(--border);padding-left:20px;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;box-sizing:border-box}.about-modal-changelog .changelog-section-title{flex-shrink:0}.about-modal-changelog .changelog-container{flex:1 1 auto;min-height:0;max-height:100%;overflow-y:auto}@media (min-width:1201px){#aboutModal .ideal-weight-modal-actions{justify-content:flex-start}#aboutModal .ideal-weight-modal-actions .btn-ideal-weight-close{margin-left:auto}}.changelog-container{display:flex;flex-direction:column;gap:20px;max-height:240px;overflow-y:auto;padding:14px 14px 14px 14px;background:#f9f9f9;border:1px solid var(--border);border-radius:var(--radius)}.changelog-entry-header{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}.changelog-version{font-size:15px;font-weight:700;color:var(--text)}.changelog-date{font-size:12px;color:var(--text-muted)}.changelog-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}.changelog-item{display:flex;align-items:flex-start;gap:7px;font-size:13px;color:var(--text-secondary);line-height:1.5}.changelog-badge{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;gap:3px;padding:2px 6px;border-radius:var(--radius);font-size:11px;font-weight:400;line-height:1}.changelog-badge--feat{background:#e8f4fd;color:var(--accent-hover)}.changelog-badge--fix{background:#fef9e7;color:#c0880a}.changelog-badge--imp{background:#eafaf1;color:#27ae60}.changelog-badge--data{background:#f5eef8;color:#8e44ad}.energy-guide-block{margin-bottom:16px}.energy-guide-block h4{font-size:14px;color:var(--text);margin:0 0 6px 0}.energy-guide-block p{font-size:13px;color:var(--text-secondary);line-height:1.5;margin:0}.nutrient-coverage-recommend{margin-bottom:12px;padding:10px 14px;background:#f0f7ff;border-left:3px solid var(--accent);border-radius:0 var(--radius) var(--radius) 0}.ncr-label{display:block;font-size:12px;font-weight:600;color:var(--accent);margin-bottom:7px}.ncr-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:5px;counter-reset:ncr-counter}.ncr-list li{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text);counter-increment:ncr-counter}.ncr-list li::before{content:counter(ncr-counter);display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--accent);color:#fff;font-size:11px;font-weight:700;flex-shrink:0}.ncr-list li strong{flex:1}.ncr-tag{font-size:11px;padding:1px 7px;border-radius:var(--radius);margin-left:auto;flex-shrink:0;font-weight:500}.ncr-list li:first-child .ncr-tag{background:#dbeeff;color:#1a6fb5}.ncr-list li:nth-child(2) .ncr-tag{background:#e0f5ec;color:#1e8a5e}.ncr-list li:nth-child(3) .ncr-tag{background:#fde8e8;color:#c0392b}.food-database-help-content{max-width:680px}.food-database-help-body{padding:16px 20px 20px}.food-source-help-intro{margin:0 0 14px;font-size:13px;color:#4a5568;line-height:1.65}.food-source-help-callout{margin:0 0 18px;padding:12px 14px;background:#fff8eb;border:1px solid #f0d9a8;color:#7a5412;font-size:13px;line-height:1.65}.food-source-help-callout strong{color:#8a6116}.food-source-help-section{margin-bottom:18px}.food-source-help-section:last-of-type{margin-bottom:0}.food-source-help-section-title{margin:0 0 10px;font-size:13px;font-weight:600;color:var(--text)}.food-source-help-list{display:flex;flex-direction:column;gap:10px}.food-source-help-card{position:relative;display:flex;flex-direction:row;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid var(--border);background:#fcfdfe}.food-source-help-recommend-tag{position:absolute;top:0;right:0;z-index:1;padding:3px 8px;font-size:11px;font-weight:600;line-height:1.4;color:#fff;background:var(--accent);border-radius:var(--radius)}.food-source-help-logo-wrap{flex:0 0 44px;width:44px;height:44px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden}.food-source-help-logo{width:100%;height:100%;object-fit:contain;display:block}.food-source-help-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:6px}.food-source-help-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px}.food-source-help-title{margin:0;font-size:14px;font-weight:600;color:var(--text);line-height:1.35}.food-source-help-org{font-size:11px;color:var(--text-muted);line-height:1.4}.food-source-help-desc{margin:0;font-size:13px;color:var(--text-secondary);line-height:1.65}.food-source-help-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:2px}.food-source-help-link{font-size:12px;color:#2c5e9c;text-decoration:none}.food-source-help-link:hover{text-decoration:underline}.food-source-help-link-muted{color:var(--text-muted);font-size:12px}.food-source-help-count{font-size:11px;color:var(--text-muted)}.food-source-help-footer-note{margin:16px 0 0;padding-top:14px;border-top:1px dashed var(--border);font-size:12px;color:#777;line-height:1.6}.food-source-help-empty{padding:16px;text-align:center;color:var(--text-muted);font-size:13px;border:1px dashed var(--border);background:var(--bg-subtle)}.energy-guide-desc{margin-bottom:10px!important}.energy-guide-table{width:100%;border-collapse:collapse;font-size:12px;margin-top:8px}.energy-guide-table td,.energy-guide-table th{border:1px solid var(--border);padding:6px 10px;text-align:left}.energy-guide-table th{background:var(--bg-subtle);font-weight:600;color:var(--text)}.energy-guide-table tbody tr:nth-child(2n){background:var(--bg-subtle)}.ideal-weight-current{margin-bottom:20px}.ideal-weight-bcs-section label,.ideal-weight-current label{display:block;font-size:13px;font-weight:600;color:var(--text);margin-bottom:6px}.ideal-weight-current .input-with-unit input{width:100%;padding:8px 48px 8px 10px;border:1px solid var(--border);font-size:14px}.ideal-weight-bcs-section{margin-bottom:16px}.ideal-weight-bcs-images-row{display:flex;justify-content:space-between;align-items:flex-end;gap:4px;margin-bottom:4px;min-height:148px}.ideal-weight-bcs-cell{display:flex;flex:1 1 0;min-width:0;flex-direction:column;align-items:center;justify-content:flex-end;gap:2px}.ideal-weight-bcs-cell img{display:block;width:100%;height:72px;object-fit:contain;object-position:bottom center}.ideal-weight-bcs-section input[type=range]{width:100%;height:4px;margin:2px 0 0;padding:0;accent-color:var(--accent);-webkit-appearance:none;appearance:none;background:var(--border);border-radius:var(--radius);cursor:pointer}.ideal-weight-bcs-ticks{display:flex;justify-content:space-between;margin-top:2px;padding:0 2px;font-size:12px;color:var(--text-secondary)}.ideal-weight-bcs-ticks span{width:20px;text-align:center;cursor:pointer}.ideal-weight-bcs-ticks span:hover{color:var(--accent)}.ideal-weight-bcs-anchor{margin-top:12px;padding:12px;background:var(--bg-subtle);border:1px solid var(--border)}.ideal-weight-bcs-desc{font-size:13px;color:var(--text-secondary);line-height:1.5}.ideal-weight-result{margin:16px 0;padding:12px;background:#e8f4fd;border:1px solid #b8daff;font-size:14px}.ideal-weight-disclaimer{margin-top:16px;padding:12px;background:#fff9e6;border:1px solid #f0e0a0;font-size:12px;color:var(--text-secondary)}.ideal-weight-disclaimer p{margin:0 0 6px 0;color:var(--text)}.ideal-weight-disclaimer ul{margin:0;padding-left:18px}.ideal-weight-disclaimer li{margin-bottom:4px}.ideal-weight-modal-actions{padding:15px 20px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:10px;background:#fff}.btn-ideal-weight-apply{padding:8px 16px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius);cursor:pointer;font-size:13px}.btn-ideal-weight-apply:hover:not(:disabled){background:var(--accent-hover)}.btn-ideal-weight-apply:disabled{background:#bdc3c7;cursor:not-allowed;opacity:.85}.food-detail-modal-content{max-width:680px;width:94vw}.food-detail-modal-body{padding:0;max-height:70vh;overflow-y:hidden;display:flex;flex-direction:column}.food-detail-table-wrap{flex:1;overflow-y:auto;min-height:0;padding:0 12px}.food-detail-loading{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:13px;min-height:120px}.food-detail-meta{padding:14px 18px 10px;border-bottom:1px solid var(--border);display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap}.food-detail-meta-main{flex:1;min-width:0}.food-detail-name-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.food-detail-name{font-size:15px;font-weight:600;color:#222;line-height:1.4;flex:1;min-width:0}.food-detail-tag-type{flex-shrink:0;display:inline-block;padding:2px 7px;font-size:11px;border-radius:var(--radius);background:#f2f2f2;color:var(--text-muted);border:1px solid var(--border)}.food-detail-name-en{font-size:12px;color:var(--text-muted);margin-top:2px}.food-detail-tags-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}.food-detail-meta-main>.food-detail-tags{margin-top:10px}.food-detail-tags{display:flex;gap:6px;flex-wrap:wrap;align-items:center;flex:1;min-width:0}.food-detail-provenance-toggle{flex-shrink:0;margin:0;padding:0;border:none;background:0 0;font-size:11px;line-height:1.4;color:#5a7ad4;cursor:pointer;text-decoration:underline;text-underline-offset:2px;white-space:nowrap}.food-detail-provenance-toggle:hover{color:#3d5aa8}.food-detail-tag{display:inline-block;padding:2px 7px;font-size:11px;border-radius:var(--radius);background:#f0f4ff;color:#5a7ad4;border:1px solid #d0dbf5}.food-detail-tag.food-detail-tag-db{background:#f0f4f0;color:#4a7a4a;border-color:#c0d8c0}.food-detail-provenance{margin-top:8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-subtle);font-size:11px;color:var(--text-secondary)}.food-detail-provenance.food-detail-provenance-hidden{display:none}.food-detail-provenance-content{padding:7px 8px 8px;background:#fff}.food-detail-provenance-grid{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:3px 8px;line-height:1.45}.food-detail-provenance-label{color:var(--text-muted);white-space:nowrap}.food-detail-provenance-value{min-width:0;overflow-wrap:anywhere}.food-detail-provenance-link{display:inline-flex;align-items:center;gap:4px;max-width:100%;color:#5a7ad4;text-decoration:none}.food-detail-provenance-link:hover{color:#3d5aa8}.food-detail-provenance-link-text{min-width:0;overflow-wrap:anywhere}.food-detail-provenance-external-icon{flex-shrink:0;display:inline-flex;line-height:0;opacity:.85}.food-detail-provenance-external-icon svg{width:11px;height:11px}.food-detail-provenance-link:hover .food-detail-provenance-external-icon{opacity:1}.food-detail-raw-fields{margin-top:8px}.food-detail-raw-fields-scroll{max-height:118px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius);background:#fff}.food-detail-raw-fields-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:11px;line-height:1.35}.food-detail-raw-fields-table td,.food-detail-raw-fields-table th{padding:4px 6px;border-bottom:1px solid var(--border);vertical-align:top;overflow-wrap:anywhere}.food-detail-raw-fields-table th{position:sticky;top:0;background:#f7f7f7;color:var(--text-muted);font-weight:500;text-align:left;z-index:1}.food-detail-raw-fields-table td:first-child,.food-detail-raw-fields-table th:first-child{width:34%;color:#777}.food-detail-raw-fields-table tr:last-child td{border-bottom:0}.food-detail-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:12px}.food-detail-table th{position:sticky;top:0;z-index:1;background:var(--bg-subtle);font-weight:600;color:var(--text-secondary);padding:7px 8px;border-bottom:1px solid var(--border);white-space:nowrap;overflow:hidden}.food-detail-table td{padding:5px 8px;border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.food-detail-table td.fd-name,.food-detail-table th.fd-name{text-align:left}.food-detail-table td.fd-num,.food-detail-table th.fd-num{text-align:right;font-variant-numeric:tabular-nums}.food-detail-table td.fd-unit,.food-detail-table th.fd-unit{text-align:center;color:var(--text-muted)}.food-detail-table tr:last-child td{border-bottom:none}.food-detail-table tbody tr:hover td{background:#f7faff}.food-detail-table tr.fd-group-header td{background:#f0f2f5;color:var(--text-secondary);font-weight:600;font-size:11px;padding:5px 8px;letter-spacing:.5px;border-bottom:1px solid var(--border)}.food-detail-table tbody tr.fd-group-header:hover td{background:#f0f2f5}.food-detail-table th.fd-cat-th{text-align:center;color:var(--text-secondary)}.food-detail-table td.fd-cat{text-align:center;vertical-align:middle;font-size:11px;font-weight:600;color:var(--text-secondary);background:var(--bg-subtle);border-right:1px solid var(--border);line-height:1.35;word-break:keep-all;white-space:normal}.food-detail-table tbody tr:has(> td.fd-cat:hover) td{background:inherit!important}.food-detail-table tbody tr:has(> td.fd-cat:hover) td.fd-cat{background:var(--bg-subtle)!important}.food-list-name-clickable:hover{color:var(--accent-hover)}.wechat-group-modal-content{max-width:480px}.wechat-group-modal-body{display:flex;justify-content:center;align-items:flex-start;padding:20px}.feedback-qr-row{display:flex;gap:24px;justify-content:center;width:100%}.feedback-qr-item{display:flex;flex-direction:column;align-items:center;gap:10px;flex:1}.feedback-qr-label{display:flex;flex-direction:column;align-items:center;gap:3px}.feedback-qr-title{font-size:13px;font-weight:600;color:var(--text)}.feedback-qr-desc{font-size:12px;color:var(--text-muted)}.wechat-group-qr{width:160px;height:auto;display:block}.btn-ideal-weight-close{padding:8px 16px;background:#95a5a6;color:#fff;border:none;border-radius:var(--radius);cursor:pointer;font-size:13px}.btn-ideal-weight-close:hover{background:var(--text-muted)}.cache-manager-actions{display:flex;gap:12px;flex-wrap:wrap}.cache-manager-btn{padding:8px 16px;font-size:13px;border:none;border-radius:var(--radius);cursor:pointer}.cache-manager-btn-import{background:var(--accent);color:#fff}.cache-manager-btn-import:hover{background:var(--accent-hover)}.cache-manager-btn:disabled,.cache-manager-btn[disabled]{opacity:.55;cursor:not-allowed;pointer-events:none}.cache-manager-btn-import:disabled,.cache-manager-btn-import[disabled]{background:#9ec5e8}.cache-manager-btn-export{background:#fff;color:var(--text);border:1px solid var(--border-strong)}.cache-manager-btn-export:hover{background:var(--bg-subtle);border-color:var(--text-muted)}.cache-manager-btn-clear{background:#fff;color:#e74c3c;border:1px solid #e74c3c}.cache-manager-btn-clear:hover{background:#fdf2f2;border-color:#c0392b;color:#c0392b}.global-settings-modal-content{max-width:820px;width:min(820px,calc(100vw - 32px));--global-settings-modal-height:min(78vh, 660px);height:var(--global-settings-modal-height);min-height:var(--global-settings-modal-height);max-height:var(--global-settings-modal-height)}.global-settings-modal-body{padding:0;overflow:hidden;display:flex;flex-direction:column}.global-settings-layout{display:grid;grid-template-columns:170px minmax(0,1fr);flex:1;min-height:0;height:100%}.global-settings-tabs{border-right:1px solid var(--border);background:var(--bg-subtle);padding:12px}.global-settings-tab{display:block;width:100%;border:0;background:0 0;color:#34495e;text-align:left;padding:10px 12px;margin-bottom:4px;cursor:pointer;font-size:14px;font-weight:600;border-radius:var(--radius)}.global-settings-tab.active,.global-settings-tab:hover{background:#eaf3fb;color:#21618c}.global-settings-panels{min-width:0;padding:0;display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden}.global-settings-panel{display:none;flex-direction:column;flex:1;min-height:0;padding:18px;box-sizing:border-box}.global-settings-panel.active{display:flex}.global-settings-panel-body{flex:1;min-height:0;overflow:auto}.global-settings-panel-body-fixed{display:flex;flex-direction:column;overflow:hidden}.global-settings-section-title{font-size:15px;font-weight:700;color:var(--text);margin-bottom:10px}.global-settings-section-subtitle{font-size:12px;color:#777;margin-top:-4px;line-height:1.45}.global-settings-section-subtitle-below-title{margin-top:0;margin-bottom:12px}.global-settings-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.global-settings-radio-row{display:flex;align-items:flex-start;gap:10px;padding:14px 0;border:none;margin:0;cursor:pointer;background:0 0}.global-settings-energy-modes{display:flex;flex-direction:column;gap:0}.global-settings-energy-modes .global-settings-radio-row{position:relative;padding:16px 0}.global-settings-energy-modes .global-settings-radio-row+.global-settings-radio-row::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:var(--border)}.global-settings-radio-row input[type=checkbox],.global-settings-radio-row input[type=radio]{margin:0;flex:0 0 14px;width:14px;height:14px}.global-settings-radio-row span{display:grid;gap:4px;min-width:0}.global-settings-radio-row span strong{display:block;font-size:14px;line-height:14px;font-weight:700}.global-settings-radio-row small{color:#777;font-size:12px;line-height:1.45}.global-settings-section-title-spaced{margin-top:12px;padding-top:12px;border-top:1px solid #eceff3}.food-hidden-category-list-wrap{flex:1;min-height:120px;margin-top:10px;overflow:auto}.food-hidden-category-table{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed}.food-hidden-category-table td,.food-hidden-category-table th{border:1px solid #edf0f2;padding:8px 10px;text-align:left;vertical-align:middle}.food-hidden-category-table td:last-child,.food-hidden-category-table th:last-child{width:60px;min-width:60px;max-width:60px;padding-left:6px;padding-right:6px;text-align:center;white-space:nowrap}.food-hidden-category-table th{position:sticky;top:0;z-index:1;background:var(--bg-subtle);font-weight:600;color:var(--text-secondary)}.food-hidden-category-empty{color:var(--text-muted);text-align:center}.food-hidden-category-remove-btn{appearance:none;border:none;background:0 0;color:#c0392b;cursor:pointer;font-size:12px;padding:0}.food-hidden-category-remove-btn:hover{text-decoration:underline}.food-hidden-category-add-row{display:flex;gap:8px;margin-top:10px;align-items:stretch;flex-wrap:wrap}.food-hidden-category-add-row>.cache-manager-btn,.food-hidden-category-add-row>.food-hidden-category-select{box-sizing:border-box;font-size:13px;line-height:1.4}.food-hidden-category-select{flex:1 1 180px;min-width:160px;max-width:100%;padding:7px 10px;border:1px solid #dfe3e8;border-radius:var(--radius);background:#fff}.food-hidden-category-add-row>.cache-manager-btn{flex:0 0 auto;padding:7px 14px;display:inline-flex;align-items:center;justify-content:center}.global-settings-unit-list{flex:1;min-height:0;overflow:auto;border:1px solid #edf0f2}.global-settings-unit-group{border-bottom:1px solid #edf0f2}.global-settings-unit-group:last-child{border-bottom:0}.global-settings-unit-group-title{position:sticky;top:0;background:var(--bg-subtle);color:var(--text);font-size:13px;font-weight:700;padding:8px 12px;z-index:1}.global-settings-unit-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin:0;padding:8px 12px;border-top:1px solid #f1f3f5}.global-settings-unit-row select{margin:0}.global-settings-unit-name{min-width:0;font-size:13px;color:var(--text-secondary)}.global-settings-empty{color:#777;font-size:13px;padding:18px;border:1px dashed #d8dee4;background:var(--bg-subtle)}.global-settings-panel-actions{flex-shrink:0;margin-top:0;padding:14px 0 0;border-top:1px solid #edf0f2;display:flex;justify-content:flex-end;background:#fff}.global-settings-panel-actions-cache{justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}.toast{position:fixed;top:20px;right:20px;color:#fff;padding:12px 20px;border-radius:var(--radius);box-shadow:0 4px 12px rgba(0,0,0,.15);z-index:10100;animation:slideIn .3s ease-out;font-weight:500;display:flex;align-items:center;gap:10px}.toast-icon{width:20px;height:20px;flex-shrink:0}.toast-icon svg{width:100%;height:100%;fill:currentColor}.toast.success{background:#27ae60}.toast.error{background:#e74c3c}.toast.warning{background:#f39c12}.toast.info{background:var(--accent)}.toast.hide{animation:slideOut .3s ease-out forwards}@keyframes slideIn{from{transform:translateX(400px);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes slideOut{from{transform:translateX(0);opacity:1}to{transform:translateX(400px);opacity:0}}.toast-message{font-size:14px}.card{background:var(--bg-surface);box-shadow:var(--shadow-sm);padding:24px;margin-bottom:10px}.card-title{font-size:16px;font-weight:600;color:var(--text);margin-bottom:15px;padding-bottom:5px;border-bottom:0 solid #34495e}.form-group{margin-bottom:15px}label{display:block;font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:5px}.card-title label.pn-inline-checkbox-label,.food-stacked-chart-header-right label.pn-inline-checkbox-label{display:inline-flex!important;align-items:center;justify-content:flex-start;gap:6px;margin:0!important;padding:0!important;line-height:1;font-size:12px;font-weight:400;color:var(--text-secondary);cursor:pointer;user-select:none;white-space:nowrap;flex-shrink:0}.card-title label.pn-inline-checkbox-label[hidden],.food-stacked-chart-header-right label.pn-inline-checkbox-label[hidden]{display:none!important}.card-title label.pn-inline-checkbox-label input[type=checkbox],.food-stacked-chart-header-right label.pn-inline-checkbox-label input[type=checkbox]{margin:0!important;padding:0;width:14px;height:14px;flex:0 0 14px;cursor:pointer;align-self:center;vertical-align:middle}.card-title label.pn-inline-checkbox-label>span,.food-stacked-chart-header-right label.pn-inline-checkbox-label>span{display:inline-flex;align-items:center;line-height:1.2;margin:0;padding:0}input[type=number],input[type=text],select{width:100%;padding:8px 10px;border:1px solid var(--border-strong);font-size:12px;font-weight:500;transition:border-color .12s ease}:where(
input[type=number],input[type=text],input[type=tel],input[type=password],input[type=email],select,textarea
):focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 2px rgba(52,152,219,.2)}select{box-sizing:border-box;font-family:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L2 4h8z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:28px}select::-ms-expand{display:none}input:focus,select:focus{outline:0;border-color:var(--accent)}.btn{padding:10px 20px;border:none;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s}.btn.btn-browse-food{background:0 0;color:var(--accent);border:1px solid var(--accent)}.btn.btn-browse-food:hover{background:rgba(52,152,219,.1);color:var(--accent-hover);border-color:var(--accent-hover)}.btn-primary{background:var(--accent);color:#fff;width:100%}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:#fff;color:var(--text);border:1px solid var(--border-strong);margin-top:10px;padding:8px 15px;font-size:13px}.btn-secondary:hover{background:var(--bg-subtle)}.btn-icon{background:0 0;color:var(--text-secondary);border:none;padding:6px;cursor:pointer;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-icon:hover{background:var(--border);color:var(--text)}.btn-icon svg{display:block}.btn-add{background:#27ae60;color:#fff;padding:8px 15px;font-size:13px}.btn-add:hover{background:#229954}.recipe-manager-overlay{position:fixed;inset:0;background:rgba(0,0,0,0);z-index:1200}.recipe-manager-overlay.visible{background:rgba(0,0,0,.4)}.recipe-manager-panel{position:absolute;top:0;right:0;width:560px;max-width:100%;height:100%;background:var(--bg-surface);box-shadow:var(--shadow-lg);transform:translateX(100%);transition:transform .25s ease-out;display:flex;flex-direction:column;border-radius:var(--radius)}.recipe-manager-panel.open{transform:translateX(0)}.recipe-manager-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--border)}.recipe-manager-title{font-size:15px;font-weight:600;color:#222}.recipe-manager-toolbar{display:flex;align-items:center;gap:6px;padding:8px 12px;border-bottom:1px solid var(--border);flex-wrap:nowrap}.recipe-manager-toolbar-checks{display:inline-flex;align-items:center;gap:12px;margin-left:auto;flex-shrink:0}.recipe-manager-toolbar-checks .recipe-manager-toolbar-label{margin-left:0}.recipe-manager-toolbar-label{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:#495057;cursor:pointer;user-select:none;margin-left:auto;margin-bottom:0;line-height:1}.recipe-manager-toolbar-label input[type=checkbox]{margin:0;cursor:pointer;vertical-align:middle}.recipe-manager-btn-header{font-size:12px;height:28px;padding:0 12px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-subtle);color:#495057;cursor:pointer;white-space:nowrap;flex-shrink:0}.recipe-manager-btn-header:hover:not(:disabled){background:#e9ecef;border-color:#ced4da;color:#212529}.recipe-manager-btn-header.recipe-manager-btn-primary{height:28px;background:var(--accent);border-color:var(--accent);color:#fff}.recipe-manager-btn-header.recipe-manager-btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}.recipe-manager-btn-header.recipe-manager-btn-danger{background:#fff;border-color:#e03131;color:#e03131}.recipe-manager-btn-header.recipe-manager-btn-danger:hover:not(:disabled){background:#fff5f5;border-color:#e03131;color:#c92a2a}.recipe-manager-btn-header:disabled{cursor:default;color:#adb5bd;background:#f1f3f5;border-color:#e9ecef}.recipe-manager-close{background:0 0;border:none;font-size:20px;line-height:1;padding:4px 8px;cursor:pointer;border-radius:var(--radius)}.recipe-manager-close:hover{background:#f2f2f2}.recipe-manager-section{padding:12px 16px;border-bottom:1px solid var(--border)}.recipe-manager-btn-primary{font-size:12px;height:32px;padding:0 12px;border-radius:var(--radius);border:1px solid transparent;background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;flex-shrink:0}.recipe-manager-btn-primary:hover{background:var(--accent-hover)}.recipe-manager-list-section{flex:1;display:flex;flex-direction:column;min-height:0;position:relative}.recipe-manager-list{flex:1;overflow-y:auto;padding-right:4px}#editRecipeModal .edit-recipe-modal-content{max-width:760px;width:94%;max-height:92vh}.edit-recipe-modal-body{display:flex;flex-direction:column;gap:14px;overflow-x:hidden;overflow-y:auto;min-height:0}.edit-recipe-stats{display:flex;flex-direction:column;gap:10px}.edit-recipe-stat-cards{display:flex;flex-wrap:nowrap;gap:8px}.edit-recipe-stat-cards .edit-recipe-stat-card{flex:1 1 0;min-width:0}.edit-recipe-stat-card{padding:10px 12px;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius);min-width:0}.edit-recipe-stat-label{font-size:11px;color:var(--text-muted,#8a9099);margin-bottom:4px}.edit-recipe-stat-value{display:flex;align-items:baseline;gap:4px;color:var(--text);font-size:16px;line-height:1.2;min-width:0}.edit-recipe-stat-value b{font-weight:650;font-size:18px}.edit-recipe-stat-unit{font-size:11px;color:var(--text-secondary);white-space:nowrap}.edit-recipe-foods-grid{display:flex;flex-direction:column;gap:10px;min-height:0}.edit-recipe-foods-card{border:1px solid var(--border);border-radius:var(--radius);background:#fff;overflow:hidden;display:flex;flex-direction:column;min-height:0;min-width:0}.edit-recipe-foods-title{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;font-size:12px;font-weight:600;color:var(--text-secondary);background:var(--bg-subtle);border-bottom:1px solid var(--border);flex-shrink:0}.edit-recipe-foods-title-count{font-weight:500;color:var(--text-muted,#8a9099);white-space:nowrap}.edit-recipe-foods-body{padding:4px 0;min-height:0}.edit-recipe-foods-body .recipe-card-ingredients li{padding:6px 12px;border-radius:0;transition:background .12s ease}.edit-recipe-foods-body .recipe-card-ingredients li:hover{background:var(--bg-subtle)}.edit-recipe-foods-body .recipe-card-ingredients li:hover .ingredient-name{color:var(--accent)}.edit-recipe-modal-actions{justify-content:space-between;align-items:center;flex-wrap:wrap}.edit-recipe-modal-actions-right{display:flex;align-items:center;gap:10px;margin-left:auto}@media (max-width:1200px){.edit-recipe-modal-actions{flex-direction:row;align-items:center}.edit-recipe-modal-actions-right{width:auto}.edit-recipe-modal-actions-right :is(button,.btn){width:auto;min-height:36px}}.edit-recipe-meta-row{display:flex;align-items:flex-start;gap:14px}.edit-recipe-cover-slot{position:relative;flex:0 0 auto;width:132px;height:132px;box-sizing:border-box}.edit-recipe-cover-upload{display:block;width:100%;height:100%;margin:0;padding:0;border:none;background:0 0;cursor:pointer;font:inherit}.edit-recipe-cover-preview{position:relative;width:100%;height:100%;box-sizing:border-box;border:1px dashed var(--border-strong,var(--border));border-radius:var(--radius);background-color:var(--bg-subtle);background-size:cover;background-position:center;background-repeat:no-repeat;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:background-color .15s ease}.edit-recipe-cover-preview.has-cover{border-style:solid}.edit-recipe-cover-icon{display:block;width:28px;height:28px;flex-shrink:0;color:var(--text-muted,#8a9099);transition:color .15s ease,opacity .15s ease;z-index:1;position:relative}.edit-recipe-cover-icon-camera{opacity:1}.edit-recipe-cover-icon-trash{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);opacity:0;color:#e03131;pointer-events:none}.edit-recipe-cover-preview.has-cover .edit-recipe-cover-icon-camera{display:none}.edit-recipe-cover-preview:not(.has-cover) .edit-recipe-cover-icon-trash{display:none}.edit-recipe-cover-preview.has-cover::after{content:'';position:absolute;inset:0;background-color:rgba(0,0,0,.32);opacity:0;transition:opacity .15s ease;pointer-events:none;z-index:0}.edit-recipe-cover-upload:hover .edit-recipe-cover-preview:not(.has-cover){background-color:#8a8f96}.edit-recipe-cover-upload:hover .edit-recipe-cover-preview:not(.has-cover) .edit-recipe-cover-icon-camera{color:#fff}.edit-recipe-cover-upload:hover .edit-recipe-cover-preview.has-cover::after{opacity:1}.edit-recipe-cover-upload:hover .edit-recipe-cover-preview.has-cover .edit-recipe-cover-icon-trash{opacity:1}.edit-recipe-meta-fields{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px}.edit-recipe-description{display:block;width:100%;box-sizing:border-box;resize:vertical;min-height:72px;flex:1;padding:8px 10px;border:1px solid var(--border-strong,var(--border));border-radius:var(--radius);font-size:13px;font-family:inherit;color:var(--text);background:#fff;line-height:1.45}.edit-recipe-description:focus{outline:0;border-color:var(--accent)}.edit-recipe-public-toggle{flex-shrink:0}.edit-recipe-modal-body .form-group{margin:0}.edit-recipe-modal-body .form-group label{display:block;margin-bottom:6px;font-size:13px;font-weight:500;color:var(--text-secondary)}.edit-recipe-modal-body .form-group input[type=text]{display:block;width:100%;box-sizing:border-box;height:34px;padding:0 10px;border:1px solid var(--border-strong,var(--border));border-radius:var(--radius);font-size:13px;font-family:inherit;color:var(--text);background:#fff}.edit-recipe-modal-body .form-group input[type=text]:focus{outline:0;border-color:var(--accent)}.recipe-card{border:1px solid var(--border);padding:0;margin-bottom:8px;background:#fff;display:flex;flex-direction:column;cursor:pointer}.recipe-card:hover{background:var(--bg-subtle)}.recipe-card.selected{border-color:var(--accent);background:#f0f7fd}.recipe-card.selected:hover{border-color:var(--accent);background:#e8f4fc}.recipe-card-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;flex-wrap:nowrap}.recipe-card-cover{flex-shrink:0;display:block;width:54px;height:54px;margin:0;padding:0;border:none;background:0 0;cursor:pointer;box-sizing:border-box;font:inherit}.recipe-card-cover-preview{position:relative;width:100%;height:100%;box-sizing:border-box;border:1px dashed var(--border-strong,var(--border));border-radius:var(--radius);background-color:var(--bg-subtle);background-size:cover;background-position:center;background-repeat:no-repeat;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:background-color .15s ease}.recipe-card-cover-preview.has-cover{border-style:solid}.recipe-card-cover-icon{display:block;width:16px;height:16px;flex-shrink:0;color:var(--text-muted,#8a9099);transition:color .15s ease,opacity .15s ease;z-index:1;position:relative}.recipe-card-cover-icon-trash{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);opacity:0;color:#e03131;pointer-events:none}.recipe-card-cover-preview.has-cover .recipe-card-cover-icon-camera{display:none}.recipe-card-cover-preview:not(.has-cover) .recipe-card-cover-icon-trash{display:none}.recipe-card-cover-preview.has-cover::after{content:'';position:absolute;inset:0;background-color:rgba(0,0,0,.32);opacity:0;transition:opacity .15s ease;pointer-events:none;z-index:0}.recipe-card-cover:hover .recipe-card-cover-preview:not(.has-cover){background-color:#8a8f96}.recipe-card-cover:hover .recipe-card-cover-preview:not(.has-cover) .recipe-card-cover-icon-camera{color:#fff}.recipe-card-cover:hover .recipe-card-cover-preview.has-cover::after{opacity:1}.recipe-card-cover:hover .recipe-card-cover-preview.has-cover .recipe-card-cover-icon-trash{opacity:1}.recipe-card-title-wrap{display:flex;align-items:flex-start;gap:8px;min-width:0;flex:1}.recipe-card-main{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1}.recipe-card-name-row{display:flex;align-items:center;min-width:0;max-width:100%;line-height:1.3}.recipe-card-name-group{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:100%}.recipe-card-name-group .recipe-card-name{flex:0 1 auto;min-width:0}.recipe-card-invalid-tag{flex-shrink:0}.recipe-card-name{font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.recipe-card-meta{font-size:12px;line-height:1.35;color:var(--text-muted)}.recipe-card-meta .recipe-card-meta-num{font-weight:650;color:var(--text-secondary)}.recipe-card-updated-row{display:flex;align-items:center;gap:8px;margin-top:1px;min-width:0;padding-top:1px}.recipe-card-updated{font-size:12px;line-height:1.3;color:var(--text-muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recipe-card-visibility-tag{flex-shrink:0;display:inline-flex;align-items:center;height:19px;margin:0;padding:0 6px;border:1px solid transparent;border-radius:3px;font-size:11px;line-height:1;font-weight:500;font-family:inherit;cursor:pointer;white-space:nowrap;transition:background .12s ease,border-color .12s ease,color .12s ease}.recipe-card-visibility-tag.is-public{background:#eaf6ee;border-color:#d5ebdc;color:#2f7a45}.recipe-card-visibility-tag.is-private{background:#f3f4f6;border-color:#e5e7eb;color:#6b7280}.recipe-card-visibility-tag.is-public:hover{background:#dff1e5;border-color:#c5e0cf}.recipe-card-visibility-tag.is-private:hover{background:#e9ebef;border-color:#d8dce2}.recipe-card-link-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;position:relative;width:13px;height:13px;color:var(--accent)!important;cursor:pointer}.recipe-card-link-icon .recipe-card-link-icon-default,.recipe-card-link-icon .recipe-card-link-icon-hover{position:absolute;left:0;top:0;width:13px;height:13px;stroke:var(--accent);transition:opacity .15s ease}.recipe-card-link-icon .recipe-card-link-icon-hover{opacity:0}.recipe-card-link-icon:hover .recipe-card-link-icon-default{opacity:0}.recipe-card-link-icon:hover .recipe-card-link-icon-hover{opacity:1}.recipe-card-actions{display:flex;align-items:center;gap:4px;flex-shrink:0;flex-wrap:nowrap}.recipe-card-actions button{font-size:11px;height:26px;padding:0 8px;min-width:44px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-subtle);color:#495057;cursor:pointer}.recipe-card-actions button:hover{background:#e9ecef;border-color:#ced4da;color:#212529}.recipe-card-actions button.recipe-card-btn-apply{background:var(--accent);border-color:var(--accent);color:#fff}.recipe-card-actions button.recipe-card-btn-apply:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}.recipe-card-actions button.recipe-card-btn-apply:disabled{background:#e9ecef;border-color:var(--border);color:#adb5bd;cursor:default}.recipe-card-actions button.recipe-card-btn-update{background:#27ae60;border-color:#27ae60;color:#fff}.recipe-card-actions button.recipe-card-btn-update:hover{background:#219a52;border-color:#219a52;color:#fff}.recipe-card-actions button.recipe-card-btn-update:disabled{background:#e9ecef;border-color:var(--border);color:#adb5bd;cursor:default}.recipe-card-actions button.recipe-card-btn-danger{background:#fff;border-color:#e03131;color:#e03131}.recipe-card-actions button.recipe-card-btn-danger:hover{background:#fff5f5;border-color:#e03131;color:#c92a2a}.recipe-card-drag-handle{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:26px;margin-left:2px;cursor:grab;color:var(--text-muted);padding:0 4px;user-select:none;touch-action:none;font-size:14px;line-height:1}.recipe-card-drag-handle:active{cursor:grabbing}.recipe-card-drag-handle:hover{color:var(--text-secondary)}.recipe-card-ingredients{list-style:none;margin:0;padding:0;font-size:12px;color:var(--text-secondary)}.recipe-card-ingredients li{padding:2px 0;display:flex;justify-content:space-between;gap:8px}.recipe-card-ingredients .ingredient-name-wrap{flex:1;min-width:0;display:flex;align-items:center;gap:4px}.recipe-card-ingredients .ingredient-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;color:var(--text-secondary)}.recipe-card-ingredients .ingredient-name:hover{color:var(--accent)}.recipe-card-ingredient-invalid .ingredient-name{color:var(--text-muted)}.recipe-card-ingredient-invalid-tag{flex-shrink:0;margin-right:0}.recipe-card-ingredients .ingredient-amount{flex-shrink:0;color:var(--text-secondary);min-width:120px;white-space:nowrap;text-align:right}.recipe-card-ingredients .ingredient-energy{flex-shrink:0;color:var(--text-secondary);min-width:100px;white-space:nowrap;text-align:right;font-size:12px}.recipe-card-ingredients-supplement-row .ingredient-amount{min-width:120px}.feeding-plan-overlay{position:fixed;inset:0;background:rgba(0,0,0,0);z-index:1250;align-items:center;justify-content:center;padding:16px;overflow:hidden;transition:background .18s ease-out}.feeding-plan-overlay.visible{background:rgba(0,0,0,.4);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.feeding-plan-panel{position:relative;width:min(1400px,calc(100vw - 32px));height:88vh;max-height:88vh;min-height:480px;background:var(--bg-surface);box-shadow:var(--shadow-lg);transform:translateY(8px) scale(.985);opacity:0;transition:transform .18s ease-out,opacity .18s ease-out;display:flex;flex-direction:column;border-radius:var(--radius);overflow:hidden}.feeding-plan-panel.open{transform:translateY(0) scale(1);opacity:1}.feeding-plan-panel.is-editor-mode{width:min(1400px,calc(100vw - 32px))}.feeding-plan-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--border);flex-shrink:0}.feeding-plan-header-left{display:flex;align-items:center;gap:8px;min-width:0;flex:1 1 0}.feeding-plan-title-wrap{display:flex;align-items:center;gap:10px;min-width:0}.feeding-plan-title-text{min-width:0;display:flex;flex-direction:column}.feeding-plan-panel.is-editor-mode .feeding-plan-title-wrap>.pet-profile-plan-icon{display:none}.feeding-plan-title-wrap .pet-profile-plan-icon{color:var(--accent-hover)}.feeding-plan-title-wrap .pet-profile-plan-icon svg{width:28px;height:28px}.feeding-plan-back-btn{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:30px;height:30px;padding:0;border:none;background:0 0;color:var(--text-secondary);cursor:pointer}.feeding-plan-back-btn:hover{background:#eef6fc;color:var(--accent-hover)}.feeding-plan-back-btn svg{display:block}.feeding-plan-title{font-size:16px;font-weight:700;color:var(--text)}.feeding-plan-subtitle{font-size:12px;color:#777;margin-top:2px}.feeding-plan-header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.feeding-plan-close{background:0 0;border:none;font-size:22px;line-height:1;width:30px;height:30px;cursor:pointer;color:#777}.feeding-plan-close:hover{background:#f2f2f2;color:var(--text)}.feeding-plan-btn,.feeding-plan-mini-btn{height:30px;padding:0 10px;border:1px solid var(--border-strong);background:var(--bg-subtle);color:var(--text);font-size:12px;cursor:pointer;white-space:nowrap}.feeding-plan-btn:hover,.feeding-plan-mini-btn:hover{background:#eef6fc;border-color:#c8d8e8;color:var(--accent-hover)}.feeding-plan-btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.feeding-plan-btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}.feeding-plan-body{flex:1;min-height:0;display:flex;overflow:hidden}.feeding-plan-manager-view{flex:1;min-width:0;min-height:0;display:grid;grid-template-columns:300px minmax(0,1fr);background:#fff;contain:layout style}.feeding-plan-manager-detail-pane,.feeding-plan-manager-list-pane{min-width:0;min-height:0;display:flex;flex-direction:column;contain:layout style}.feeding-plan-manager-list-pane{border-right:1px solid var(--border);background:var(--bg-subtle)}.feeding-plan-manager-list-pane>.feeding-plan-list{flex:1;min-height:0}.feeding-plan-manager-list-pane>.feeding-plan-list:empty{display:none;flex:0 0 0;padding:0}.feeding-plan-manager-list-pane>.feeding-plan-empty{flex:1;min-height:0}.feeding-plan-manager-detail-pane{background:#fff}.feeding-plan-manager-head{display:flex;align-items:center;padding:8px 10px 10px;border-bottom:1px solid var(--border);flex:0 0 auto;background:var(--bg-subtle)}.feeding-plan-manager-filter-row{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-width:0}.feeding-plan-manager-filters{display:flex;align-items:stretch;gap:0;flex:1;min-width:0;padding:2px;background:#eceff3;border:1px solid var(--border);overflow-x:auto;scrollbar-width:none}.feeding-plan-manager-filters::-webkit-scrollbar{display:none}.feeding-plan-manager-filter{flex:1 1 0;min-width:52px;height:28px;padding:0 6px;border:none;background:0 0;color:#678;font-size:11px;font-weight:500;line-height:1;cursor:pointer;white-space:nowrap;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.feeding-plan-manager-filter:hover:not(.active){background:rgba(255,255,255,.45);color:var(--accent-hover)}.feeding-plan-manager-filter.active{background:#fff;color:#1f5d8c;font-weight:600;box-shadow:0 1px 2px rgba(31,93,140,.08)}.feeding-plan-manager-filter.active:hover{background:#fff;color:#1f5d8c}.feeding-plan-manager-filter:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;z-index:1}.feeding-plan-manager-create-btn{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:none;background:var(--accent);color:#fff;cursor:pointer;transition:background .15s ease,transform .1s ease}.feeding-plan-manager-create-btn:hover{background:var(--accent-hover)}.feeding-plan-manager-create-btn:active{transform:scale(.96)}.feeding-plan-manager-create-btn:focus-visible{outline:2px solid #1f5d8c;outline-offset:2px}.feeding-plan-manager-create-btn svg{display:block;width:14px;height:14px;stroke:currentColor}.feeding-plan-list{padding:8px 10px;overflow-y:auto;min-height:0;display:flex;flex-direction:column;gap:6px}.feeding-plan-list-item{width:100%;box-sizing:border-box;border:none;border-left:3px solid transparent;border-radius:var(--radius);background:#fff;padding:11px 12px 11px 10px;cursor:pointer;display:flex;flex-direction:column;gap:6px;text-align:left;color:var(--text);contain:layout style paint;transition:background-color .15s ease,border-left-color .15s ease}.feeding-plan-list-item:hover{background:var(--bg-subtle)}.feeding-plan-list-item.selected{border-left-color:var(--accent);background:#eef7fd}.feeding-plan-list-item.selected:hover{border-left-color:var(--accent);background:#e8f4fc}.feeding-plan-list-item.archived:not(.selected){opacity:.68}.feeding-plan-list-name{font-size:13px;font-weight:700;color:#222;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feeding-plan-list-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:#777}.feeding-plan-list-meta-main{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feeding-plan-list-meta-days{flex-shrink:0;text-align:right}.feeding-plan-list-foot,.feeding-plan-list-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;min-width:0}.feeding-plan-list-head .feeding-plan-status-tag{flex:0 0 auto}.feeding-plan-manager-detail{min-height:0;flex:1;overflow:hidden;padding:14px;display:flex;flex-direction:column}.feeding-plan-manager-detail-empty{min-height:100%;display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:center;color:var(--text-muted);font-size:13px;text-align:center}.feeding-plan-manager-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--border);margin-bottom:12px;flex:0 0 auto}.feeding-plan-manager-detail-head-info{min-width:0;flex:1 1 0}.feeding-plan-manager-detail-actions{--feeding-plan-manager-control-height:27px;display:flex;align-items:center;justify-content:flex-end;gap:6px;flex:0 0 auto;flex-wrap:wrap}.feeding-plan-manager-status-dropdown{position:relative;display:inline-flex;flex:0 0 auto}.feeding-plan-manager-status-trigger{display:inline-flex;align-items:center;gap:6px;box-sizing:border-box;height:var(--feeding-plan-manager-control-height);min-width:96px;margin:0;padding:0 8px 0 10px;border:1px solid #d0d5dd;border-radius:var(--radius);background:#fff;color:#374151;font-size:12px;font-weight:500;line-height:1;cursor:pointer;transition:background .12s,border-color .12s}.feeding-plan-manager-status-trigger:hover{background:var(--bg-subtle);border-color:#b0b8c4}.feeding-plan-manager-status-dropdown.is-open .feeding-plan-manager-status-trigger,.feeding-plan-manager-status-trigger:focus-visible{border-color:var(--accent);outline:0}.feeding-plan-manager-status-dot{width:7px;height:7px;border-radius:50%;flex:0 0 auto;pointer-events:none}.feeding-plan-manager-status-dropdown--draft .feeding-plan-manager-status-trigger .feeding-plan-manager-status-dot{background:#e6a020}.feeding-plan-manager-status-dropdown--active .feeding-plan-manager-status-trigger .feeding-plan-manager-status-dot{background:#52c41a}.feeding-plan-manager-status-dropdown--archived .feeding-plan-manager-status-trigger .feeding-plan-manager-status-dot{background:#9aa0a6}.feeding-plan-manager-status-dot--draft{background:#e6a020}.feeding-plan-manager-status-dot--active{background:#52c41a}.feeding-plan-manager-status-dot--archived{background:#9aa0a6}.feeding-plan-manager-status-label{flex:1 1 auto;text-align:left;white-space:nowrap}.feeding-plan-manager-status-chevron{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:var(--text-secondary);pointer-events:none}.feeding-plan-manager-status-dropdown.is-open .feeding-plan-manager-status-chevron{transform:rotate(180deg)}.feeding-plan-manager-status-menu{position:absolute;top:calc(100% + 2px);left:0;z-index:30;min-width:100%;width:max-content;box-sizing:border-box;border:1px solid #d0d5dd;border-radius:var(--radius);background:#fff;box-shadow:0 4px 14px rgba(15,23,42,.1)}.feeding-plan-manager-status-option{display:flex;align-items:center;gap:8px;width:100%;min-width:120px;box-sizing:border-box;padding:8px 12px;border:none;border-radius:var(--radius);background:#fff;color:#374151;font-size:12px;font-weight:500;line-height:1.2;text-align:left;cursor:pointer}.feeding-plan-manager-status-option+.feeding-plan-manager-status-option{border-top:1px solid #eceff3}.feeding-plan-manager-status-option:hover{background:#f5f8ff}.feeding-plan-manager-status-option.is-selected{background:#eef6fc;color:var(--accent-hover)}.feeding-plan-manager-status-option.is-disabled,.feeding-plan-manager-status-option:disabled{color:#9ca3af;cursor:not-allowed;background:var(--bg-subtle)}.feeding-plan-manager-status-option.is-disabled:hover,.feeding-plan-manager-status-option:disabled:hover{background:var(--bg-subtle)}.feeding-plan-manager-status-option:focus-visible{outline:0;background:#eef6fc}.feeding-plan-manager-detail-actions .feeding-plan-manager-action-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;box-sizing:border-box;height:var(--feeding-plan-manager-control-height);padding:0 10px;border:1px solid #d0d5dd;background:#fff;color:#374151;font-size:12px;font-weight:500;cursor:pointer;white-space:nowrap;line-height:1;transition:background .12s,border-color .12s,color .12s}.feeding-plan-manager-detail-actions .feeding-plan-manager-action-btn:hover{background:#f3f4f6;border-color:#b0b8c4}.feeding-plan-manager-detail-actions .feeding-plan-manager-action-btn--danger{color:#c0392b;border-color:#f0c0bc}.feeding-plan-manager-detail-actions .feeding-plan-manager-action-btn--danger:hover{background:#fff5f5;border-color:#e57373}.feeding-plan-status-tag{display:inline-block;padding:1px 7px;font-size:11px;font-weight:600;line-height:1.6;border-radius:var(--radius)}.feeding-plan-status-tag--active{background:#e6f4ea;color:#2d7d45}.feeding-plan-status-tag--archived{background:var(--border);color:var(--text-secondary)}.feeding-plan-status-tag--draft{background:#fff3e0;color:#b45309}.feeding-plan-manager-detail-title{color:var(--text);font-size:16px;font-weight:700;line-height:1.3}.feeding-plan-manager-detail-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:5px}.feeding-plan-manager-day-summary,.feeding-plan-manager-detail-meta>span:last-child{color:#777;font-size:12px;line-height:1.45}.feeding-plan-manager-day-count-tag{display:inline-block;padding:1px 7px;font-size:11px;font-weight:600;line-height:1.6;border-radius:var(--radius);background:var(--border);color:var(--text-secondary)}.feeding-plan-manager-detail-grid{display:grid;grid-template-columns:minmax(260px,26fr) minmax(340px,34fr) minmax(340px,34fr);gap:10px;align-items:stretch;flex:1;min-height:0}.feeding-plan-manager-detail-section{min-width:0;border:1px solid var(--border);background:var(--bg-subtle)}.feeding-plan-manager-calendar-section,.feeding-plan-manager-food-section,.feeding-plan-manager-nutrition-section{min-height:0;display:flex;flex-direction:column}.feeding-plan-column-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.feeding-plan-calendar-toolbar,.feeding-plan-manager-calendar-toolbar{padding:6px 0;display:flex;align-items:center;gap:4px;border-bottom:1px solid var(--border);background:#fff}.feeding-plan-manager-calendar-toolbar{padding-left:8px;padding-right:8px}.feeding-plan-calendar-toolbar strong,.feeding-plan-manager-calendar-toolbar strong{flex:1;text-align:center;font-size:12px;color:var(--text)}.feeding-plan-step-title-meta{font-size:12px;font-weight:400;color:var(--text-muted);flex-shrink:0;align-self:center;text-align:right}.feeding-plan-recipe-linked-filter{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary);cursor:pointer;user-select:none;flex-shrink:0;align-self:center;margin-bottom:0;line-height:1}.feeding-plan-recipe-linked-filter input[type=checkbox]{margin:0;cursor:pointer;vertical-align:middle}.feeding-plan-recipe-linked-filter:has(input:disabled){cursor:not-allowed;opacity:.65}.feeding-plan-recipe-linked-filter input[type=checkbox]:disabled{cursor:not-allowed}.feeding-plan-calendar-nav-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:1px solid var(--border);background:var(--bg-subtle);color:var(--text-secondary);cursor:pointer;flex-shrink:0}.feeding-plan-calendar-nav-btn:hover{background:#eef6fc;border-color:#c8d8e8;color:var(--accent-hover)}.feeding-plan-calendar-nav-btn svg{display:block}.feeding-plan-calendar-reset-btn{margin-left:4px}.feeding-plan-manager-calendar{gap:3px;padding:8px;background:#fff;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:minmax(28px,auto)}.feeding-plan-manager-calendar .feeding-plan-calendar-week{height:19px}.feeding-plan-manager-calendar .feeding-plan-manager-calendar-day{min-height:28px;padding:0;border-color:transparent}.feeding-plan-manager-calendar-day.other-plan-date{border-color:transparent;background:#eef7fd;color:#1f5d8c;font-weight:400}.feeding-plan-manager-calendar-day.plan-date{border-color:var(--accent);background:#eef7fd;color:#1f5d8c;font-weight:700}.feeding-plan-manager-calendar-day.plan-date:hover{border-color:var(--accent-hover);background:#dff0fb;color:var(--accent-hover)}.feeding-plan-manager-calendar-day.selected{border-color:var(--accent);background:var(--accent);color:#fff}.feeding-plan-manager-calendar-day.selected:hover{border-color:var(--accent);background:var(--accent);color:#fff}.feeding-plan-manager-calendar-day:disabled{cursor:default}.feeding-plan-manager-calendar-day:disabled:not(.other-plan-date){opacity:.42;background:0 0}.feeding-plan-manager-calendar-day:disabled.other-plan-date{opacity:.92}.feeding-plan-manager-calendar-day.outside:disabled:not(.other-plan-date){opacity:.34;background:0 0}.feeding-plan-manager-calendar-day.outside:disabled.other-plan-date{background:0 0;opacity:.72}.feeding-plan-manager-totals{display:flex;flex-direction:column;gap:6px;padding:8px;background:var(--bg-subtle);border-bottom:1px solid var(--border);flex:0 0 auto}.feeding-plan-manager-totals-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.feeding-plan-manager-totals-row>div{border:1px solid var(--border);background:#fff;padding:6px;min-width:0}.feeding-plan-manager-totals-row span{display:block;color:#777;font-size:11px;margin-bottom:3px}.feeding-plan-manager-totals-row strong{display:block;color:#222;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feeding-plan-manager-totals-macro{border:1px solid var(--border);background:#fff;padding:6px 8px;min-width:0}.feeding-plan-macro-bars{gap:8px;margin-top:0}.feeding-plan-macro-bars .macro-bar{height:18px}.feeding-plan-macro-bars .macro-bar-label{font-size:11px}.feeding-plan-macro-bars .macro-bar-title{font-size:11px}.feeding-plan-macro-bars .macro-bar-legend{font-size:11px}.feeding-plan-macro-bars .macro-bar-legend-pct{font-size:11px}.feeding-plan-macro-bars .macro-bar-empty{font-size:10px}.feeding-plan-macro-bars .macro-dm-proximate-cards{gap:6px;width:100%}.feeding-plan-macro-bars .macro-dm-proximate-card{padding:6px 8px}.feeding-plan-macro-bars .macro-dm-proximate-card-title{font-size:10px}.feeding-plan-macro-bars .macro-dm-proximate-card-value{font-size:14px}.feeding-plan-macro-bars .macro-dm-proximate-card-meta{font-size:10px}.feeding-plan-manager-totals-ratios{min-width:0}.feeding-plan-key-ratio-cards{display:flex;align-items:stretch;gap:6px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}.feeding-plan-key-ratio-card{flex:1 1 0;min-width:56px;border:1px solid var(--border);background:#fff;padding:6px 4px;text-align:center}.feeding-plan-key-ratio-card-label{color:#777;font-size:10px;line-height:1.2;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.feeding-plan-key-ratio-card-value{color:#222;font-size:13px;font-weight:700;line-height:1.2;font-variant-numeric:tabular-nums}.feeding-plan-manager-nutrition{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;background:#fff;content-visibility:auto;contain-intrinsic-size:auto 240px}.feeding-plan-manager-recipes{flex:1;min-height:0;border-top:1px solid var(--border);display:flex;flex-direction:column;background:#fff}.feeding-plan-manager-recipe-list{min-height:0;flex:1;overflow-y:auto;padding:0;display:flex;flex-direction:column;gap:0;background:#fff}.feeding-plan-manager-recipe-card{border:none;border-bottom:1px solid var(--border);background:#fff;padding:10px 12px;min-width:0}.feeding-plan-manager-recipe-card:last-child{border-bottom:none}.feeding-plan-manager-recipe-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0}.feeding-plan-manager-recipe-card-name{color:#222;font-size:13px;font-weight:400;line-height:1.35;overflow-wrap:anywhere}.feeding-plan-manager-recipe-card-scale{flex:0 0 auto;color:var(--accent-hover);font-size:12px;font-weight:700;white-space:nowrap}.feeding-plan-manager-food-section .feeding-plan-inventory-table,.feeding-plan-manager-food-table,.feeding-plan-manager-nutrition .feeding-plan-inventory-table,.feeding-plan-manager-nutrition-table{width:100%;min-width:0;table-layout:fixed}.feeding-plan-manager-food-table td,.feeding-plan-manager-food-table th,.feeding-plan-manager-nutrition-table td,.feeding-plan-manager-nutrition-table th{overflow-wrap:anywhere;word-break:break-word}.feeding-plan-manager-nutrition-table td:nth-child(2),.feeding-plan-manager-nutrition-table th:nth-child(2){text-align:right}.feeding-plan-manager-food-list{min-height:0;flex:1;overflow-x:hidden;overflow-y:auto;background:#fff;padding:0;display:flex;flex-direction:column;gap:0;content-visibility:auto;contain-intrinsic-size:auto 200px}.feeding-plan-manager-food-card{border:none;background:#fff;padding:10px 12px;min-width:0;position:relative}.feeding-plan-manager-food-card:not(:last-child)::after{content:'';position:absolute;left:12px;right:12px;bottom:0;height:1px;background:var(--border)}.feeding-plan-manager-food-card.is-invalid{color:var(--text-muted);background:#fff}.feeding-plan-manager-food-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0}.feeding-plan-manager-food-card-name{color:#222;font-size:13px;font-weight:400;line-height:1.35;overflow-wrap:anywhere}.feeding-plan-manager-food-card-amount{flex:0 0 auto;color:var(--accent-hover);font-size:12px;font-weight:700;white-space:nowrap}.feeding-plan-manager-food-card-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;align-items:center}.feeding-plan-manager-food-card-meta .food-list-tag{margin:0}.feeding-plan-manager-food-card-source{max-width:100%;padding:2px 6px;background:#f5f7f8;color:var(--text-secondary);font-size:11px;line-height:1.45;overflow-wrap:anywhere}.feeding-plan-editor-food-card .feeding-plan-tag{vertical-align:1px}.feeding-plan-editor-root{flex:1;min-width:0;min-height:0;overflow:hidden;padding:14px;background:#fff}.feeding-plan-editor-root.feeding-plan-editor{display:flex;flex-direction:column}.feeding-plan-empty,.feeding-plan-empty-inline,.feeding-plan-empty-state{display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:13px;text-align:center}.feeding-plan-empty{flex:1;min-height:0}.feeding-plan-empty-state{min-height:120px}.feeding-plan-empty-inline{min-height:70px;border:1px dashed var(--border);background:var(--bg-subtle)}.feeding-plan-editor{min-width:0;min-height:0;flex:1;display:flex;flex-direction:column}.feeding-plan-name-wrap{flex:1;min-width:220px}.feeding-plan-name-wrap label{font-size:14px;font-weight:700;color:var(--text);margin-bottom:5px}.feeding-plan-name-wrap input{height:34px}.feeding-plan-name-step{flex:0 0 auto}.feeding-plan-name-step .feeding-plan-name-wrap{min-width:0}.feeding-plan-warnings{display:grid;gap:6px;margin-bottom:10px;flex:0 0 auto}.feeding-plan-warning{border:1px solid #f3d6a4;background:#fff9ed;color:#8a5a00;padding:8px 10px;font-size:12px;line-height:1.45}.feeding-plan-wizard{min-height:0;flex:1;display:flex;flex-direction:column}.feeding-plan-wizard-pages{min-height:0;flex:1;overflow-y:auto;padding-right:2px;display:flex;flex-direction:column}.feeding-plan-wizard-page{flex:1;min-height:0;display:flex;flex-direction:column}.feeding-plan-wizard-page[hidden]{display:none!important}.feeding-plan-page-grid{display:grid;gap:12px;flex:1;min-height:0}.feeding-plan-page-grid-setup{grid-template-columns:minmax(250px,0.66fr) minmax(260px,1fr) minmax(260px,0.95fr);align-items:stretch}.feeding-plan-inventory-nutrition-step,.feeding-plan-inventory-preview-step,.feeding-plan-setup-column{min-width:0;min-height:0;height:100%;display:flex;flex-direction:column;gap:12px}.feeding-plan-setup-column{overflow:hidden}.feeding-plan-setup-column>.feeding-plan-date-step,.feeding-plan-setup-column>.feeding-plan-name-step{flex:0 0 auto}.feeding-plan-setup-column>.feeding-plan-recipe-step{flex:1 1 0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.feeding-plan-recipe-step .feeding-plan-step-head{flex:0 0 auto}.feeding-plan-setup-column .feeding-plan-recipe-picker{flex:1 1 0;min-height:0;overflow-x:hidden;overflow-y:auto;align-content:start;padding-right:2px}.feeding-plan-inventory-nutrition-step,.feeding-plan-inventory-preview-step{gap:0;overflow:hidden}.feeding-plan-editor-inventory-list{min-height:0;flex:1;overflow-x:hidden;overflow-y:auto;background:#fff;display:flex;flex-direction:column;gap:0}.feeding-plan-editor-nutrition{min-height:0;flex:1;display:flex;flex-direction:column;overflow:hidden;background:#fff}.feeding-plan-wizard-footer{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding-top:10px;border-top:1px solid var(--border)}.feeding-plan-assignment-mobile-tabs,.fp-mobile-only{display:none}.feeding-plan-wizard-footer-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.feeding-plan-auto-equal-split-filter{display:inline-flex;align-items:center;align-self:center;gap:6px;height:30px;margin:0;font-size:12px;color:var(--text-secondary);cursor:pointer;user-select:none;flex-shrink:0;line-height:1.2}.feeding-plan-auto-equal-split-filter input[type=checkbox]{width:14px;height:14px;margin:0;flex:0 0 auto;cursor:pointer;vertical-align:middle}.feeding-plan-auto-equal-split-filter span{display:inline-flex;align-items:center;line-height:1.2}.feeding-plan-auto-equal-split-filter:has(input:disabled){cursor:not-allowed;opacity:.65}.feeding-plan-auto-equal-split-filter input[type=checkbox]:disabled{cursor:not-allowed}.feeding-plan-wizard-footer-leading{margin-right:auto;display:flex;align-items:center;gap:8px}.feeding-plan-wizard-footer .feeding-plan-btn:disabled{opacity:.45;cursor:not-allowed}.feeding-plan-wizard-footer .feeding-plan-btn-primary:disabled{background:var(--accent);border-color:var(--accent);color:#fff}.feeding-plan-step{border:1px solid #e3e3e3;background:#fff;padding:12px;min-width:0;min-height:0}.feeding-plan-step-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.feeding-plan-step-title{font-size:14px;font-weight:700;color:var(--text)}.feeding-plan-calendar-title{min-width:74px;text-align:center;font-size:13px;font-weight:700;color:var(--text)}.feeding-plan-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;align-items:stretch;contain:layout style}.feeding-plan-calendar-week{height:24px;display:flex;align-items:center;justify-content:center;font-size:11px;color:#777;background:var(--bg-subtle)}.feeding-plan-calendar-day{position:relative;width:100%;min-width:0;aspect-ratio:1/1;padding:0;border:1px solid var(--border);background:#fff;color:var(--text);font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;contain:layout style paint}.feeding-plan-calendar-day:hover:not(:disabled){border-color:var(--accent)}.feeding-plan-calendar-day:disabled{cursor:default}.feeding-plan-calendar-day.outside{color:#bbb;background:0 0}.feeding-plan-calendar-day.outside:disabled{background:0 0}.feeding-plan-calendar-day.today{box-shadow:inset 0 0 0 1px #f39c12}.feeding-plan-calendar-day.selected{background:var(--accent);border-color:var(--accent);color:#fff}.feeding-plan-date-step .feeding-plan-calendar{gap:3px}.feeding-plan-date-step .feeding-plan-calendar-week{height:20px}.feeding-plan-date-step .feeding-plan-calendar-day{border-color:transparent}.feeding-plan-date-step .feeding-plan-calendar-day:hover:not(:disabled):not(.selected):not(.other-plan-date){background:#fff;border-color:var(--accent);color:var(--text)}.feeding-plan-date-step .feeding-plan-calendar-day.selected:hover{background:var(--accent);border-color:var(--accent);color:#fff}.feeding-plan-date-step .feeding-plan-calendar-day.selected{border-color:var(--accent)}.feeding-plan-date-step .feeding-plan-calendar-day.other-plan-date{border-color:transparent;background:#eef7fd;color:#1f5d8c;opacity:.92;cursor:default}.feeding-plan-date-step .feeding-plan-calendar-day.outside{background:0 0;border-color:transparent}.feeding-plan-date-step .feeding-plan-calendar-day.outside:disabled{background:0 0;opacity:.34}.feeding-plan-recipe-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.feeding-plan-page-grid-setup .feeding-plan-recipe-picker{grid-template-columns:1fr}.feeding-plan-recipe-option{border:1px solid var(--border);background:var(--bg-subtle);padding:10px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.feeding-plan-recipe-option.selected{background:#eef7fd;border-color:#b9d7ee}.feeding-plan-recipe-check{display:flex;align-items:flex-start;gap:8px;margin:0;min-width:0;cursor:pointer}.feeding-plan-recipe-check input{margin-top:3px;flex:0 0 auto}.feeding-plan-recipe-check span{min-width:0;display:flex;flex-direction:column;gap:3px}.feeding-plan-recipe-name{font-size:13px;font-weight:400;color:#222;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feeding-plan-recipe-check em{font-style:normal;font-size:11px;color:#777;line-height:1.4}.feeding-plan-recipe-days-stepper{display:flex;align-items:center;gap:4px;flex:0 0 auto}.feeding-plan-recipe-days-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:1px solid var(--border-strong);background:var(--bg-subtle);color:var(--text);font-size:14px;line-height:1;cursor:pointer}.feeding-plan-recipe-days-btn:hover:not(:disabled){background:#eef6fc;border-color:#c8d8e8;color:var(--accent-hover)}.feeding-plan-recipe-days-btn:disabled{opacity:.45;cursor:not-allowed}.feeding-plan-recipe-days-input{width:44px;min-width:44px;max-width:44px;height:24px;padding:0;border:1px solid var(--border-strong);background:#fff;color:var(--text);font-size:11px;text-align:center;-moz-appearance:textfield;appearance:textfield;box-sizing:border-box}.feeding-plan-recipe-days-input::-webkit-inner-spin-button,.feeding-plan-recipe-days-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.feeding-plan-recipe-days-input:disabled{background:var(--bg-app);color:var(--text-muted)}.feeding-plan-inventory-table{width:100%;min-width:620px;border-collapse:collapse;font-size:12px}.feeding-plan-inventory-table td,.feeding-plan-inventory-table th{padding:8px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.feeding-plan-inventory-table th{background:var(--bg-subtle);color:var(--text);font-weight:700}.feeding-plan-inventory-table tr:last-child td{border-bottom:none}.feeding-plan-inventory-table tr.is-invalid td{color:var(--text-muted);background:var(--bg-subtle)}.feeding-plan-inventory-table tr.is-empty td{background:#f8fbf8}.feeding-plan-inventory-preview-step .feeding-plan-step-head{flex:0 0 auto}.feeding-plan-table-empty{text-align:center!important;color:var(--text-muted);padding:20px!important}.feeding-plan-tag{display:inline-block;margin-left:6px;padding:1px 5px;font-size:11px;line-height:1.4;background:#edf2f7;color:var(--text-secondary)}.feeding-plan-assignment-workbench{display:grid;grid-template-columns:minmax(190px,0.62fr) minmax(320px,1.35fr) minmax(240px,0.86fr);gap:10px;min-height:0;height:100%}#feedingPlanWizardPage2 .feeding-plan-step{min-height:100%;display:flex;flex-direction:column}#feedingPlanWizardPage2 .feeding-plan-assignment-workbench{flex:1}.feeding-plan-assignment-column{min-width:0;min-height:0;border:1px solid var(--border);background:var(--bg-subtle);display:flex;flex-direction:column}.feeding-plan-column-title{padding:9px 10px;border-bottom:1px solid var(--border);background:var(--bg-subtle);color:var(--text);font-size:12px;font-weight:700}.feeding-plan-date-column .feeding-plan-column-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.feeding-plan-preview-column .feeding-plan-column-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.feeding-plan-remaining-column .feeding-plan-column-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.feeding-plan-remaining-column .feeding-plan-recipe-linked-filter{font-size:11px;text-align:right}.feeding-plan-column-title-meta{font-size:11px;font-weight:500;color:#777;text-align:right;white-space:nowrap}.feeding-plan-daily-preview,.feeding-plan-date-board,.feeding-plan-remaining-list{min-height:0;overflow-y:auto;padding:10px}.feeding-plan-remaining-list{display:flex;flex-direction:column;flex:1 1 auto}.feeding-plan-preview-column-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;background:#fff}.feeding-plan-preview-column .feeding-plan-daily-preview{flex:1 1 0;min-height:120px}.feeding-plan-preview-nutrition-block{flex:0 0 auto;display:flex;flex-direction:column;border-top:1px solid var(--border);background:#fff}.feeding-plan-assignment-nutrition{flex:0 0 auto;display:flex;flex-direction:row;align-items:flex-start;gap:10px;overflow:visible;padding:10px;background:var(--bg-subtle)}.feeding-plan-preview-nutrition-block .feeding-plan-assignment-nutrition.feeding-plan-editor-nutrition{flex:0 0 auto;flex-direction:row;min-height:auto;overflow:visible}.feeding-plan-preview-nutrition-block .feeding-plan-assignment-nutrition .feeding-plan-manager-totals{flex:0 0 min(56%,420px);min-width:280px;max-width:460px;padding:0;border-bottom:none;background:0 0;overflow:visible}.feeding-plan-assignment-nutrition-card{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;border:1px solid var(--border);background:#fff;overflow:hidden}.feeding-plan-assignment-nutrition-card--empty .feeding-plan-manager-nutrition{display:flex;align-items:center;justify-content:center;flex:1 1 auto;min-height:0;overflow:hidden}.feeding-plan-assignment-nutrition-empty{color:var(--text-muted);font-size:13px;line-height:1.4;text-align:center;padding:12px 16px}.feeding-plan-preview-nutrition-block .feeding-plan-assignment-nutrition .feeding-plan-assignment-nutrition-card .feeding-plan-manager-nutrition{flex:1 1 auto;min-width:0;min-height:0;max-height:100%;padding:0;overflow-x:hidden;overflow-y:auto;content-visibility:visible;contain-intrinsic-size:auto}.feeding-plan-preview-nutrition-block .feeding-plan-assignment-nutrition .feeding-plan-assignment-nutrition-card .feeding-plan-manager-nutrition-table{border-collapse:separate;border-spacing:0}.feeding-plan-preview-nutrition-block .feeding-plan-assignment-nutrition .feeding-plan-assignment-nutrition-card .feeding-plan-manager-nutrition-table td:first-child,.feeding-plan-preview-nutrition-block .feeding-plan-assignment-nutrition .feeding-plan-assignment-nutrition-card .feeding-plan-manager-nutrition-table th:first-child{width:68%}.feeding-plan-preview-nutrition-block .feeding-plan-assignment-nutrition .feeding-plan-assignment-nutrition-card .feeding-plan-manager-nutrition-table td:nth-child(2),.feeding-plan-preview-nutrition-block .feeding-plan-assignment-nutrition .feeding-plan-assignment-nutrition-card .feeding-plan-manager-nutrition-table th:nth-child(2){width:32%}.feeding-plan-preview-nutrition-block .feeding-plan-assignment-nutrition .feeding-plan-assignment-nutrition-card .feeding-plan-manager-nutrition-table thead th{position:sticky;top:0;z-index:2;background:var(--bg-subtle);box-shadow:0 1px 0 var(--border)}.feeding-plan-daily-preview{flex:1 1 auto;display:flex;flex-direction:column}.feeding-plan-daily-preview.drag-over{outline:2px solid #f39c12;outline-offset:-2px;background:#fff9ed}.feeding-plan-daily-preview>.feeding-plan-assignment-food-table-wrap,.feeding-plan-daily-preview>.feeding-plan-preview-empty{flex:1 1 auto}.feeding-plan-assignment-food-table-wrap{min-height:100%;overflow:auto}.feeding-plan-assignment-food-table{width:100%;margin-top:0;font-size:12px;table-layout:fixed}.feeding-plan-assignment-food-table td,.feeding-plan-assignment-food-table th{vertical-align:middle}.feeding-plan-assignment-food-table td:first-child,.feeding-plan-assignment-food-table th:first-child{width:auto;text-align:left}.feeding-plan-assignment-food-table td:nth-child(2),.feeding-plan-assignment-food-table th:nth-child(2){width:18%;text-align:right;white-space:nowrap}.feeding-plan-assignment-food-table td.feeding-plan-assignment-food-kcal,.feeding-plan-assignment-food-table th.feeding-plan-assignment-food-th-kcal{width:14%;text-align:right;color:var(--text-secondary)}.feeding-plan-assignment-food-table td.feeding-plan-assignment-food-actions,.feeding-plan-assignment-food-table th.feeding-plan-assignment-food-table-actions{width:88px;text-align:right}.feeding-plan-assignment-food-cell{line-height:1.35}.feeding-plan-assignment-food-name{color:var(--text)}.feeding-plan-assignment-food-cell .feeding-plan-manager-food-card-meta{margin-top:3px}.feeding-plan-assignment-food-weight{white-space:nowrap}.feeding-plan-assignment-food-row.is-invalid .feeding-plan-assignment-food-name{color:var(--text-muted)}.feeding-plan-assignment-food-table .feeding-plan-assignment-row-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;margin-top:0}.feeding-plan-remaining-item{position:relative;border:1px solid var(--border);background:#fff;padding:9px;margin-bottom:8px;cursor:grab}.feeding-plan-remaining-added-badge{position:absolute;top:7px;right:7px;padding:1px 5px;font-size:10px;line-height:1.35;background:#e8f5e9;color:#2e7d32;border:1px solid #c8e6c9;white-space:nowrap;pointer-events:none}.feeding-plan-remaining-item.has-added .feeding-plan-remaining-name{padding-right:46px}.feeding-plan-remaining-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px;align-items:center}.feeding-plan-remaining-tags .food-list-tag{margin:0}.feeding-plan-remaining-stats{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px}.feeding-plan-remaining-amounts,.feeding-plan-remaining-percent{color:#777;font-size:12px;line-height:1.35;white-space:nowrap}.feeding-plan-remaining-amounts{min-width:0;flex:0 0 auto;margin-left:auto;text-align:right}.feeding-plan-remaining-percent{flex:0 0 auto;text-align:left}.feeding-plan-remaining-item:active{cursor:grabbing}.feeding-plan-remaining-item.is-empty,.feeding-plan-remaining-item.is-invalid{opacity:.62;cursor:default}.feeding-plan-remaining-name{font-size:13px;font-weight:400;color:#222;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feeding-plan-date-card-title{font-size:13px;font-weight:700;color:#222;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feeding-plan-remaining-bar{height:5px;background:#e9ecef;overflow:hidden;margin-top:7px}.feeding-plan-remaining-bar span{display:block;height:100%;background:var(--accent)}.feeding-plan-date-board{display:flex;flex-direction:column;gap:8px;align-content:flex-start}.feeding-plan-date-card{border:1px solid var(--border);background:#fff;padding:9px;cursor:pointer}.feeding-plan-date-card.selected{border-color:var(--accent);background:#f6fbff}.feeding-plan-date-card.drag-over{border-color:#f39c12;background:#fff9ed}.feeding-plan-date-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}.feeding-plan-date-card-head-weekday{flex:0 0 auto;color:#777;font-size:11px;font-weight:400;white-space:nowrap}.feeding-plan-date-card-stats{display:flex;align-items:center;justify-content:space-between;gap:8px}.feeding-plan-date-card-food-count{min-width:0;color:var(--text-secondary);font-size:12px;line-height:1.35;white-space:nowrap}.feeding-plan-date-card-metrics{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:0 0 auto;margin-left:auto}.feeding-plan-date-card-metric{display:inline-flex;align-items:center;color:var(--text-secondary);font-size:12px;line-height:1.35;white-space:nowrap}.feeding-plan-assignment-row-actions button{height:22px;padding:0 6px;border:1px solid var(--border-strong);background:#fff;color:var(--text-secondary);font-size:11px;cursor:pointer}.feeding-plan-assignment-row-actions button:hover{background:#eef6fc;color:var(--accent-hover)}.feeding-plan-assignment-row-actions .feeding-plan-assignment-remove-btn{color:#e74c3c;border-color:#e74c3c}.feeding-plan-assignment-row-actions .feeding-plan-assignment-remove-btn:hover{background:#fdf2f2;color:#c0392b;border-color:#c0392b}.feeding-plan-assignment-empty,.feeding-plan-preview-empty{min-height:70px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:12px;text-align:center;border:1px dashed var(--border);background:#fff}.feeding-plan-remaining-complete{flex:1;min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:16px 10px;text-align:center}.feeding-plan-remaining-complete-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#e8f8ef;color:#27ae60}.feeding-plan-remaining-complete-icon svg{width:24px;height:24px}.feeding-plan-remaining-complete-text{font-size:12px;color:var(--text-muted);line-height:1.4}.feeding-plan-amount-modal{position:fixed;inset:0;z-index:1350;display:flex;align-items:center;justify-content:center;padding:16px}.feeding-plan-amount-modal-card{width:min(420px,100%);background:#fff;border:1px solid var(--border);box-shadow:var(--shadow-lg)}.feeding-plan-amount-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:12px;border-bottom:1px solid var(--border)}.feeding-plan-amount-modal-head-main,.feeding-plan-amount-modal-head>div:first-child{flex:1 1 auto;min-width:0}.feeding-plan-amount-modal-head-side{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:0 0 auto}.feeding-plan-amount-title{color:var(--text);font-size:15px;font-weight:700}.feeding-plan-amount-hint,.feeding-plan-amount-subtitle{color:#777;font-size:12px;line-height:1.45;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feeding-plan-amount-remaining-tag{text-align:right;white-space:nowrap}.feeding-plan-amount-remaining-tag--exceeded{background:#fff8e1;color:#b8860b}.feeding-plan-amount-body{padding:12px}.feeding-plan-amount-metric-label-row{display:flex;align-items:center;gap:4px;margin-bottom:6px}.feeding-plan-amount-metric-percent .feeding-plan-amount-metric-label-row{justify-content:flex-end}.feeding-plan-amount-metric-label{display:block;color:var(--text-secondary);font-size:12px;margin-bottom:0}.feeding-plan-amount-edit-icon{display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;background:0 0;color:#bbb;cursor:pointer;line-height:1;flex-shrink:0}.feeding-plan-amount-edit-icon:hover,.feeding-plan-amount-metric-label-row:hover .feeding-plan-amount-edit-icon,.feeding-plan-amount-metric:has(.feeding-plan-amount-display-editable:focus) .feeding-plan-amount-edit-icon{color:var(--accent)}.feeding-plan-amount-metrics{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.feeding-plan-amount-metric{flex:1;min-width:0}.feeding-plan-amount-metric-percent{text-align:right}.feeding-plan-amount-metric-value{display:flex;align-items:baseline;gap:6px}.feeding-plan-amount-metric-percent .feeding-plan-amount-metric-value{justify-content:flex-end}.feeding-plan-amount-display{font-size:24px;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums;line-height:1.1}.feeding-plan-amount-display-editable{cursor:text;outline:0;min-width:.5em}.feeding-plan-amount-display-editable:focus{outline:0}.feeding-plan-amount-unit{font-size:14px;color:var(--text-muted)}.feeding-plan-amount-slider-row{padding:0 5px;box-sizing:border-box}.feeding-plan-amount-slider-row input[type=range]{width:100%;touch-action:none}.feeding-plan-amount-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px;border-top:1px solid var(--border);flex-wrap:wrap}.feeding-plan-amount-actions-left,.feeding-plan-amount-actions-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.feeding-plan-amount-actions-left{margin-right:auto}.recipe-card-ingredients-section{margin-bottom:8px}.recipe-card-ingredients-section:last-of-type{margin-bottom:0}.recipe-card-ingredients-divider{height:1px;background:var(--border);margin:8px 0}.recipe-card.selected .recipe-card-ingredients-divider{background:#dde8f0}.recipe-manager-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:12px;color:#777;padding:16px;text-align:center}.recipe-manager-panel button{border-radius:var(--radius)}.recipe-manager-trigger{border-radius:var(--radius)!important;line-height:1;height:32px;min-height:32px;padding:8px!important;box-sizing:border-box;display:inline-flex;align-items:center}.recipe-manager-trigger span{line-height:1;display:inline-flex;align-items:center}.pet-manager-overlay{position:fixed;inset:0;background:rgba(0,0,0,0);z-index:1200;transition:background .25s ease-out}.pet-manager-overlay.visible{background:rgba(0,0,0,.4)}.pet-manager-panel{position:absolute;top:0;left:0;width:460px;max-width:100%;height:100%;background:var(--bg-surface);box-shadow:var(--shadow-lg);transform:translateX(-100%);transition:transform .25s ease-out;display:flex;flex-direction:column;border-radius:var(--radius)}.pet-manager-panel.open{transform:translateX(0)}.pet-manager-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--border)}.pet-manager-title{font-size:15px;font-weight:600;color:#222}.pet-manager-close{background:0 0;border:none;font-size:22px;line-height:1;color:var(--text-secondary);cursor:pointer;padding:0 4px}.pet-manager-close:hover{color:var(--text)}.pet-manager-list-section{flex:1;display:flex;flex-direction:column;min-height:0;position:relative}.pet-manager-list{flex:1;overflow-y:auto;padding:8px 12px}.pet-manager-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:12px;color:#777;padding:16px;text-align:center}.pet-card{border:1px solid var(--border);padding:0;margin-bottom:8px;background:#fff;display:flex;flex-direction:column}.pet-card:hover{background:var(--bg-subtle)}.pet-card.selected{border-color:var(--accent);background:#e8f4fc}.pet-card.selected:hover{background:#e0f0fa}.pet-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;flex-wrap:nowrap}.pet-card-drag-handle{flex-shrink:0;cursor:grab;color:var(--text-muted);padding:2px 4px;user-select:none;touch-action:none;font-size:14px;line-height:1}.pet-card-drag-handle:active{cursor:grabbing}.pet-card-drag-handle:hover{color:var(--text-secondary)}.pet-card-species-icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);overflow:hidden;border-radius:50%}.pet-card-species-icon .pet-card-species-icon-svg{width:34px;height:34px}.pet-card-species-icon.has-breed-image .pet-card-breed-avatar{width:100%;height:100%;object-fit:cover;transform:scale(1.26);display:block}.pet-card-species-icon.has-custom-avatar .pet-card-breed-avatar{transform:none}.pet-card.selected .pet-card-species-icon{color:var(--accent)}.pet-card-title-wrap{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.pet-card-name{font-size:13px;font-weight:600;color:#222;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.pet-card-meta{font-size:11px;color:var(--text-muted)}.pet-card-linked-recipe{cursor:pointer;color:var(--accent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pet-card-linked-recipe:hover{text-decoration:underline;color:var(--accent-hover)}.pet-linked-recipe-dropdown{display:none;position:fixed;z-index:10002;background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 12px rgba(0,0,0,.12);max-height:240px;overflow-y:auto;font-size:12px}.pet-linked-recipe-dropdown-item{padding:6px 10px;cursor:pointer;color:var(--text)}.pet-linked-recipe-dropdown-item:hover{background:#f0f3f6;color:#222}.pet-linked-recipes-modal-content{width:780px;max-width:calc(100vw - 32px);max-height:100vh}.pet-linked-recipes-modal-body{padding-top:12px;padding-bottom:12px}.pet-linked-recipes-modal-subtitle{margin-top:4px;font-size:13px;font-weight:400;color:var(--text-muted)}.pet-linked-recipes-panels{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pet-linked-recipes-panel{display:flex;flex-direction:column;min-height:280px;border:1px solid #e8ebef;border-radius:var(--radius);background:var(--bg-subtle);overflow:hidden}.pet-linked-recipes-panel-title{padding:8px 12px;font-size:13px;font-weight:600;color:var(--text);border-bottom:1px solid #e8ebef;background:#fff}.pet-linked-recipes-list{list-style:none;margin:0;padding:6px;flex:1;display:flex;flex-direction:column;overflow-y:auto;min-height:240px;max-height:280px}.pet-linked-recipes-list.is-drag-over{background:#f0f7ff}.pet-linked-recipes-item{display:flex;align-items:center;gap:8px;padding:7px 10px;margin-bottom:4px;border:1px solid #e3e7ed;border-radius:var(--radius);background:#fff;cursor:grab;user-select:none}.pet-linked-recipes-item.is-dragging{opacity:.55}.pet-linked-recipes-item-grip{color:#bbb;font-size:12px;line-height:1}.pet-linked-recipes-item-name{flex:1;min-width:0;font-size:13px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pet-linked-recipes-item-primary-badge{flex-shrink:0;padding:1px 6px;font-size:11px;color:#9a3412;background:#fff7ed;border-radius:var(--radius)}.pet-linked-recipes-item-action-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:var(--radius);background:0 0;color:#bbb;cursor:pointer}.pet-linked-recipes-item-action-icon{display:block;width:16px;height:16px}.pet-linked-recipes-add-link-btn:hover{color:var(--accent);background:#ebf5fb}.pet-linked-recipes-set-primary-btn.is-active,.pet-linked-recipes-set-primary-btn:hover{color:#f59e0b;background:#fffbeb}.pet-linked-recipes-set-primary-btn.is-active .pet-linked-recipes-item-action-icon{fill:currentColor}.pet-linked-recipes-remove-link-btn:hover{color:#e74c3c;background:#fdf2f2}.pet-linked-recipes-empty{flex:1;display:flex;align-items:center;justify-content:center;padding:16px 12px;text-align:center;font-size:13px;color:var(--text-muted)}.pet-linked-recipes-modal-actions{justify-content:space-between;align-items:center;gap:16px}.pet-linked-recipes-modal-actions-hint{margin:0;flex:1;min-width:0;font-size:12px;line-height:1.45;color:var(--text-muted)}.pet-linked-recipes-modal-actions-btns{display:flex;align-items:center;gap:10px;flex-shrink:0}.pet-linked-recipes-modal .btn-ideal-weight-apply,.pet-linked-recipes-modal .btn-ideal-weight-close{border-radius:var(--radius)}@media (max-width:768px){.pet-linked-recipes-panels{grid-template-columns:1fr}}.pet-card-actions{display:flex;align-items:center;gap:4px;flex-shrink:0;flex-wrap:nowrap}.pet-card-actions button{font-size:11px;height:26px;padding:0 8px;min-width:44px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-subtle);color:#495057;cursor:pointer}.pet-card-actions button:hover{background:#e9ecef;border-color:#ced4da;color:#212529}.pet-card-actions button.pet-card-btn-apply{background:var(--accent);border-color:var(--accent);color:#fff}.pet-card-actions button.pet-card-btn-apply:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}.pet-card-actions button.pet-card-btn-apply:disabled{background:#e9ecef;border-color:var(--border);color:#adb5bd;cursor:default}.pet-card-actions button.pet-card-btn-update:hover:not(:disabled){background:#219a52;border-color:#219a52;color:#fff}.pet-card-actions button.pet-card-btn-update{background:#27ae60;border-color:#27ae60;color:#fff}.pet-card-actions button.pet-card-btn-update:disabled{background:#e9ecef;border-color:var(--border);color:#adb5bd;cursor:default}.pet-card-actions button.pet-card-btn-danger{background:#fff;border-color:#e03131;color:#e03131}.pet-card-actions button.pet-card-btn-danger:hover{background:#fff5f5;border-color:#e03131;color:#c92a2a}.pet-card-body{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;padding:8px 10px 10px;border-top:1px solid var(--border);background:var(--bg-subtle);font-size:12px;color:var(--text-secondary);line-height:1.4}.pet-card:hover .pet-card-body{background:var(--bg-app)}.pet-card.selected .pet-card-body{background:#f0f7fc}.pet-card.selected:hover .pet-card-body{background:#e8f2fa}.pet-card-body-row{display:contents}.pet-card-body-row .pet-card-body-label{color:var(--text-muted)}.pet-card-body-row span:last-child{min-width:0}.pet-card-body-divider{grid-column:1/-1;height:0;border-top:1px solid var(--border);margin:6px 0 2px}.pet-card.selected .pet-card-body-divider{border-top-color:#dde8f0}.basic-info-card>.card-title{display:flex;justify-content:space-between;align-items:flex-start}.basic-info-card>.card-title>div{display:flex;align-items:flex-start;gap:8px}.basic-info-card>.card-title .pet-manager-trigger{height:32px;box-sizing:border-box;display:inline-flex;align-items:center;line-height:1;background:#f3f5f7!important;border-radius:var(--radius)!important;padding:8px 12px!important}.basic-info-card>.card-title .pet-manager-trigger:hover{background:var(--border)!important}#petCardAddPetBtn{width:32px;min-width:32px;padding:8px!important;justify-content:center}#petCardAddPetBtn svg{width:15px;height:15px}.pet-manager-trigger-icon{width:13px;height:13px;vertical-align:middle}.pet-manager-trigger span{line-height:1;display:inline-flex;align-items:center}.food-list-card-title{display:flex;align-items:center;gap:8px}.food-list-title-text{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;order:0}.food-list-card-controls{display:flex;align-items:center;gap:8px;flex:1 1 auto;flex-wrap:wrap;justify-content:flex-end;order:1}.food-list-info-cards{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.food-list-action-btns{display:flex;align-items:center;gap:8px;flex-shrink:0;order:2}.food-list-input-toolbar:empty{display:none}.food-list-history-btns{display:inline-flex;align-items:stretch;flex-shrink:0;gap:6px}.food-list-history-btn{border-radius:var(--radius);box-sizing:border-box;height:28px;min-width:28px;min-height:28px;padding:0 6px!important;border:1px solid var(--border);background:#fff;color:var(--text-secondary)}.food-list-history-btn svg{width:13px;height:13px}.food-list-history-btn:hover:not(:disabled){background:var(--border);color:var(--text);z-index:1;position:relative}.food-list-history-btn:disabled{opacity:.35;cursor:not-allowed;pointer-events:none;background:var(--bg-subtle)}.food-list-action-divider{display:block;width:1px;height:20px;background:var(--border);flex-shrink:0;align-self:center}.current-energy-card{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;min-height:32px;box-sizing:border-box;border-radius:var(--radius);background:var(--bg-subtle);font-size:13px;color:var(--text-secondary)}.current-energy-card:hover{background:#f2f4f6}.current-energy-card-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;color:#e67e22;line-height:0}.current-energy-card-icon svg{width:14px;height:14px;display:block}.current-energy-card-title{color:var(--text-secondary);font-size:13px}.current-energy-card-values{font-weight:600;color:var(--text)}.current-recipe-card{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;min-height:32px;box-sizing:border-box;border-radius:var(--radius);background:var(--bg-subtle);font-size:13px;color:var(--text-secondary);max-width:520px}.current-recipe-card:hover{background:#f2f4f6}.current-recipe-card-main{display:flex;flex-direction:row;align-items:center;gap:6px;min-width:0}.current-recipe-card-link-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:var(--radius);background:0 0;color:#bbb;cursor:pointer}.current-recipe-card-link-icon{display:block;width:14px;height:14px}.current-recipe-card-link-btn:hover:not(:disabled){color:var(--accent);background:#ebf5fb}.current-recipe-card-link-btn.is-linked{color:var(--accent);background:#ebf5fb}.current-recipe-card-link-btn:disabled{cursor:default;opacity:.45}.current-recipe-card.has-recipe .current-recipe-card-link-btn.is-linked{color:var(--accent)}.current-recipe-card-name{font-weight:600;max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.current-recipe-card-actions{display:flex;gap:4px;margin-left:4px;flex-shrink:0}.current-recipe-btn{border:1px solid var(--border-strong);background:#fff;border-radius:var(--radius);padding:2px 6px;font-size:11px;cursor:pointer;color:var(--text)}.current-recipe-btn:hover:not(:disabled){background:#f0f3f6}.current-recipe-btn:disabled{cursor:default;opacity:.5}.current-recipe-btn-save:not(:disabled){border-color:var(--accent);color:var(--accent)}.current-recipe-btn-save:hover:not(:disabled){background:#e8f4fc;border-color:var(--accent)}.current-recipe-card.has-recipe .current-recipe-card-name{color:#222}.current-recipe-btn-close{min-width:20px;padding:0 2px;margin-left:0;font-size:18px;line-height:1;border:none;background:0 0;color:var(--text-muted);cursor:pointer}.current-recipe-btn-close:hover{color:#e74c3c}.btn-remove{background:#e74c3c;color:#fff;padding:5px 10px;font-size:12px}.btn-remove:hover{background:#c0392b}.info-box{padding:12px 15px;background:#ecf0f1;border-left:3px solid #34495e;font-size:13px;color:var(--text-secondary);margin-bottom:15px}.energy-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px}.metric-box{display:flex;flex-direction:column;height:100%;padding:15px;background:var(--bg-subtle);border:1px solid var(--border)}.metric-label{font-size:12px;color:#6c757d;margin-bottom:5px}.metric-value{font-size:20px;font-weight:600;color:var(--text)}.k-value-metric-box .k-value-header-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 5px;margin-bottom:6px;box-sizing:border-box}.k-value-metric-box .k-value-header-row .metric-value{margin-bottom:0;line-height:1.2;flex-shrink:0}.k-value-header-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.k-value-edit-btn{flex-shrink:0;width:30px;height:30px;padding:0;margin:0;border:none;border-radius:var(--radius);background:0 0;color:#6c757d;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:color .15s ease,background .15s ease}.k-value-edit-btn:hover{color:var(--accent-hover);background:rgba(52,152,219,.12)}.k-value-edit-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.k-value-slider-row{padding:0 5px;box-sizing:border-box}.metric-unit{font-size:13px;color:var(--text-muted);margin-left:3px}.metric-value .metric-unit{font-size:14px;font-weight:400;color:inherit}.metric-box>.metric-unit{margin-top:auto;margin-left:0;padding-top:6px}input[type=range]{-webkit-appearance:none;appearance:none;height:6px;background:var(--border);border-radius:var(--radius);outline:0;cursor:pointer}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;background:var(--accent);border-radius:50%;cursor:pointer}input[type=range]::-moz-range-thumb{width:16px;height:16px;background:var(--accent);border-radius:50%;cursor:pointer;border:none}input[type=range]:hover::-webkit-slider-thumb{background:var(--accent-hover)}input[type=range]:hover::-moz-range-thumb{background:var(--accent-hover)}.ideal-weight-bcs-section input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:12px;height:12px;background:var(--accent);border-radius:50%;cursor:pointer}.ideal-weight-bcs-section input[type=range]::-moz-range-thumb{width:12px;height:12px;background:var(--accent);border-radius:50%;cursor:pointer;border:none}.ideal-weight-bcs-section input[type=range]:hover::-webkit-slider-thumb{background:var(--accent-hover)}.ideal-weight-bcs-section input[type=range]:hover::-moz-range-thumb{background:var(--accent-hover)}.value-non-compliant{color:#e74c3c!important;font-weight:500}.nutrition-display-mode-toggle{display:flex;align-items:stretch;gap:0;flex-shrink:0;padding:2px;background:var(--bg-muted);border-radius:var(--radius);overflow-x:auto;scrollbar-width:none;box-sizing:border-box}.nutrition-display-mode-toggle::-webkit-scrollbar{display:none}.nutrition-display-mode-toggle .ndm-btn{flex:0 0 auto;height:28px;padding:0 10px;border:none;border-radius:var(--radius);background:0 0;color:#678;font-size:12px;font-weight:500;line-height:1;cursor:pointer;white-space:nowrap;transition:background .15s ease,color .15s ease,box-shadow .15s ease;-webkit-appearance:none;appearance:none}.nutrition-display-mode-toggle .ndm-btn:hover:not(.ndm-btn-active){background:rgba(255,255,255,.45);color:var(--accent-hover)}.nutrition-display-mode-toggle .ndm-btn.ndm-btn-active{background:#fff;color:#1f5d8c;font-weight:600;box-shadow:0 1px 2px rgba(31,93,140,.08)}.nutrition-display-mode-toggle .ndm-btn.ndm-btn-active:hover{background:#fff;color:#1f5d8c}.nutrition-display-mode-toggle.ndm-toggle-disabled{opacity:.45;pointer-events:none}.nutrition-display-mode-toggle .ndm-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;z-index:1}.btn-nutrient-loss-settings{height:30px;padding:0 11px;font-size:12px;font-weight:400;line-height:1;background:#fff;color:#678;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .15s ease,color .15s ease,border-color .15s ease}.btn-nutrient-loss-settings:hover{background:#f5f8fa;color:var(--accent-hover);border-color:#b8d4e8}.btn-nutrient-loss-settings:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.btn-nutrition-rule-params{height:30px;padding:0 11px;font-size:12px;font-weight:400;line-height:1;background:#fff;color:#678;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .15s ease,color .15s ease,border-color .15s ease}.btn-nutrition-rule-params:hover{background:#f5f8fa;color:var(--accent-hover);border-color:#b8d4e8}.btn-nutrition-rule-params:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.btn-nutrition-rule-params.nutrition-rule-params-active{border-color:#b8d4e8;color:var(--accent-hover);background:#f0f7fc}.btn-nutrition-rule-params.nutrition-rule-params-incomplete{border-color:#e6a23c;color:#b7791f;background:#fffaf0}.btn-bioavailability-settings{height:30px;padding:0 11px;font-size:12px;font-weight:400;line-height:1;background:#fff;color:#678;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .15s ease,color .15s ease,border-color .15s ease}.btn-bioavailability-settings:hover{background:#f5f8fa;color:var(--accent-hover);border-color:#b8d4e8}.btn-bioavailability-settings:focus-visible{outline:2px solid var(--accent);outline-offset:1px}#bioavailabilityModal.balance-modal{z-index:10002}.bioavail-modal-content{width:min(1120px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:78vh;display:flex;flex-direction:column;background:#fff}.bioavail-body{display:flex!important;flex-direction:column!important;flex:1;min-height:0;overflow:hidden!important;padding:0!important}.bioavail-layout{display:grid;grid-template-columns:360px minmax(0,1fr);flex:1;min-height:420px;max-height:calc(78vh - 120px);overflow:hidden}.bioavail-sidebar{border-right:1px solid var(--border);background:var(--bg-subtle);overflow-y:auto;min-height:0}.bioavail-sidebar-section{padding:14px}.bioavail-sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.bioavail-sidebar-head .bioavail-sidebar-title{margin:0;flex:1;min-width:0}.bioavail-main-title,.bioavail-sidebar-title{margin:0 0 8px;font-size:13px;font-weight:600;color:#34495e}.bioavail-sidebar-head .edge-dock-btn{width:28px;height:28px;border-bottom:none;background:0 0;flex-shrink:0}.bioavail-sidebar-head .edge-dock-svg{width:15px;height:15px}.bioavail-sidebar-hint{margin:0 0 12px;font-size:12px;line-height:1.55;color:#6b7280}.bioavail-food-list{display:flex;flex-direction:column;gap:8px}.bioavail-food-row{display:grid;grid-template-columns:minmax(0,1fr) 118px;gap:8px;align-items:center}.bioavail-food-name{font-size:12px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bioavail-role-select{width:100%;font-size:12px;padding:4px 6px}.bioavail-empty-hint{font-size:12px;color:#6b7280;margin:0}.bioavail-main{padding:14px 16px;overflow-y:auto;min-height:0}.bioavail-main-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}.bioavail-main-head-text{flex:1;min-width:0}.bioavail-main-hint{margin:4px 0 0;font-size:11px;color:#8a949e;line-height:1.45}.btn-bioavail-add-rule{display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 10px;font-size:12px;border:1px solid var(--border);background:#fff;color:var(--accent-hover);cursor:pointer}.btn-bioavail-add-rule-icon{flex-shrink:0;display:block}.btn-bioavail-add-rule:hover{background:#f0f7ff;border-color:#93c5fd}.bioavail-rules-list{display:flex;flex-direction:column;gap:10px}.bioavail-rule-card{border:1px solid var(--border);background:#fff;padding:10px 12px}.bioavail-rule-card.is-disabled{opacity:.62}.bioavail-rule-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px}.bioavail-rule-toggle{display:inline-flex;align-items:center;gap:6px;cursor:pointer;flex:1;min-width:180px}.bioavail-rule-title{font-size:13px;font-weight:600;color:var(--text)}.bioavail-rule-badge{font-size:11px;padding:1px 6px;background:var(--border);color:#5a6570}.bioavail-rule-tags{display:flex;flex-wrap:wrap;gap:6px;margin:0}.bioavail-rule-tag{display:inline-block;font-size:11px;line-height:1.4;padding:2px 8px;border-radius:var(--radius);white-space:nowrap}.bioavail-rule-tag--role{background:var(--border);color:#5a6570;border:1px solid var(--border)}.bioavail-rule-tag--nutrient{background:#f3f4f6;color:#374151;border:1px solid var(--border)}.bioavail-rule-desc{margin:0 0 8px;font-size:12px;line-height:1.55;color:#5a6570}.bioavail-custom-rule-textarea.custom-food-control{height:auto;min-height:52px;padding:6px 8px;line-height:1.45;resize:vertical}.bioavail-rule-delete-btn,.bioavail-rule-edit-btn{font-size:11px;padding:2px 8px;border:1px solid var(--border);background:#fff;color:#374151;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.bioavail-rule-edit-btn:hover{background:#f0f7ff;border-color:#93c5fd;color:#1d4ed8}.bioavail-rule-delete-btn:hover{background:#fef3f2;border-color:#fecdca;color:#b42318}#bioavailCustomRuleModal.balance-modal{z-index:10003}.bioavail-custom-rule-modal-content{width:min(520px,calc(100vw - 24px));max-width:calc(100vw - 24px);height:min(82vh,680px);max-height:calc(100vh - 32px);min-height:0;display:flex;flex-direction:column;background:#fff}.bioavail-custom-rule-body{padding:14px 18px;display:flex;flex-direction:column;gap:0;overflow-x:hidden;overflow-y:auto;flex:1 1 auto;min-height:0}.bioavail-custom-page{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.bioavail-custom-page[hidden]{display:none!important}.bioavail-custom-intro-card{margin:0 0 12px;padding:10px 12px;background:var(--bg-subtle);border:1px solid var(--border)}.bioavail-custom-intro{margin:0;font-size:12px;line-height:1.55;color:#5a6570}.bioavail-custom-role-summary{margin:0 0 12px;padding:8px 10px;font-size:12px;line-height:1.5;color:#374151;background:#f8fafc;border:1px solid var(--border)}.bioavail-custom-rule-footer{flex-shrink:0;padding:0;border-top:1px solid var(--border)}.bioavail-custom-footer-step{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;width:100%;padding:12px 18px;box-sizing:border-box}.bioavail-custom-footer-step[hidden]{display:none!important}.bioavail-custom-footer-left,.bioavail-custom-footer-right{display:flex;align-items:center;gap:8px}.bioavail-custom-rule-section{margin-bottom:14px}.bioavail-custom-rule-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.bioavail-custom-rule-section-head .bioavail-custom-rule-label{margin-bottom:0}.bioavail-custom-nutrient-hint{margin:0 0 10px;font-size:12px;color:#5a6570;line-height:1.5}.bioavail-custom-nutrient-table-wrap{flex:1 1 auto;min-height:0;overflow:auto;border:1px solid var(--border);background:#fff}.bioavail-custom-nutrient-table-wrap .bioavail-custom-nutrient-table{margin:0}.bioavail-custom-nutrient-table-wrap .bioavail-custom-nutrient-table thead th{position:sticky;top:0;z-index:2;background:var(--bg-subtle);box-shadow:0 1px 0 var(--border)}.bioavail-custom-nutrient-table tbody tr.is-filled{background:#f1f5f9}.bioavail-custom-nutrient-table tbody tr.is-filled td:first-child{box-shadow:inset 3px 0 0 #64748b}.bioavail-custom-role-grid{flex:1 1 auto;min-height:120px;max-height:none;overflow:auto;padding:8px 10px;border:1px solid var(--border);background:#f8fafc}.bioavail-custom-role-list{display:flex;flex-direction:column;gap:0}.bioavail-custom-role-row{display:flex;align-items:center;gap:8px;width:100%;padding:7px 8px;font-size:13px;color:#374151;cursor:pointer;box-sizing:border-box;border-bottom:1px solid #eef2f6}.bioavail-custom-role-row:last-child{border-bottom:none}.bioavail-custom-role-row:hover{background:#f1f5f9}.bioavail-custom-role-row input[type=checkbox]{flex-shrink:0;margin:0;cursor:pointer}.bioavail-custom-role-row-label{flex:1;min-width:0}.bioavail-custom-role-group-tag{flex-shrink:0;margin-left:auto;text-align:right;min-width:4.5em;font-size:11px;font-weight:400;color:#a8b0ba}.bioavail-custom-rule-label{display:block;margin:0 0 4px;font-size:12px;font-weight:600;color:#374151}.bioavail-custom-rule-control+.bioavail-custom-rule-label{margin-top:12px}.bioavail-custom-rule-label+.bioavail-custom-rule-control,.bioavail-custom-rule-label+select.bioavail-custom-rule-control{margin-bottom:0}.bioavail-custom-rule-control{width:100%;box-sizing:border-box}.bioavail-custom-rule-hint{margin:4px 0 0;font-size:11px;color:#8a949e;line-height:1.45}.bioavail-modal-actions{display:flex;align-items:center;justify-content:space-between}.bioavail-modal-actions-right{display:flex;gap:8px}.btn-bioavail-reset{flex-shrink:0;padding:8px 16px;background:#ecf0f1;color:var(--text);border:1px solid #bdc3c7;border-radius:var(--radius);cursor:pointer;font-size:13px;box-sizing:border-box}.btn-bioavail-reset:hover{background:#dfe6e9}.btn-bioavail-reset:focus-visible{outline:2px solid var(--accent-hover);outline-offset:2px}@media (max-width:768px){#bioavailabilityModal .bioavail-layout{display:flex;flex-direction:column;grid-template-columns:none;flex:1;min-height:0;max-height:none;overflow:hidden}#bioavailabilityModal .bioavail-sidebar{flex-shrink:0;border-right:none;border-bottom:1px solid var(--border);max-height:min(34vh,240px);overflow-y:auto}#bioavailabilityModal .bioavail-main{flex:1;min-height:0;overflow-y:auto}}.nutrition-rule-params-inferred-warn{border-color:#e6c89a;background:#fffaf0}.nutrition-rule-params-decl-hint{margin:-4px 0 10px 28px}.nutrition-rule-params-modal-content{width:92%;max-width:520px;height:auto;max-height:82vh;min-height:200px}#recipeOptimizeModal.balance-modal{z-index:10000}.recipe-optimize-modal-content{width:min(1400px,calc(100vw - 32px));max-width:calc(100vw - 32px);height:88vh;max-height:88vh;min-height:480px;display:flex;flex-direction:column;background:#fff;--ro-me-label-inset:10px}.recipe-optimize-modal-body,.recipe-optimize-modal-content .balance-modal-body{display:flex!important;flex-direction:column!important;align-items:stretch!important;flex:1;min-height:0;overflow:hidden!important;padding:0!important;gap:0}.recipe-optimize-footer{flex-shrink:0;padding:12px 18px;border-top:1px solid var(--border)}.recipe-optimize-footer .ro-footer-step{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}.recipe-optimize-footer .ro-footer-step[hidden]{display:none!important}.ro-footer-standards{display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px;min-width:0}.ro-footer-std{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary);white-space:nowrap;cursor:pointer;user-select:none}.ro-footer-std.is-nrc{opacity:.85;cursor:default}.ro-footer-std input[type=checkbox]{margin:0;width:13px;height:13px;cursor:pointer}.ro-footer-std.is-nrc input[type=checkbox]{cursor:default}.ro-shell{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;position:relative}.ro-page{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.ro-page[hidden]{display:none!important}.ro-layout{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.ro-mobile-tabs{display:none;flex-shrink:0;padding:8px 12px 0;box-sizing:border-box}.ro-top{flex:1 1 55%;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 400px;border-bottom:1px solid var(--border);overflow:hidden}.ro-foods-pane{padding:10px 14px 12px;overflow-y:auto;overflow-x:hidden;min-height:0;border-right:1px solid var(--border);display:flex;flex-direction:column}.ro-role-bands-head{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}.ro-role-bands-actions{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;margin-left:auto}.ro-roles-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.ro-roles-item{display:flex;flex-direction:column;gap:4px;min-width:0}.ro-roles-item-soft{padding-bottom:2px;border-bottom:1px dashed #e8ebef;margin-bottom:2px}.ro-roles-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:6px;min-width:0}.ro-roles-label{font-size:12px;font-weight:600;color:#3d4f61;flex:0 0 auto}.ro-roles-range{font-size:12px;font-weight:600;color:#2f6fb8;flex:0 0 auto;white-space:nowrap;font-variant-numeric:tabular-nums}.ro-roles-soft-hint{margin:0;font-size:11px;line-height:1.35;color:#7a8794}.ro-role-band-bar .ro-me-range-fill{background:rgba(47,111,184,.22)}.ro-roles-item .ro-me-range-bar{display:block;width:100%;max-width:100%;box-sizing:border-box}.ro-settings-pane{padding:10px 12px 12px;background:var(--border);overflow-y:auto;overflow-x:hidden;min-height:0;display:flex;flex-direction:column;gap:10px}.ro-bottom{flex:0 0 42%;min-height:168px;max-height:45%;padding:10px 18px 12px;overflow:hidden;display:flex;flex-direction:column;min-width:0}.ro-bottom .ro-supp-picker{flex:1;min-height:0}.ro-pane-title{font-size:13px;font-weight:600;color:#34495e;margin:0 0 10px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex-shrink:0}.ro-pane-title-hint{font-size:11px;font-weight:400;color:#95a5a6}.ro-foods-pane-head{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:12px;width:100%;box-sizing:border-box}.ro-foods-pane-head-title{flex:0 0 auto}.ro-foods-pane-head-hint{flex:1 1 auto;min-width:0;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ro-foods-pane-head-actions{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;margin-left:auto}.ro-role-bands-open-btn{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:4px;border:1px solid #d6dce2;background:var(--bg-subtle);color:#3d4f61;padding:4px 10px;font-size:12px;font-weight:600;line-height:1.2;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}.ro-role-bands-open-btn:hover{background:#eef2f6;border-color:#c5d0dc;color:#2f6fb8}.ro-bound-mode-toggle{flex:0 0 auto;display:inline-flex;align-items:stretch;border:1px solid #d6dce2;overflow:hidden;background:#f3f5f7}.ro-bound-mode-btn{appearance:none;border:0;background:0 0;color:#6b7480;font-size:12px;font-weight:600;line-height:1;padding:5px 10px;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s}.ro-bound-mode-btn+.ro-bound-mode-btn{border-left:1px solid #d6dce2}.ro-bound-mode-btn:hover{color:#2c333a}.ro-bound-mode-btn.is-on{background:#2f6df0;color:#fff}.ro-supp-pane-head{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:12px;width:100%;box-sizing:border-box}.ro-supp-pane-head-title{flex:0 0 auto}.ro-supp-pane-head-hint{flex:0 1 auto;margin-left:auto;text-align:right;font-size:12px;color:#8a949e;font-weight:400;white-space:nowrap}.ro-pane-hint{font-weight:400;margin:0}.ro-foods-list{list-style:none;margin:0;padding:0;flex:1;min-height:0;display:flex;flex-direction:column}.ro-foods-item{display:flex;align-items:center;gap:6px;padding:7px 8px;margin-bottom:6px;border:1px solid var(--border);background:#fff;font-size:12.5px;line-height:1.4;color:var(--text);min-height:36px;flex-shrink:0}.ro-foods-item.is-disabled{opacity:.45}.ro-foods-check{flex:0 0 auto;display:inline-flex;align-items:center;margin:0;cursor:pointer}.ro-foods-check-input{width:16px;height:16px;margin:0;cursor:pointer}.ro-foods-check-input:disabled{cursor:not-allowed}.ro-foods-name-wrap{flex:1 1 auto;min-width:0;display:flex;align-items:baseline;gap:8px;overflow:hidden}.ro-foods-name{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ro-foods-meta{flex:0 1 auto;min-width:0;font-size:11px;line-height:1.3;color:#95a5a6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ro-foods-pref{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;margin-left:auto}.ro-foods-pref.is-disabled{pointer-events:none}.ro-me-range-bar.is-disabled{pointer-events:none;opacity:.55}.ro-role-select{height:24px;min-width:78px;max-width:120px;padding:0 22px 0 8px;border:1px solid #d6dee6;background-color:#f6f8fa;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%238a98a6' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 7px center;background-size:9px 6px;color:#5b6b7a;font-size:12px;line-height:22px;border-radius:var(--radius);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:border-color .15s ease,color .15s ease,background-color .15s ease}.ro-role-select:hover{border-color:#b9c6d2;color:#2f3a45;background-color:#fff}.ro-role-select:focus{outline:0;border-color:#7599b2;background-color:#fff}.ro-role-select:disabled{opacity:.55;pointer-events:none}.ro-role-select optgroup{color:#8a98a6;font-size:11px;font-style:normal}.ro-role-select option{color:#2f3a45}.ro-rel-role-subgroup+.ro-rel-role-subgroup{margin-top:8px}.ro-rel-palette-title-sub{font-size:11px;color:#8a98a6;margin:0 0 4px;font-weight:600}.ro-pref-btn{height:22px;padding:0 7px;border:1px solid #d6dee6;background:#f6f8fa;color:#8a98a6;font-size:12px;line-height:1;white-space:nowrap;border-radius:var(--radius);cursor:pointer;transition:background .12s,color .12s,border-color .12s}.ro-pref-btn:hover{border-color:#b9c6d2;color:#5b6b7a}.ro-pref-btn.is-on{color:#fff;border-color:transparent;font-weight:600}.ro-pref-btn.ro-pref-protein.is-on{background:#7599b2}.ro-pref-btn.ro-pref-fat.is-on{background:#b19365}.ro-pref-btn.ro-pref-carb.is-on{background:#73ab8c}.ro-pref-me-bounds{display:inline-flex;align-items:center;margin-left:12px;flex-shrink:0}.ro-me-range-bar{display:inline-block;width:240px;overflow:visible}.ro-me-range-track{position:relative;width:100%;height:22px;background:var(--bg-subtle);border:1px solid #e8ebef;box-sizing:border-box;overflow:visible}.ro-me-range-val{position:absolute;top:50%;font-size:12px;font-weight:700;line-height:1;color:#5b6b7a;white-space:nowrap;user-select:none;pointer-events:none;z-index:4}.ro-me-range-val-min{transform:translate(var(--ro-me-label-inset),-50%)}.ro-me-range-val-min.is-outside{transform:translate(calc(-100% - var(--ro-me-label-inset)),-50%)}.ro-me-range-val-max{transform:translate(calc(-100% - var(--ro-me-label-inset)),-50%)}.ro-me-range-val-max.is-outside{transform:translate(var(--ro-me-label-inset),-50%)}.ro-me-range-val-combined:not(.is-outside-right):not(.is-outside-left){transform:translate(-50%,-50%)}.ro-me-range-val-combined.is-outside-right{transform:translate(var(--ro-me-label-inset),-50%)}.ro-me-range-val-combined.is-outside-left{transform:translate(calc(-100% - var(--ro-me-label-inset)),-50%)}.ro-me-range-fill{position:absolute;top:0;bottom:0;left:0;width:0;background:rgba(47,111,184,.32);border-left:1px solid rgba(35,88,150,.65);border-right:1px solid rgba(35,88,150,.65);box-sizing:border-box;pointer-events:none}.ro-me-range-bar.is-dragging .ro-me-range-fill{transition:none}.ro-foods-tags{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:4px}.ro-rel-tag{display:inline-flex;align-items:stretch;max-width:100%;border:1px solid #cfe0f4;background:#eaf2fb;border-radius:var(--radius);overflow:hidden}.ro-rel-tag-main{border:none;background:0 0;color:#2f6fb8;font-size:11px;line-height:1.3;padding:2px 6px;cursor:pointer;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ro-rel-tag-main:hover{background:rgba(255,255,255,.45)}.ro-rel-tag-del{border:none;border-left:1px solid #cfe0f4;background:0 0;color:#7a8ea8;width:20px;padding:0;cursor:pointer;font-size:13px;line-height:1}.ro-rel-tag-del:hover{color:#c0392b;background:#fff}.ro-rel-add-btn{flex:0 0 auto;border:1px solid var(--border-strong);background:#fff;color:#4a78c0;border-radius:var(--radius);padding:3px 8px;font-size:11.5px;line-height:1.3;cursor:pointer;white-space:nowrap}.ro-rel-add-btn:hover{background:#f0f7ff;border-color:#9cc2ee}.ro-empty,.ro-foods-empty,.ro-result-placeholder,.ro-supp-db-picker-empty,.ro-supp-empty{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;box-sizing:border-box}.ro-foods-empty{padding:16px 12px;color:#95a5a6;font-size:12px;line-height:1.55}.ro-settings-block{background:#fff;border:1px solid var(--border);padding:12px;margin-bottom:0;box-sizing:border-box;flex-shrink:0}.ro-settings-block:last-child{margin-bottom:0}.ro-macro-settings .macro-bar-title{display:block;margin:0 0 8px;font-size:13px;font-weight:600;color:#34495e}.ro-macro-settings .ro-macro-target-group{margin-top:8px;margin-bottom:0}.ro-macro-bar-hint{margin:6px 0 8px}.ro-tol-hint{margin-top:6px}.ro-label-macro{display:flex;align-items:center;gap:8px}.ro-label-macro .macro-bar-legend-swatch{flex-shrink:0;margin-right:2px}.ro-macro-target-bar{overflow:visible;background:0 0;height:auto}.ro-macro-target-track{position:relative;width:100%;height:22px;background:var(--bg-subtle);border:1px solid #e8ebef;box-sizing:border-box}.ro-macro-target-segs{display:flex;width:100%;height:100%;overflow:hidden}.ro-macro-target-segs .macro-bar-seg{flex:0 0 auto;min-width:0}.ro-macro-target-bar.is-dragging .macro-bar-seg{transition:none}.ro-macro-handle{position:absolute;top:-3px;bottom:-3px;width:10px;margin-left:-5px;z-index:3;cursor:ew-resize;touch-action:none;background:rgba(255,255,255,.92);border:1px solid rgba(44,62,80,.35);box-shadow:0 0 0 1px rgba(255,255,255,.6);padding:0}.ro-macro-handle.is-dragging,.ro-macro-handle:hover{background:#fff;border-color:#2f6fb8;box-shadow:0 0 0 1px #cfe0f4}.ro-macro-handle::after{content:'';position:absolute;top:3px;bottom:3px;left:50%;width:2px;margin-left:-1px;background:rgba(44,62,80,.35);border-radius:var(--radius)}.ro-input-affix{display:flex;align-items:center;width:100%;height:30px;padding:0 8px;box-sizing:border-box;border:1px solid var(--border-strong);background:#fff}.ro-input-affix:focus-within{border-color:var(--accent)}.ro-input-affix .ro-input-affix-value{flex:1 1 auto;min-width:0;width:auto;height:100%;padding:0;border:none;background:0 0;box-shadow:none}.ro-input-affix .ro-input-affix-value:focus{border:none;outline:0;box-shadow:none}.ro-input-affix-suffix{flex-shrink:0;margin-left:4px;font-size:13px;color:var(--text-secondary);user-select:none}.ro-input-affix-prefix{flex-shrink:0;margin:0;font-size:12px;font-weight:600;color:var(--text);cursor:pointer}.ro-input-affix-value-end{flex:0 1 4.5em;max-width:5em;text-align:right}.ro-input-affix-end{display:inline-flex;align-items:center;margin-left:auto;min-width:0}.ro-input-affix-end .ro-input-affix-value-end{flex:1 1 auto;min-width:2.5em}.ro-input-affix-end .ro-input-affix-suffix{margin-left:4px}.ro-input-affix.is-no-suffix .ro-input-affix-suffix{display:none}.ro-nutr-constraint-modal-body .ro-input-affix{width:100%}.ro-tol-field{margin-top:6px}.ro-tol-input{width:100%}.ro-density-settings .ro-density-inputs{margin-bottom:8px}.ro-density-range-group{margin-bottom:6px}.ro-density-range-bar{overflow:visible}.ro-density-range-track{position:relative;width:100%;height:22px;background:var(--bg-subtle);border:1px solid #e8ebef;box-sizing:border-box}.ro-density-range-fill{position:absolute;top:0;bottom:0;left:0;width:0;background:rgba(47,111,184,.38);border-left:1px solid rgba(35,88,150,.72);border-right:1px solid rgba(35,88,150,.72);box-sizing:border-box;pointer-events:none}.ro-density-range-bar.is-dragging .ro-density-range-fill{transition:none}.ro-density-hint{margin-top:0}.ro-settings-block>.ro-pane-title{margin-bottom:8px}.ro-custom-constraints-head{justify-content:space-between;flex-wrap:nowrap;margin-bottom:8px}.ro-custom-constraints-title{flex:1 1 auto;min-width:0}.ro-custom-constraints-add{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:4px;border:none;background:0 0;color:#4a78c0;padding:2px 4px;font-size:12px;font-weight:600;line-height:1.2;cursor:pointer}.ro-custom-constraints-add:hover{color:#2f6fb8;background:rgba(47,111,184,.08)}.ro-custom-constraints-add svg{display:block;width:14px;height:14px;flex-shrink:0}.ro-custom-constraints-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.ro-custom-constraints-item{display:flex;align-items:stretch;border:1px solid var(--border);background:#fff;min-height:32px}.ro-custom-constraints-main{flex:1 1 auto;min-width:0;border:none;background:#fff;color:#2f6fb8;font-size:12px;line-height:1.35;padding:6px 10px;text-align:left;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ro-custom-constraints-main:hover{background:#f6f8fa}.ro-custom-constraints-del{flex:0 0 auto;border:none;border-left:1px solid var(--border);background:#fff;color:#7a8ea8;width:32px;padding:0;cursor:pointer;font-size:15px;line-height:1}.ro-custom-constraints-del:hover{color:#c0392b;background:#f6f8fa}.ro-custom-constraints-empty{padding:10px 12px;border:1px dashed var(--border);background:var(--bg-subtle);color:#95a5a6;font-size:12px;line-height:1.45}.ro-nutr-constraints-hint{margin-top:8px}.ro-nutrient-rules-head{margin-bottom:8px}.ro-nutrient-rules-open-btn{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:4px;border:1px solid #d6dce2;background:var(--bg-subtle);color:#3d4f61;padding:4px 10px;font-size:12px;font-weight:600;line-height:1.2;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}.ro-nutrient-rules-open-btn:hover{background:#eef2f6;border-color:#c5d0dc;color:#2f6fb8}.ro-nutrient-rules-hint{margin:0;font-size:11px;line-height:1.45;color:#7a8ea8}.ro-card-standards-wrap{display:flex;flex-direction:column;gap:6px;min-width:0}.ro-card-standards-wrap .nutrition-standards-list-vertical{display:flex;flex-direction:column;gap:4px}.ro-card-standards-wrap .nutrition-standard-item{width:100%;box-sizing:border-box}.ro-card-standards-wrap .life-stage-badge{flex-shrink:0}.ro-card-standards-wrap .life-stage-badge.ro-stage-unmatched{background:#f0e8e8;color:#9a6060}.ro-nutrient-rules-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;width:100%;min-width:0}#roNutrientRulesModal.balance-modal{z-index:10001}.ro-nutrient-rules-modal-content{width:min(480px,calc(100vw - 24px));max-width:calc(100vw - 24px);height:auto;max-height:calc(100vh - 32px);min-height:0;display:flex;flex-direction:column}.ro-nutrient-rules-modal-content .balance-modal-body{flex:0 1 auto;min-height:0;max-height:none;overflow:auto;display:flex;flex-direction:column;align-items:stretch;gap:12px}.ro-nutrient-rules-modal-content .balance-modal-body.ro-nutrient-rules-modal-body{padding:14px 18px}.ro-nutrient-rules-modal-body{width:100%;box-sizing:border-box;min-width:0}.ro-nutrient-rules-modal-body .ro-nutrient-rules-hint{margin:0}.ro-nutrient-rules-modal-body .ro-nutrient-rules-list{max-height:min(60vh,420px);overflow-y:auto}.ro-nutrient-rules-modal-content .balance-modal-actions.custom-food-modal-actions{flex-shrink:0;padding:12px 18px}.ro-nutrient-rules-item{display:flex;align-items:center;gap:10px;min-height:34px;padding:6px 10px 6px 6px;border:1px solid var(--border);background:#fff;font-size:12px;line-height:1.35;width:100%;box-sizing:border-box}.ro-nutrient-rules-item.is-soft{background:var(--bg-subtle)}.ro-nutrient-rules-item.is-soft .ro-nutrient-rules-name{color:#7a8ea8}.ro-nutrient-rules-drag{flex:0 0 auto;cursor:grab;user-select:none;color:#95a5a6;font-size:14px;line-height:1;padding:0 4px}.ro-nutrient-rules-drag:active{cursor:grabbing}.ro-nutrient-rules-toggle{flex:0 0 auto;display:inline-flex;align-items:center;margin:0;cursor:pointer}.ro-nutrient-rules-check{width:14px;height:14px;margin:0;cursor:pointer}.ro-nutrient-rules-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.ro-nutrient-rules-empty{padding:10px 12px;border:1px dashed var(--border);background:var(--bg-subtle);list-style:none}.ro-nutrient-rules-list .list-sortable-ghost{opacity:.45;background:#f0f4f8}#roRoleBandsModal.balance-modal{z-index:10001}.ro-role-bands-modal-content{width:min(480px,calc(100vw - 24px));max-width:calc(100vw - 24px);height:auto;max-height:calc(100vh - 32px);min-height:0;display:flex;flex-direction:column;overflow-x:hidden}.ro-role-bands-modal-content .balance-modal-body{flex:0 1 auto;min-height:0;max-height:none;overflow-x:hidden;overflow-y:auto;display:flex;flex-direction:column;align-items:stretch;gap:12px}.ro-role-bands-modal-content .balance-modal-body.ro-role-bands-modal-body{padding:14px 18px;box-sizing:border-box}.ro-role-bands-modal-body{width:100%;box-sizing:border-box;min-width:0}.ro-role-bands-modal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:nowrap;min-width:0}.ro-role-bands-hint{margin:0;flex:1 1 auto;min-width:0;font-size:11px;line-height:1.45;color:#7a8ea8}#roRoleBoundModeToggleWrap{flex:0 0 auto}.ro-role-bands-modal-body .ro-roles-list{max-height:min(60vh,420px);overflow-x:hidden;overflow-y:auto}.ro-role-bands-modal-body .ro-me-range-bar{overflow:visible;padding:3px 5px;box-sizing:border-box}.ro-role-bands-modal-content .balance-modal-actions.custom-food-modal-actions{flex-shrink:0;padding:12px 18px}.ro-role-bands-modal-content .custom-food-modal-actions-left .btn,.ro-role-bands-modal-content .custom-food-modal-actions-right .btn{box-sizing:border-box;min-width:56px;height:32px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center}#roNutrConstraintModal.balance-modal{z-index:10001}.ro-nutr-constraint-modal-content{width:min(440px,calc(100vw - 24px));max-width:calc(100vw - 24px);height:auto;max-height:calc(100vh - 32px);min-height:0;display:flex;flex-direction:column}.ro-nutr-constraint-modal-content .balance-modal-body{flex:0 1 auto;min-height:0;max-height:none;overflow:auto;display:flex;flex-direction:column;align-items:stretch}.ro-nutr-constraint-modal-body{padding:14px 18px;width:100%;box-sizing:border-box;display:flex;flex-direction:column;gap:12px}.ro-nutr-constraint-modal-body .ro-field{width:100%;min-width:0}.ro-nutr-constraint-modal-body .ro-nutr-constraint-bounds{margin-top:0;width:100%}.ro-nutr-constraint-unit-hint{margin:0}.ro-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ro-form-grid.ro-macro-inputs{margin-top:4px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ro-form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.ro-field{min-width:0}.ro-label{display:block;margin-bottom:4px;font-size:12px;font-weight:600;color:var(--text)}.ro-field .custom-food-control{width:100%;max-width:100%;box-sizing:border-box}.ro-result-scroll{flex:1;min-height:0;overflow:hidden;padding:10px 18px 16px;display:flex;flex-direction:column}.ro-result-scroll>:not(.ro-result-grid){flex-shrink:0}.ro-result-placeholder{margin:0;padding:24px 16px;font-size:13px;color:#95a5a6;line-height:1.6}.ro-empty{padding:24px 12px;color:var(--text-muted)}.ro-section{margin:0 0 14px}.ro-section-title{font-weight:600;font-size:13.5px;color:#2f3a45;margin:0 0 6px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ro-nutr-section-head{justify-content:space-between;flex-wrap:nowrap;gap:12px}.ro-nutr-section-head>span:first-child{flex:0 1 auto}.ro-nutr-section-density{margin-left:auto;font-size:11px;font-weight:400;color:#8a949e;white-space:nowrap}.ro-hint{font-size:12px;color:#8a949e;margin:4px 0 0}.ro-inline-check{font-size:12px;font-weight:400;color:#6a747e}#roRelationModal.balance-modal{z-index:10001}.ro-relation-modal-content{width:min(560px,calc(100vw - 24px));max-width:calc(100vw - 24px);height:auto;max-height:calc(100vh - 32px);min-height:0;display:flex;flex-direction:column}.ro-relation-modal-content .balance-modal-body{flex:0 1 auto;min-height:0;max-height:none;overflow:auto;display:flex;flex-direction:column;align-items:stretch;gap:0}.ro-rel-modal-body{padding:14px 18px;width:100%;box-sizing:border-box}.ro-rel-modal-body>.ro-label{display:block;margin-bottom:4px}.ro-rel-modal-food{margin:0 0 12px;font-size:13px;font-weight:600;color:#34495e}.ro-rel-expr-bar{display:flex;align-items:stretch;gap:6px;margin-bottom:8px}.ro-rel-expr-editor{flex:1;min-width:0;min-height:38px;max-height:120px;overflow:auto;box-sizing:border-box;border:1px solid var(--border-strong);background:#fff;padding:6px 8px;display:flex;flex-wrap:wrap;align-items:center;align-content:flex-start;gap:4px;cursor:text;outline:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;line-height:1.4}.ro-rel-expr-editor:focus{border-color:var(--accent)}.ro-rel-expr-editor.is-empty{align-items:center;align-content:center;justify-content:flex-start}.ro-rel-expr-placeholder{color:var(--text-muted);font-family:inherit;font-size:13px;line-height:1.4;user-select:none;pointer-events:none}.ro-rel-tok{position:relative;display:inline-flex;align-items:center;padding:2px 7px;border:1px solid transparent;border-radius:var(--radius);user-select:none;cursor:pointer;white-space:nowrap;line-height:1.35;overflow:visible}.ro-rel-tok-label{position:relative;z-index:0}.ro-rel-tok-del{position:absolute;top:50%;right:0;z-index:1;width:18px;height:18px;padding:0;margin:0;border:none;border-left:1px solid rgba(44,62,80,.12);background:#fff;color:#7a8ea8;font-size:14px;line-height:1;cursor:pointer;opacity:0;pointer-events:none;display:flex;align-items:center;justify-content:center;transform:translateY(-50%);box-sizing:border-box}.ro-rel-tok-del:focus-visible,.ro-rel-tok:hover .ro-rel-tok-del{opacity:1;pointer-events:auto}.ro-rel-tok-del:hover{color:#c0392b;background:#fff}.ro-rel-tok-food{color:#2f6fb8;background:#eaf2fb;border-color:#cfe0f4}.ro-rel-tok-role{color:#9a6b1a;background:#fef8e8;border-color:#f0d9a8}.ro-rel-tok-arith,.ro-rel-tok-op{color:#5b3fa6;background:#f3effa;border-color:#ddd0f0;font-weight:600}.ro-rel-tok-num{color:#2d7a4f;background:#eaf6ef;border-color:#c8e6d4}.ro-rel-tok-unknown{color:#a94442;background:#fdecea;border-color:#f5c6cb}.ro-rel-tok.is-selected{box-shadow:0 0 0 1px #2f6fb8;border-color:#2f6fb8}.ro-rel-expr-caret-marker{display:inline-block;width:1px;height:1.2em;background:var(--text);vertical-align:middle;animation:ro-rel-caret-blink 1s step-end infinite}@keyframes ro-rel-caret-blink{50%{opacity:0}}.ro-rel-expr-tool{flex:0 0 auto;border:1px solid var(--border-strong);background:#fff;color:#4a5568;border-radius:var(--radius);padding:0 10px;font-size:12px;cursor:pointer;white-space:nowrap}.ro-rel-expr-tool:hover{background:#f6f8fa;border-color:#9cc2ee}.ro-rel-palette{display:flex;flex-direction:column;gap:12px;margin-top:10px;padding-top:12px;border-top:1px solid #e8ebef}.ro-rel-palette-section{display:flex;flex-direction:column;gap:6px}.ro-rel-palette-title{font-size:11px;font-weight:600;color:#8a949e;text-transform:uppercase;letter-spacing:.04em}.ro-rel-palette-cards{display:flex;flex-wrap:wrap;gap:6px}.ro-rel-palette-cards-compact{gap:5px}.ro-rel-palette-card{border:1px solid var(--border-strong);background:#fff;color:var(--text);border-radius:var(--radius);padding:5px 10px;font-size:12px;line-height:1.35;cursor:pointer;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ro-rel-palette-card:hover{background:#f0f7ff;border-color:#9cc2ee}.ro-rel-palette-card:active{background:#eaf2fb}.ro-rel-palette-food{border-color:#cfe0f4;background:#f8fbff}.ro-rel-palette-food.is-primary{border-color:#2f6fb8;background:#eaf2fb;color:#2f6fb8;font-weight:600}.ro-rel-palette-role{border-color:#f0d9a8;background:#fef8e8;color:#9a6b1a}.ro-rel-palette-role:hover{background:#fdf3d7;border-color:#e8c87a}.ro-rel-tok-paren{color:#5a6570;background:#f4f6f8;border-color:#d8dee4;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:700}.ro-rel-palette-arith,.ro-rel-palette-op{min-width:2em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;font-weight:600;text-align:center}.ro-rel-palette-op{min-width:2.2em}.ro-rel-palette-unit,.ro-rel-palette-unit-btn{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.ro-rel-palette-num-row{display:block}.ro-rel-num-affix{display:flex;align-items:center;flex-wrap:nowrap;gap:8px;width:100%;min-width:0}.ro-rel-num-input,.ro-rel-num-input.custom-food-control{width:88px;max-width:88px;min-width:88px;flex:0 0 88px;box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;padding:5px 8px}.ro-rel-unit-btns{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;flex:0 1 auto;min-width:0}.ro-rel-parse-ok{margin:6px 0 0;font-size:12px;color:#2d7a4f}.ro-rel-parse-err{margin:6px 0 0;font-size:12px;color:#c0504a}.ro-rel-modal-body .ro-hint code,.ro-rel-modal-body .ro-hint kbd{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;padding:0 3px;background:#f0f3f6;border:1px solid #e0e4e8}.ro-rel-form .ro-field{margin-bottom:10px}.ro-rel-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ro-rel-del{color:#c0504a;padding:2px 9px;line-height:1}.ro-supp-picker{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,40%);gap:12px;min-height:0}.ro-supp-panel{border:1px solid #e8ebef;border-radius:var(--radius);background:var(--bg-subtle);display:flex;flex-direction:column;min-height:0;padding:10px}.ro-supp-lib-panel{display:grid;grid-template-columns:200px minmax(0,1fr);gap:0;padding:0;overflow:hidden}.ro-supp-lib-filters{width:auto;min-width:0;border-right:1px solid var(--border);display:flex;flex-direction:column;background:var(--bg-subtle);overflow:hidden}.ro-supp-lib-filters .food-browse-db-picker{border-bottom:1px solid var(--border)}.ro-supp-lib-filters .food-browse-db-picker-trigger{padding:8px 32px 8px 10px;font-size:12.5px;font-weight:600;color:var(--text)}.ro-supp-db-picker-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ro-supp-lib-filters .ro-supp-db-picker-option{padding:8px 10px;font-size:12.5px;font-weight:500;color:var(--text)}.ro-supp-lib-filters .food-browse-db-picker-menu{z-index:20}.ro-supp-lib-filters .food-browse-cat-select-mobile,.ro-supp-lib-filters .ro-supp-cat-select{display:none}.ro-supp-category-list{flex:1;min-height:0;overflow-y:auto;margin:0;padding:0;display:flex;flex-direction:column}.ro-supp-category-list>li.ro-supp-empty{list-style:none}.ro-supp-category-list .food-browse-cat-row{padding:6px 8px;font-size:12px}.ro-supp-lib-main{display:flex;flex-direction:column;min-height:0;overflow:hidden;padding:10px;background:var(--bg-subtle)}.ro-supp-selected-panel{padding:10px;min-height:0}.ro-supp-panel-title{font-size:12.5px;font-weight:600;color:#34495e;margin-bottom:8px;flex-shrink:0}.ro-supp-count{font-weight:400;color:#8a949e;font-size:12px}.ro-supp-search{width:100%;box-sizing:border-box;margin-bottom:8px}.ro-supp-list{list-style:none;margin:0;padding:0;flex:1;overflow-y:auto;min-height:0;display:flex;flex-direction:column}.ro-supp-list.is-drag-over{background:#f0f7ff;outline:1px dashed #9cc2ee}.ro-supp-item{display:flex;align-items:center;gap:6px;padding:5px 8px;margin-bottom:6px;border:1px solid #e3e7ed;border-radius:var(--radius);background:#fff;cursor:grab;font-size:12.5px;transition:background-color .15s ease,border-color .15s ease}.ro-supp-item:hover{background:#f5f9fc;border-color:#cfe0f4}.ro-supp-item.is-dragging{opacity:.55}.ro-supp-item.is-disabled{opacity:.5}.ro-supp-item.is-disabled .ro-supp-name{color:#97a2ad}.ro-supp-check{flex:0 0 auto;display:inline-flex;align-items:center;margin:0;cursor:pointer}.ro-supp-check-input{width:15px;height:15px;margin:0;cursor:pointer}.ro-supp-grip{color:#c2cad2;cursor:grab;font-size:11px;transition:color .15s ease}.ro-supp-item:hover .ro-supp-grip{color:#8a949e}.ro-supp-name{flex:1;color:#3a4650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ro-supp-tag{font-size:10px;color:#8a6d2f;background:#fbf2dd;border:1px solid #ecdcb0;padding:0 5px;margin-left:6px;border-radius:var(--radius)}.ro-supp-act{border:1px solid var(--border-strong);background:#fff;color:#4a78c0;border-radius:var(--radius);width:22px;height:22px;line-height:1;cursor:pointer;flex:0 0 auto;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.ro-supp-act[data-action=addSupp]:focus-visible,.ro-supp-act[data-action=addSupp]:hover{background:#f0f7ff;border-color:#9cc2ee;color:#2f6fb8}.ro-supp-act[data-action=removeSupp]:focus-visible,.ro-supp-act[data-action=removeSupp]:hover{background:#fdecea;border-color:#e8b4b0;color:#c0392b}.ro-supp-empty{color:#aab3bc;font-size:12px;padding:12px 10px;line-height:1.55}.ro-foods-empty.is-error,.ro-supp-empty.is-error{color:#c0392b}.ro-supp-db-picker-empty{min-height:72px;padding:12px 10px;font-size:12px;color:var(--text-muted)}.ro-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:600;border-radius:var(--radius);padding:10px 14px;margin:6px 0 10px}.ro-banner-main{display:flex;align-items:center;gap:8px;min-width:0}.ro-banner-elapsed{flex-shrink:0;font-size:12px;font-weight:500;opacity:.88;white-space:nowrap}.ro-banner-icon{flex-shrink:0;width:20px;height:20px}.ro-banner.ro-ok{background:#e7f6ec;color:#1f8a4c}.ro-banner.ro-bad{background:#fdecea;color:#c0392b}.ro-fp{font-size:12px;color:#8a949e;margin:0 0 10px}.ro-kpis{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:10px}.ro-result-summary{display:grid;grid-template-columns:minmax(0,46%) minmax(0,54%);gap:12px;align-items:stretch;margin-bottom:10px}.ro-result-summary-col{min-width:0}.ro-result-macro-col{display:flex;flex-direction:column;align-self:stretch}.ro-result-macro-bars{display:flex;flex-direction:column;gap:12px;width:100%}.ro-result-macro-bars .macro-bar-group{margin:0}.ro-result-key-ratio-col{display:flex;flex-direction:column;align-self:stretch;min-height:0}.ro-result-key-ratio-cards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;flex:1 1 auto;height:100%;min-height:0;align-content:stretch;overflow:visible}.recipe-optimize-modal .ro-result-key-ratio-card{min-width:0;min-height:0;height:100%;box-sizing:border-box;padding:8px 4px;gap:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-color:#e3e7ed;background:var(--bg-subtle)}.recipe-optimize-modal .ro-result-key-ratio-card .feeding-plan-key-ratio-card-label{color:#6b7785;font-size:11.5px;font-weight:600;line-height:1.25;margin-bottom:0;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.recipe-optimize-modal .ro-result-key-ratio-card .feeding-plan-key-ratio-card-value{color:#2f3a45;font-size:15px;font-weight:700;line-height:1.15;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.ro-result-macro-dev{display:block;margin-top:4px;font-size:11px;color:#a0a8b0}.ro-kpi{flex:1 1 120px;background:#f6f8fa;border-radius:var(--radius);padding:8px 12px;border:1px solid #eaeef2;display:flex;flex-direction:column}.ro-kpi span{font-size:11.5px;color:#8a949e}.ro-kpi b{font-size:16px;color:#2f3a45}.ro-kpi small{font-size:11px;color:#a0a8b0}.ro-result-grid{display:flex;gap:16px;align-items:stretch;flex:1;min-height:0}.ro-result-col{flex:1 1 0;min-width:0;display:flex;flex-direction:column;min-height:0}.ro-result-col-left{flex:0 1 46%;max-width:46%;gap:10px}.recipe-optimize-modal .balance-modal-header-actions .ro-result-portion-toggle{flex-shrink:0;height:30px;box-sizing:border-box}.recipe-optimize-modal .balance-modal-header-actions .ro-result-portion-toggle .ndm-btn{min-width:72px;height:100%;padding:0 10px;font-size:12px;line-height:1}#roResultPortionModeToggle[hidden]{display:none!important}.ro-result-col-right{flex:1 1 54%}.ro-result-left-block{display:flex;flex-direction:column;min-width:0}.ro-result-left-block--foods{flex:1 1 0;min-height:0}.ro-result-left-block--supps{flex:0 0 auto}.ro-result-left-block .ro-section-title{flex-shrink:0}.ro-result-left-scroll{overflow-x:hidden;border:1px solid var(--border)}.ro-result-left-block--foods .ro-result-left-scroll{flex:1 1 0;min-height:0;overflow-y:auto}.ro-result-left-block--supps .ro-result-left-scroll{flex:0 1 auto;max-height:min(240px,38vh);overflow-y:auto}.ro-result-left-scroll .ro-table{margin-bottom:0}.ro-result-left-scroll .ro-table thead th{position:sticky;top:0;z-index:1;background:var(--bg-subtle);box-shadow:0 1px 0 var(--border)}.ro-result-left-scroll .ro-hint{margin:8px 0;padding:0 8px}.ro-result-col-right .ro-nutr-wrap{flex:1;min-height:120px;max-height:none;overflow-y:auto}.ro-nutr-empty{text-align:center;color:#95a5a6;padding:24px 8px!important}.ro-table{width:100%;border-collapse:collapse;margin:4px 0 12px;font-size:12.5px}.ro-table td,.ro-table th{border-bottom:1px solid var(--border);padding:5px 8px;text-align:left;vertical-align:top;color:var(--text)}.ro-table th{color:#8a949e;font-weight:600;background:var(--bg-subtle)}.ro-table thead th:nth-child(n+2){text-align:right;vertical-align:middle}.ro-table .ro-num{text-align:right;white-space:nowrap;vertical-align:middle}.ro-result-food-cell{line-height:1.35;vertical-align:middle}.ro-result-food-name{font-size:12.5px;color:#2f3a45}.ro-result-role-tag{display:inline-block;margin-left:6px;padding:0 6px;font-size:11px;line-height:16px;color:#5b6b7a;background:#eef2f6;border-radius:var(--radius);vertical-align:middle}.ro-result-food-meta{margin-top:2px;font-size:11px;line-height:1.3;color:#95a5a6}.ro-row-marg td{color:#b0772a;background:#fff8ec}.ro-row-marg:has(+ .ro-row-marg-note) td{border-bottom:none}.ro-row-marg-note td{color:#b0772a;background:#fff8ec;border-top:none;padding-top:0;padding-bottom:8px}.ro-row-marg+.ro-row-marg-note td{border-top:none;border-bottom:1px solid var(--border)}.ro-marg-cell{padding-left:12px}.ro-marg{font-size:11px;color:#b0772a;line-height:1.45}.ro-nutr-wrap{max-height:280px;overflow-y:auto;overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius)}.ro-nutr-wrap .nutrients-table.ro-nutr-table{margin:0;table-layout:auto;font-size:12px}.ro-nutr-wrap .nutrients-table.ro-nutr-table td,.ro-nutr-wrap .nutrients-table.ro-nutr-table th{padding:5px 8px}.ro-nutr-wrap .nutrients-table.ro-nutr-table td.col-status,.ro-nutr-wrap .nutrients-table.ro-nutr-table th.col-status{width:72px;text-align:center}.ro-nutr-wrap .nutrients-table.ro-nutr-table td.col-status .ro-badge{display:inline-block;width:56px;box-sizing:border-box;text-align:center;white-space:nowrap}.ro-nutr-table{margin:0;table-layout:auto}.ro-badge{font-size:11px;border-radius:var(--radius);padding:1px 8px}.ro-badge.ro-ok{background:#e7f6ec;color:#1f8a4c}.ro-badge.ro-bad{background:#fdecea;color:#c0392b}.ro-badge.ro-warn{background:#fef6e6;color:#b0772a}.ro-diag{margin:6px 0 12px;padding-left:18px;font-size:13px}.ro-diag-intro{margin:0 0 8px;font-size:12.5px;color:#5c6872;line-height:1.5}.ro-diag li.ro-bad{color:#c0392b}.ro-diag li.ro-warn{color:#b0772a}.ro-sugg-list{margin-top:4px}.ro-sugg-list li{color:#3a5870;list-style:disc}@media (max-width:768px){#recipeOptimizeModal.balance-modal{align-items:stretch;justify-content:stretch}.recipe-optimize-modal-content{width:100vw;max-width:100vw;max-height:100dvh;height:100dvh;min-height:0;border-radius:var(--radius);--ro-me-label-inset:8px}.recipe-optimize-modal-content .balance-modal-header{flex-wrap:wrap;align-items:center;gap:6px 8px;padding:10px 12px}.recipe-optimize-modal-content .balance-modal-header h3{flex:1 1 auto;min-width:0;font-size:16px}.recipe-optimize-modal-content .balance-modal-header-actions{flex-shrink:0}.recipe-optimize-modal-content .balance-modal-header-actions .btn-bioavailability-settings,.recipe-optimize-modal-content .balance-modal-header-actions .btn-nutrient-loss-settings{font-size:11px;padding:0 8px;height:30px;white-space:nowrap}.recipe-optimize-modal-content .balance-modal-header-actions .ro-result-portion-toggle{height:30px}.recipe-optimize-modal-content .balance-modal-header-actions .ro-result-portion-toggle .ndm-btn{font-size:11px;padding:0 8px}.ro-page-input{display:flex;flex-direction:column;min-height:0}.ro-mobile-tabs{display:block}.ro-mobile-tabs .nutrition-display-mode-toggle{width:100%}.ro-mobile-tabs .nutrition-display-mode-toggle .ndm-btn{flex:1 1 0;min-width:0;height:32px;font-size:13px}#roLayout[data-ro-mobile-pane=foods] .ro-bottom,#roLayout[data-ro-mobile-pane=foods] .ro-settings-pane{display:none!important}#roLayout[data-ro-mobile-pane=settings] .ro-bottom,#roLayout[data-ro-mobile-pane=settings] .ro-foods-pane{display:none!important}#roLayout[data-ro-mobile-pane=supp] .ro-top{display:none!important}#roLayout[data-ro-mobile-pane=supp] .ro-bottom{flex:1;min-height:0}.ro-top{flex:1;min-height:0;grid-template-columns:1fr;border-bottom:none}.ro-foods-pane{border-right:none;border-bottom:1px solid #e8ebef;max-height:none;padding:8px 14px 12px;overflow-y:auto;-webkit-overflow-scrolling:touch}.ro-foods-pane-head{flex-wrap:wrap;gap:8px;flex-shrink:0}.ro-foods-pane-head-hint{display:none}.ro-foods-pane-head-actions{order:2;margin-left:auto}.ro-bound-mode-toggle{order:0;margin-left:0}.ro-foods-list{flex:none;min-height:0;display:block;overflow:visible}.ro-foods-item{display:grid;grid-template-columns:20px minmax(0,1fr);grid-template-rows:minmax(min-content,auto) minmax(min-content,auto);gap:8px 8px;padding:10px;margin-bottom:8px;min-height:min-content;align-items:start;box-sizing:border-box}.ro-foods-check{grid-column:1;grid-row:1;align-self:start;margin-top:1px}.ro-foods-name-wrap{grid-column:2;grid-row:1;flex:none;flex-direction:column;align-items:flex-start;gap:2px}.ro-foods-name{white-space:normal;overflow:visible;text-overflow:unset;line-height:1.35}.ro-foods-meta{white-space:normal;line-height:1.3}.ro-foods-pref{grid-column:2/-1;grid-row:2;flex:none;margin-left:0;flex-direction:column;align-items:stretch;gap:8px;min-width:0}.ro-pref-me-bounds{margin-left:0;width:100%;max-width:100%}.ro-me-range-bar{width:100%;max-width:100%;padding-bottom:0;min-height:0;box-sizing:border-box}.ro-me-range-track{height:28px}.ro-me-range-val{font-size:11px}.ro-role-select{width:100%;max-width:none;height:36px;line-height:34px;font-size:13px}.ro-settings-pane{max-height:none;padding:10px 12px}.ro-form-grid.ro-macro-inputs{grid-template-columns:1fr}.ro-form-grid-2{grid-template-columns:1fr}.ro-bottom{flex:1 1 auto;max-height:none;min-height:0;padding:10px 12px;overflow:hidden}.ro-supp-picker{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;gap:8px}.ro-supp-lib-panel{flex:1 1 0;min-height:140px;grid-template-columns:1fr;overflow:hidden}.ro-supp-lib-filters{border-right:none;border-bottom:1px solid var(--border);flex:0 0 auto}.ro-supp-lib-main{flex:1;min-height:0;overflow:hidden}.ro-supp-selected-panel{flex:0 0 auto;max-height:min(30vh,188px);min-height:0;overflow:hidden}.ro-supp-selected-panel .ro-supp-list{overflow-y:auto;-webkit-overflow-scrolling:touch;min-height:0}.ro-supp-selected-panel .ro-supp-item{flex-shrink:0}.ro-supp-category-list{display:none!important}.ro-supp-lib-filters .ro-supp-cat-select{display:block}.ro-supp-pane-head{flex-wrap:wrap}.ro-supp-pane-head-hint{margin-left:0;width:100%;text-align:left;white-space:normal}.ro-result-scroll{padding:10px 12px 14px}.ro-result-grid{flex-direction:column}.ro-result-col-left,.ro-result-col-right{flex:1 1 auto;max-width:none}.ro-result-summary{grid-template-columns:1fr}.ro-result-key-ratio-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.recipe-optimize-modal .ro-result-key-ratio-card .feeding-plan-key-ratio-card-label{font-size:10.5px}.recipe-optimize-modal .ro-result-key-ratio-card .feeding-plan-key-ratio-card-value{font-size:13px}.ro-result-col-right .ro-nutr-wrap{max-height:min(48vh,420px)}.ro-result-left-block--foods .ro-result-left-scroll{max-height:min(36vh,300px)}.ro-result-left-block--supps .ro-result-left-scroll{max-height:min(22vh,180px)}.ro-nutr-section-head{flex-wrap:wrap}.ro-nutr-section-density{margin-left:0;white-space:normal}.ro-nutr-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.ro-footer-standards{justify-content:flex-start}.ro-nutr-constraint-modal-content,.ro-nutrient-rules-modal-content,.ro-relation-modal-content,.ro-role-bands-modal-content{width:calc(100vw - 16px);max-width:calc(100vw - 16px);max-height:min(92dvh,92vh)}.ro-nutr-constraint-modal-body,.ro-nutrient-rules-modal-body,.ro-rel-modal-body,.ro-role-bands-modal-body{padding:12px}.ro-role-bands-modal-content .custom-food-modal-actions-left .btn,.ro-role-bands-modal-content .custom-food-modal-actions-right .btn{width:100%;height:40px;min-width:0}.ro-rel-form-row{grid-template-columns:1fr}.ro-rel-unit-btns{flex-wrap:wrap}}.nutrition-rule-params-modal-body{display:block!important;flex:none!important;overflow-x:hidden;overflow-y:auto;max-height:min(58vh,520px);padding:12px 20px 8px!important}.nutrition-rule-params-hint{margin:0 0 14px;font-size:12px;line-height:1.55;color:#678}.nutrition-rule-params-inferred{margin:0 0 14px;padding:10px 12px;background:#f0f6fa;border:1px solid #d4e4f0}.nutrition-rule-params-inferred-title{font-size:12px;font-weight:600;color:#456;margin-bottom:4px}.nutrition-rule-params-inferred-value{font-size:13px;color:var(--text);line-height:1.45}.nutrition-rule-params-inferred .nutrition-rule-params-field-hint{margin-top:6px}.nutrition-rule-params-form{display:flex;flex-direction:column;gap:14px;width:100%}.nutrition-rule-params-fieldset{margin:0;padding:12px 14px;border:1px solid #e8edf2;background:var(--bg-subtle);width:100%;box-sizing:border-box}.nutrition-rule-params-fieldset legend{padding:0 4px;font-size:12px;font-weight:600;color:#456}.nutrition-rule-params-label{display:block;font-size:13px;color:#345}.nutrition-rule-params-input{display:block;width:100%;max-width:240px;margin-top:6px;padding:6px 8px;font-size:13px;border:1px solid #ccd6e0;border-radius:var(--radius);box-sizing:border-box}.nutrition-rule-params-modal-body label.nutrition-rule-params-check{display:flex;align-items:flex-start;gap:8px;margin:10px 0 0;padding:0;font-size:13px;line-height:1.45;color:#345;cursor:pointer;white-space:normal}.nutrition-rule-params-modal-body label.nutrition-rule-params-check:first-of-type{margin-top:4px}.nutrition-rule-params-modal-body label.nutrition-rule-params-check input[type=checkbox]{margin:2px 0 0;padding:0;width:14px;height:14px;flex:0 0 14px;cursor:pointer}.nutrition-rule-params-modal-body label.nutrition-rule-params-check>span{flex:1;min-width:0;line-height:1.45}.nutrition-rule-params-field-hint{margin:8px 0 0;font-size:11px;line-height:1.45;color:#89a}.balance-modal-actions.nutrition-rule-params-modal-actions{justify-content:space-between;align-items:center;gap:10px}.btn-nutrition-rule-params-reset{flex-shrink:0;height:32px;padding:0 12px;font-size:12px;background:#fff;color:#678;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer}.btn-nutrition-rule-params-reset:hover{background:#f5f8fa;color:var(--accent-hover);border-color:#b8d4e8}.nutrition-rule-params-modal-actions-right{display:flex;flex-direction:row;align-items:center;gap:10px}.nrc-per1000-na-badge{display:inline-block;margin-left:4px;padding:1px 5px;font-size:10px;font-weight:500;background:#f0ad4e;color:#fff;border-radius:var(--radius);vertical-align:middle;cursor:help}.nrc-progress-wrap{position:relative;height:24px;min-width:80px;background:rgba(0,0,0,.06);overflow:hidden}.nrc-progress-fill{position:absolute;left:0;top:0;height:100%;transition:width .2s ease,background-color .2s ease}.nrc-progress-fill.nrc-progress-yellow{background:rgba(255,183,83,.5)}.nrc-progress-fill.nrc-progress-green{background:rgba(92,184,92,.5)}.nrc-progress-fill.nrc-progress-orange{background:rgba(245,130,31,.55)}.nrc-progress-fill.nrc-progress-red{background:rgba(217,83,79,.55)}.nrc-progress-text.nrc-progress-text-red{color:#c00;font-weight:700}.nrc-cell-na{color:#b0b3b8;font-style:italic}.nrc-static-ra{border-bottom:1px dotted var(--text-muted);cursor:help}.nrc-progress-text{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;height:100%;font-size:13px;font-weight:inherit;color:var(--text-secondary)}.food-input-row{display:grid;grid-template-columns:auto 220px minmax(100px,1fr) 150px auto;gap:8px;margin-bottom:15px;align-items:center}.food-input-chart-row{display:contents}.food-pie-chart-tablet-anchor:empty{display:none}.food-input-row .food-input-buttons-first .btn-browse-food{min-width:88px;height:36px;padding:0 16px;line-height:34px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center}.food-amount-proportion-wrap{display:flex;gap:8px;min-width:0;max-width:150px}.food-amount-proportion-wrap .form-group{flex:1 1 auto;min-width:0;width:100%}.food-amount-proportion-wrap #foodAmount{width:100%;padding-right:28px}.food-amount-proportion-wrap #foodAmount:focus{box-shadow:none}.food-input-row .form-group{width:100%;box-sizing:border-box}.food-input-row .db-multi-trigger{height:36px;padding:0 28px 0 12px;box-sizing:border-box;line-height:34px;font-size:14px}.food-input-row .form-group select,.food-input-row input[type=number],.food-input-row input[type=text]{height:36px;padding:0 12px;font-size:14px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;color:var(--text);box-sizing:border-box;width:100%}.food-input-row input[type=number]:focus,.food-input-row input[type=text]:focus{outline:0;border-color:var(--accent)}.food-input-row input[type=number]:disabled{background:var(--bg-app);color:var(--text-muted);cursor:not-allowed}.food-input-row .food-input-buttons{display:flex;gap:6px;align-items:center}.food-input-row .food-input-buttons .btn-add,.food-input-row .food-input-buttons .btn-browse-food,.food-input-row .food-input-buttons .btn-custom-food{height:36px;padding:0 16px;font-size:14px;line-height:34px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center}.food-input-row .btn-add{min-width:100px}.food-input-row .btn-custom-food{font-size:13px;font-weight:500;color:var(--text-secondary);background:var(--bg-app);border:1px solid var(--border);border-radius:var(--radius);min-width:0;white-space:nowrap;padding:0 14px}.food-input-row .btn-custom-food:hover{background:#ebebeb;border-color:var(--border-strong);color:var(--text)}.food-list{min-height:var(--food-recipe-content-height);max-height:var(--food-recipe-content-height);background:var(--bg-surface);box-shadow:var(--shadow-sm);width:100%;overflow-y:auto;overflow-x:auto;position:relative}.food-list input[type=number]:focus,.food-list input[type=text]:focus{outline:0;border-color:var(--accent)!important;box-shadow:none}.food-list table{width:max-content;min-width:100%;border-collapse:collapse}#foodList table.nutrients-table thead th{top:0;background:var(--bg-subtle);box-shadow:0 1px 0 var(--border)}#foodList table.nutrients-table thead th:not(.food-list-th-drag):not(.food-list-th-toggle):not(.food-list-th-name):not(.food-list-th-del){position:sticky;z-index:10;vertical-align:middle}#foodList table.nutrients-table thead th.food-list-th-drag{position:sticky;left:0;z-index:14;vertical-align:middle}#foodList table.nutrients-table thead th.food-list-th-toggle{position:sticky;left:28px;z-index:13;vertical-align:middle}#foodList table.nutrients-table thead th.food-list-th-name{position:sticky;left:68px;z-index:12;text-align:left;vertical-align:middle;box-shadow:6px 0 8px -6px rgba(0,0,0,.12),0 1px 0 var(--border)}#foodList table.nutrients-table thead th.food-list-th-del{position:sticky;right:0;z-index:12;box-shadow:-6px 0 8px -6px rgba(0,0,0,.12),0 1px 0 var(--border);width:1%;min-width:52px;text-align:right;vertical-align:middle;padding-right:6px;padding-left:4px}#foodList table.nutrients-table tbody td.food-list-td-drag{position:sticky;left:0;z-index:5;background:#fff}#foodList table.nutrients-table tbody td.food-list-td-toggle{position:sticky;left:28px;z-index:4;background:#fff}#foodList table.nutrients-table tbody td.food-list-td-name{position:sticky;left:68px;z-index:3;background:#fff;box-shadow:6px 0 8px -6px rgba(0,0,0,.1)}#foodList table.nutrients-table tbody td.food-list-td-del{position:sticky;right:0;z-index:4;background:#fff;box-shadow:-6px 0 8px -6px rgba(0,0,0,.1);white-space:nowrap;width:1%;min-width:52px;text-align:right;vertical-align:middle;padding-right:6px;padding-left:4px}#foodList .food-list-row-actions{display:inline-flex;align-items:center;justify-content:flex-end}#foodList .food-list-del-btn{padding:3px 8px;font-size:11px}#foodList .food-list-row-menu{display:none;position:relative}#foodList table.nutrients-table tbody td.food-list-td-cat,#foodList table.nutrients-table tbody td.food-list-td-eratio,#foodList table.nutrients-table tbody td.food-list-td-kcal,#foodList table.nutrients-table tbody td.food-list-td-weight,#foodList table.nutrients-table tbody td.food-list-td-wratio{z-index:0}#foodList table.nutrients-table tbody td.food-list-td-del,#foodList table.nutrients-table tbody td.food-list-td-drag{border-bottom-color:transparent}#foodList table.nutrients-table tbody td.food-list-td-weight>div{z-index:0}#foodList table.nutrients-table tbody tr.food-list-row:hover td.food-list-td-del,#foodList table.nutrients-table tbody tr.food-list-row:hover td.food-list-td-drag,#foodList table.nutrients-table tbody tr.food-list-row:hover td.food-list-td-name,#foodList table.nutrients-table tbody tr.food-list-row:hover td.food-list-td-toggle{background:#f5f6f893}#foodList table.nutrients-table tfoot td.food-list-tfoot-sticky-drag{position:sticky;left:0;z-index:11;background:var(--bg-subtle)}#foodList table.nutrients-table tfoot td.food-list-tfoot-sticky-toggle{position:sticky;left:28px;z-index:11;background:var(--bg-subtle)}#foodList table.nutrients-table tfoot td.food-list-tfoot-sticky-name{position:sticky;left:68px;z-index:11;background:var(--bg-subtle);box-shadow:6px 0 8px -6px rgba(0,0,0,.12)}#foodList table.nutrients-table tfoot td.food-list-tfoot-sticky-del{position:sticky;right:0;z-index:11;background:var(--bg-subtle);box-shadow:-6px 0 8px -6px rgba(0,0,0,.12);width:1%;min-width:52px;text-align:right;padding-right:6px;padding-left:4px}.food-list .food-list-name-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nt-mobile-unit{display:none}.food-list-tag{display:inline-block;font-size:11px;line-height:1.3;padding:1px 5px;border-radius:var(--radius);margin-right:3px;white-space:nowrap}.food-list-tag-cat{background:#eef3fb;color:#4a7abf}.food-list-tag-cat-supplement{background:#f0f7f0;color:#4a8a4a}.food-list-tag-invalid{background:#fdeaea;color:#b42318}.food-list tfoot{position:sticky;bottom:0;z-index:11}.food-list-stats{display:none}.food-list tfoot tr{background:var(--bg-subtle);font-weight:600;box-shadow:0 4px 0 0 var(--bg-subtle)}.food-list tfoot td{white-space:nowrap}.food-search-input-wrap{display:flex;align-items:center;border:1px solid var(--border);background:#fff}.food-input-row .food-search-input-wrap{height:36px;box-sizing:border-box}.food-search-input-wrap .food-search-input-inner{flex:1;min-width:0;padding-right:36px;border:none!important;box-shadow:none}.food-input-row .food-search-input-wrap .food-search-input-inner{height:100%;min-height:0}.food-input-row .food-search-input-wrap .food-search-clear-btn{width:36px;height:36px}.food-search-input-wrap .food-search-input-inner:focus{outline:0;box-shadow:none}.food-search-input-wrap:focus-within{border-color:var(--accent)}.food-search-clear-btn{flex-shrink:0;width:32px;height:32px;padding:0;margin:0 4px 0 0;border:none;background:0 0;color:var(--text-muted);font-size:18px;line-height:1;cursor:default;display:flex;align-items:center;justify-content:center;border-radius:var(--radius)}.food-search-clear-btn:hover{color:var(--text)}.food-search-results{max-height:300px;overflow-y:auto;border:1px solid var(--border-strong);background:#fff;display:none;position:absolute;width:500px;max-width:90vw;left:0;top:100%;z-index:100;box-shadow:0 4px 6px rgba(0,0,0,.1)}.food-search-item{padding:10px 12px;cursor:pointer;border-bottom:1px solid var(--border);font-size:13px;white-space:normal;word-wrap:break-word}.food-search-item:focus,.food-search-item:hover{background:#e8f0fe;outline:0}.food-search-load-more-bar{padding:8px 10px;text-align:center;border-top:1px solid var(--border);background:var(--bg-subtle)}.food-search-load-more-btn{appearance:none;border:none;background:0 0;color:var(--accent);font-size:13px;font-weight:500;cursor:pointer;padding:4px 8px}.food-search-load-more-btn:hover:not(:disabled){color:var(--accent-hover);text-decoration:underline}.food-search-load-more-btn:disabled{color:var(--text-muted);cursor:default}.food-search-item:last-child{border-bottom:none}.food-search-item .food-search-db-line{color:var(--text-muted);font-size:12px;margin-top:2px}.nutrients-table{width:100%;border-collapse:collapse;font-size:13px;margin-top:0}.nutrients-table td,.nutrients-table th{padding:10px;border-bottom:1px solid var(--border)}.nutrients-table .col-category,.nutrients-table .col-name{text-align:left}.nutrients-table tbody td.col-category{text-align:center}@media (min-width:640px){#nutrientRequirements .nutrients-table{width:max-content;min-width:100%}#nutrientRequirements .nutrients-table thead th{white-space:nowrap}#nutrientRequirements .nutrients-table td.col-name,#nutrientRequirements .nutrients-table th.col-name{max-width:248px;padding-left:8px;padding-right:8px;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}}.nutrients-table .col-action,.nutrients-table .col-nrc,.nutrients-table .col-unit{text-align:center}.nutrients-table .col-action .btn-balance{padding:2px 6px;font-size:11px;background:0 0;color:var(--accent);border:1px solid var(--accent);border-radius:var(--radius);cursor:pointer}.nutrients-table .col-action .btn-balance:hover{background:rgba(52,152,219,.08)}.nutrients-table .col-loss,.nutrients-table .col-max,.nutrients-table .col-min,.nutrients-table .col-nrc-mr,.nutrients-table .col-nrc-ra-val,.nutrients-table .col-nrc-sul,.nutrients-table .col-provided,.nutrients-table .col-ra{text-align:right}.nutrients-table td.col-loss,.nutrients-table th.col-loss{width:4.5em;max-width:8em;font-variant-numeric:tabular-nums;white-space:nowrap}@media (min-width:769px){.nutrients-table td.col-loss .nutrient-loss-tag{display:inline}.nutrients-table td.col-loss .nutrient-loss-tag-label{display:none}.nutrients-table td.col-loss .nutrient-loss-tag-value{font:inherit}}.nutrients-table th.nutrient-loss-col-th{cursor:pointer;vertical-align:middle}.nutrients-table th.nutrient-loss-col-th .nutrient-loss-th-inner{display:inline-flex;align-items:center;justify-content:flex-end;gap:4px;user-select:none}.nutrients-table th.nutrient-loss-col-th .nutrient-loss-col-th-icon{flex-shrink:0;color:#bbb;transition:color .15s;margin-top:1px}.nutrients-table th.nutrient-loss-col-th:focus-visible .nutrient-loss-col-th-icon,.nutrients-table th.nutrient-loss-col-th:hover .nutrient-loss-col-th-icon{color:var(--accent)}.nutrients-table th.nutrient-loss-col-th:focus:not(:focus-visible){outline:0}.nutrients-table th.nutrient-loss-col-th:focus-visible{outline:2px solid rgba(52,152,219,.55);outline-offset:1px}.nutrients-table th.nutrient-loss-col-th:hover{background:#eef6fc;color:#2c5e9c}.nutrients-table th.col-nrc-ra-val{min-width:72px;white-space:nowrap}.nutrients-table td.col-nrc-ra-val{white-space:nowrap}.nrc-ra-abs-val{font-variant-numeric:tabular-nums}.nutrients-table tbody td.col-provided{font-weight:600}.nutrients-table th{background:var(--bg-subtle);font-weight:600;color:var(--text);position:sticky;top:0}.nutrients-table td{color:var(--text-secondary)}.nutrients-table tbody tr:hover td{background:#f5f6f893}.nutrients-table td.col-nrc{font-size:13px;color:var(--text-secondary);padding-left:30px}.nutrients-table th.col-nrc{padding-left:30px}.nutrient-name-with-source{cursor:help}.nutrient-source-asterisk{color:#c0392b;font-size:1.15em;margin-left:1px}.food-detail-nutrient-trace{display:block;margin-top:6px;max-width:100%}.fnt-trace-card{position:relative;padding:8px 10px 8px 12px;border:1px solid var(--border);border-radius:var(--radius);background:#f7f8fa;box-shadow:none;font-size:11px;line-height:1.45;color:#5c6778;overflow:hidden}.fnt-trace-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:#94a3b8;border-radius:var(--radius)}.fnt-trace-card--sum::before{background:#3b82f6}.fnt-trace-card--estimate::before{background:#f59e0b}.fnt-trace-card--direct::before{background:#10b981}.fnt-trace-card--coalesce::before{background:#8b5cf6}.fnt-trace-card--formula::before{background:#6366f1}.fnt-trace-card--atwater::before{background:#ef4444}.fnt-trace-card--fallback::before{background:#cbd5e1}.fnt-trace-card__head{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:6px}.fnt-trace-card__badge{display:inline-flex;align-items:center;padding:1px 6px;border-radius:var(--radius);font-size:10px;font-weight:600;letter-spacing:.02em;color:#475569;background:rgba(148,163,184,.16);border:1px solid rgba(148,163,184,.22)}.fnt-trace-card--sum .fnt-trace-card__badge{color:#1d4ed8;background:rgba(59,130,246,.1);border-color:rgba(59,130,246,.18)}.fnt-trace-card--estimate .fnt-trace-card__badge{color:#b45309;background:rgba(245,158,11,.12);border-color:rgba(245,158,11,.2)}.fnt-trace-card__title{font-weight:600;color:#334155;word-break:break-word}.fnt-trace-card__head-unit{margin-left:auto;padding:1px 5px;border-radius:var(--radius);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10px;color:#64748b;background:rgba(255,255,255,.72);border:1px solid var(--border)}.fnt-trace-card__expr{display:flex;flex-direction:column;gap:3px;padding:6px 8px;border-radius:var(--radius);background:rgba(255,255,255,.72);border:1px solid #e8edf3}.fnt-trace-card__row{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10.5px}.fnt-trace-card__op{flex:0 0 14px;color:#94a3b8;font-weight:600;text-align:center}.fnt-trace-card__row--result .fnt-trace-card__op,.fnt-trace-card__row--result .fnt-trace-card__val{color:#0f766e;font-weight:700}.fnt-trace-card__label{color:#475569}.fnt-trace-card__unit-tag{padding:0 4px;border-radius:var(--radius);font-size:9.5px;color:#64748b;background:#f1f5f9}.fnt-trace-card__eq{color:#94a3b8}.fnt-trace-card__val{color:#1e293b;font-weight:600}.fnt-trace-card__expr-line{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10.5px;color:#475569;word-break:break-word}.fnt-trace-card__candidates{margin-bottom:6px;padding:6px 8px;border-radius:var(--radius);background:rgba(255,255,255,.55);border:1px dashed #dbe3ec}.fnt-trace-card__candidates-title{margin-bottom:4px;font-size:10px;font-weight:600;color:#64748b}.fnt-trace-card__candidates-list{margin:0;padding-left:18px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10px;color:#475569}.fnt-trace-card__candidates-list li+li{margin-top:2px}.fnt-trace-card__candidate--selected{color:#0f766e;font-weight:600}.fnt-trace-card__conversion,.fnt-trace-card__rule-id{margin-top:6px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10px;color:#64748b}.fnt-trace-card__note{margin-top:6px;padding-top:6px;border-top:1px dashed var(--border);font-size:10px;line-height:1.5;color:#64748b}.fnt-trace-card__note::before{content:'注';display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;margin-right:4px;border-radius:var(--radius);font-size:9px;font-weight:700;color:#b45309;background:rgba(245,158,11,.12);vertical-align:middle}.fnt-trace-card__footer{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.fnt-trace-card__tag{display:inline-flex;align-items:center;padding:1px 6px;border-radius:var(--radius);font-size:9.5px;font-weight:600;color:#b45309;background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.18)}.fnt-trace-card__simple{font-size:11px;color:#64748b}.food-detail-table.food-detail-table--calc-path td.fd-name--with-trace{vertical-align:top;padding-top:8px;padding-bottom:10px}.food-detail-table.food-detail-table--calc-path tbody tr:hover .fnt-trace-card{border-color:#d5dee8}.food-detail-table-controls{display:flex;align-items:center;gap:12px;padding:0 0 10px;font-size:12px;color:#6f6a60}.food-detail-table-controls--footer{padding:0;flex-shrink:0}.food-detail-modal-actions{justify-content:space-between;align-items:center}.food-detail-modal-actions-left{flex:1;min-width:0}.food-detail-hide-empty-label{display:inline-flex;align-items:center;gap:6px;cursor:pointer;user-select:none;margin:0}.food-detail-hide-empty-label input{margin:0}.table-container{max-height:none;overflow-y:visible;background:var(--bg-surface);box-shadow:var(--shadow-sm)}.rec-source-badge{display:inline-block;margin-left:4px;padding:0 4px;font-size:10px;line-height:14px;color:var(--text-muted);background:rgba(0,0,0,.05);border-radius:var(--radius);vertical-align:super}.max-type-badge{display:inline-block;margin-left:3px;padding:0 3px;font-size:10px;line-height:14px;color:#d35400;background:rgba(211,84,0,.08);border-radius:var(--radius);vertical-align:super}.standard-stage-warnings{margin:0 0 12px;padding:10px 14px;background:#fff5f5;border:1px solid #ffd0d0;border-left:4px solid #e74c3c;color:#c0392b;font-size:13px;line-height:1.5;border-radius:var(--radius);grid-column:1/-1}.standard-stage-warnings .standard-stage-warning-item{display:block}.standard-stage-warnings .standard-stage-warning-item+.standard-stage-warning-item{margin-top:4px}.nrc-dynamic-warnings{margin:0 0 12px;background:0 0;border:none;padding:0;grid-column:1/-1}.nrc-dynamic-warnings .nrc-dynamic-warning-item{display:flex;align-items:flex-start;gap:7px;padding:8px 12px;font-size:12.5px;line-height:1.5;border-radius:var(--radius)}.nrc-dynamic-warnings .nrc-dynamic-warning-item+.nrc-dynamic-warning-item{margin-top:4px}.nrc-dynamic-warnings .nrc-dyn-icon{flex-shrink:0;margin-top:1px}.nrc-dynamic-warnings .nrc-dyn-text{flex:1;min-width:0}.nrc-dynamic-warnings .nrc-dyn-warning{background:#fffbf0;border:none;border-left:4px solid #e6a817;color:#6b4200}.nrc-dynamic-warnings .nrc-dyn-info{background:#f4f8ff;border:none;border-left:4px solid #4a7fbf;color:#1d4f8b}.nutrient-name-label{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px}.nutrient-name-short{display:none}.nrc-dyn-adjusted-badge{display:inline-block;flex-shrink:0;padding:0 4px;font-size:10px;line-height:14px;color:#fff;background:#4a7fbf;border-radius:var(--radius);vertical-align:middle;cursor:help}.nrc-clinical-adjusted-badge{display:inline-block;flex-shrink:0;padding:0 4px;font-size:10px;line-height:14px;color:#fff;background:#6b8e4e;border-radius:var(--radius);vertical-align:middle;cursor:help}.loading{display:inline-block;width:14px;height:14px;border:2px solid #f3f3f3;border-top:2px solid var(--accent);border-radius:50%;animation:spin .8s linear infinite;vertical-align:middle;margin-left:8px}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.hidden{display:none}.tabs{display:flex;border-bottom:1px solid var(--border);margin-bottom:15px}.tab{padding:10px 20px;cursor:pointer;border:none;background:0 0;font-size:14px;color:var(--text-muted);border-bottom:2px solid transparent;transition:all .3s}.tab.active{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.error-message{padding:10px 15px;background:#fee;border-left:3px solid #e74c3c;color:#c0392b;font-size:13px;margin-top:10px}@media (max-width:1200px){.header-inner{padding:18px 30px}.top-section{grid-template-columns:1fr}.pet-profile-card{position:relative}.pet-profile-card-header{flex-direction:row;align-items:center;padding-right:148px}.pet-profile-card-body{grid-template-columns:1fr}.pet-profile-energy,.pet-profile-identity,.pet-profile-plan-summary{grid-column:auto;grid-row:auto}.pet-profile-energy,.pet-profile-identity{border-right:none;padding-right:0}.pet-profile-identity{border-bottom:none;padding-bottom:0}.pet-profile-identity-actions{position:absolute;top:20px;right:20px;z-index:2}.pet-profile-energy{border-bottom:1px solid var(--border);padding-bottom:14px}.pet-profile-energy .energy-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.pet-profile-energy .metric-box{flex:unset;min-width:0}.food-recipe-card{height:auto!important}.food-recipe-content-resizer,.food-recipe-left-resizer{display:none}.food-recipe-content{grid-template-columns:1fr;grid-template-rows:auto auto auto}.food-list{min-height:0;max-height:none}#foodList{order:1}#foodListStats{order:2}.food-pie-chart-wrapper{order:3;min-height:260px;max-height:400px;height:auto;width:100%}.food-input-row{display:grid;grid-template-columns:auto minmax(0,1fr) 120px;grid-template-areas:"toolbar toolbar toolbar" "browse db db" "search search search" "amount amount amount" "add add add";gap:10px;align-items:center}.food-input-row .food-list-input-toolbar{grid-area:toolbar}.food-input-row .food-input-buttons-first{grid-area:browse}.food-input-row .db-multi-wrap{grid-area:db;min-width:0}.food-input-row .food-search-input-wrap{grid-area:search;min-width:0}.food-input-row #foodAmountProportionWrap,.food-input-row .food-amount-proportion-wrap{grid-area:amount;width:100%;min-width:0;max-width:none}.food-input-row .food-input-buttons:not(.food-input-buttons-first){grid-area:add}.food-input-row .food-input-buttons:not(.food-input-buttons-first) .btn-add{width:100%}.food-input-row button,.food-input-row input{font-size:14px}.food-stacked-chart-list-table .food-stacked-list-col-amount,.food-stacked-chart-list-table .food-stacked-list-col-calories{position:static;left:auto;box-shadow:none;min-width:auto}.food-stacked-chart-list-table thead tr.food-stacked-list-head-main th.food-stacked-list-col-amount,.food-stacked-chart-list-table thead tr.food-stacked-list-head-main th.food-stacked-list-col-calories{position:sticky;top:0;left:auto;z-index:1;box-shadow:none}.food-stacked-chart-list-table thead tr.food-stacked-list-loss-row th.food-stacked-list-col-amount,.food-stacked-chart-list-table thead tr.food-stacked-list-loss-row th.food-stacked-list-col-calories{position:sticky;top:var(--stacked-list-thead-h1,39px);left:auto;z-index:1;box-shadow:none}.food-stacked-chart-list-table tfoot td.food-stacked-list-col-amount,.food-stacked-chart-list-table tfoot td.food-stacked-list-col-calories{position:static;left:auto;box-shadow:none}.food-stacked-chart-list-table .food-stacked-list-col-name{width:auto;min-width:0;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.food-stacked-chart-wrapper{margin-top:8px}.energy-summary{grid-template-columns:repeat(2,1fr)}.nutrient-content{grid-template-columns:1fr;display:flex;flex-direction:column;align-items:stretch}.basic-info-card{grid-template-columns:1fr}.pet-profile-edit-form{grid-template-columns:1fr}.nutrient-left-area{order:-1;position:static;width:100%}.nutrient-left-column{order:-1;position:static;width:100%;container-type:inline-size;container-name:nutrient-gauge-col}.gauges-wrapper{position:static;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:20px}@container nutrient-gauge-col (min-width:500px){.gauges-wrapper{grid-template-columns:repeat(3,minmax(0,1fr))}}.gauges-wrapper.visible .gauge-container{display:flex;flex-direction:column;align-items:stretch;text-align:center;min-width:0;padding:10px 8px 8px;gap:2px}.gauges-wrapper .gauge-title{order:1;margin:0 0 2px;font-size:11px;font-weight:500;color:#777;line-height:1.2}.gauges-wrapper .gauge{order:2;position:static;width:auto;height:auto;display:flex;flex-direction:column;align-items:center;margin:0;border-radius:var(--radius)}.gauges-wrapper .gauge .gauge-ra-label,.gauges-wrapper .gauge .hub,.gauges-wrapper .gauge .needle,.gauges-wrapper .gauge .nums,.gauges-wrapper .gauge .rim,.gauges-wrapper .gauge .ring,.gauges-wrapper .gauge .ticks{display:none!important}.gauges-wrapper .gauge .readout{position:static;transform:none;border:none;box-shadow:none;background:0 0;padding:0;font-size:16px;font-weight:700;color:#222;line-height:1.2;font-variant-numeric:tabular-nums}.gauges-wrapper .gauge-range-info{display:block;order:3;margin:2px 0 0;font-size:11px;color:var(--text-muted);line-height:1.2;min-height:1.2em}.gauges-wrapper .gauge-delete-btn,.gauges-wrapper .gauge-title-icon{display:none!important}.gauges-wrapper .gauge-container[data-gauge-key]{cursor:pointer}.gauges-wrapper .gauge-container[data-gauge-key]:hover{border-color:var(--accent)}.gauges-wrapper .gauge-container--empty .gauge-add-placeholder{position:static;inset:auto;order:2;flex:1;min-height:28px;padding:4px 0}.gauges-wrapper .gauge-container--empty .gauge-add-placeholder svg{width:20px;height:20px}.gauges-wrapper .gauge-container--empty[data-gauge-key=customGauge2]::before{content:'自定义比例';order:1;font-size:11px;font-weight:500;color:#777;line-height:1.2;margin-bottom:2px}#nutrientRequirements{order:1}.food-list-card-title{flex-direction:column;align-items:stretch;gap:6px}.food-list-card-controls,.food-list-info-cards{width:100%}.food-list-info-cards{flex-direction:column;gap:6px}#currentEnergyCard,#dailyFeedCard{width:100%;justify-content:space-between}#currentEnergyCard .current-energy-card-values{margin-left:auto;text-align:right;white-space:nowrap}.food-list-input-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 8px;align-items:center}#currentRecipeCard{display:flex;width:100%;max-width:none;min-width:0;justify-content:space-between}.food-list-input-toolbar .food-list-action-btns{justify-self:end}#newRecipeBtn{display:none!important}#currentRecipeCard .current-recipe-card-main{flex:1 1 auto;min-width:0}#currentRecipeCard .current-recipe-card-name{max-width:none;flex:1 1 auto}#currentRecipeCard .current-recipe-card-actions{flex-shrink:0;margin-left:auto}.announcement-content{width:calc(100vw - 32px);max-height:90vh}input,select,textarea{font-size:16px!important}#aboutModal .ideal-weight-modal-content,#wechatGroupModal .ideal-weight-modal-content{width:calc(100vw - 32px);max-width:100%}#energyGuideModal .ideal-weight-modal-content{width:calc(100vw - 32px);max-width:100%}.energy-guide-layout{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.energy-guide-main{flex:1;min-height:0;overflow-y:auto}.energy-guide-sidebar{border-left:none;border-top:1px solid var(--border);flex-shrink:0;overflow:visible}.energy-guide-sidebar-nrc{overflow:visible}.energy-guide-std-list{flex-direction:row;flex-wrap:wrap}.energy-guide-std-btn{width:auto;flex:1 1 auto}.global-settings-tabs{display:flex;gap:6px;overflow-x:auto;border-right:0;border-bottom:1px solid var(--border)}.global-settings-tab{width:auto;white-space:nowrap;margin-bottom:0;text-align:center;flex:0 0 auto}.global-settings-panel{padding:14px}.global-settings-section-head{align-items:stretch;flex-direction:column}.global-settings-unit-row{grid-template-columns:minmax(0,1fr) 92px}.page-footer{padding:16px 12px;flex-direction:column;gap:12px}.page-footer-logos{flex-wrap:wrap;gap:12px;justify-content:center}.page-footer-logo{height:auto;max-height:28px;max-width:calc((100vw - 80px)/ 3)}.scale-to-energy-modal-content{width:calc(100% - 32px);min-width:0;max-width:100%}.balance-modal-content:not(.bioavail-modal-content):not(.nutrient-loss-rate-modal-content):not(.nutrition-rule-params-modal-content):not(.bioavail-custom-rule-modal-content){width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;border-radius:var(--radius)!important;margin:0!important}.balance-modal-body:not(.bioavail-body):not(.nutrient-loss-rate-modal-body):not(.nutrition-rule-params-modal-body):not(.bioavail-custom-rule-body){flex-direction:column!important;overflow-y:auto!important;overflow-x:hidden!important;padding:12px!important;gap:12px!important}.fd-save-modal-content .balance-modal-body.fd-save-modal-body{overflow:visible!important;padding:0!important;gap:0!important}.fd-save-modal-body .fd-save-fields{padding:12px 14px 14px}.balance-nutrient-info-wrapper{width:100%!important;flex-shrink:0}.balance-other-nutrients-list{max-height:180px}.balance-lists-row{flex-direction:column!important;overflow:visible!important;min-height:0}.balance-modal-energy-card .balance-energy-summary{grid-template-columns:repeat(2,1fr)}.balance-preview-list-container{scrollbar-width:none}.balance-preview-list-container::-webkit-scrollbar{display:none}.balance-preview-list-wrapper{flex:none!important;width:100%!important;max-width:100%!important;min-height:0}.balance-preview-list-container{max-height:none;overflow:visible;border:none;scrollbar-width:none}.balance-preview-list-container::-webkit-scrollbar{display:none}.balance-food-list-wrapper{flex:none!important;width:100%!important;max-width:100%!important;min-height:0}.balance-food-list-container{min-height:200px;max-height:360px;overflow:hidden;width:100%}.balance-food-list-table-wrap{overflow-y:auto}.balance-search-box{width:100%}.balance-search-box .db-selector{max-width:none}#balanceDbSelector{flex:1 1 140px!important;width:auto!important}.balance-food-list-container table,.balance-preview-list-container table{table-layout:auto}.balance-preview-list-container td.balance-preview-cell-name,.balance-preview-list-container thead th:first-child{width:auto!important;min-width:0!important;max-width:none!important}.balance-food-list-container tbody td.balance-food-cell-name,.balance-food-list-container thead th:nth-child(2){width:auto!important;min-width:0!important;max-width:120px!important}.balance-food-list-container tbody td.balance-food-cell-content,.balance-food-list-container thead th:nth-child(3){width:auto!important;min-width:0!important;max-width:none!important}.balance-load-more-bar{width:100%}.balance-preview-amount-input{width:72px!important}.balance-preview-list-container thead{display:none}.balance-preview-list-container table{display:block}.balance-preview-list-container tbody{display:block}.balance-preview-list-container tbody tr.balance-preview-row{display:grid;grid-template-columns:1fr 1fr;gap:4px 8px;padding:10px;border:1px solid var(--border);margin-bottom:8px;border-bottom:1px solid var(--border)!important}.balance-preview-list-container td.balance-preview-cell-name{grid-column:1/2;grid-row:1;width:auto!important;min-width:0!important;max-width:none!important;padding:0!important;white-space:normal;overflow:hidden}.balance-preview-list-container td.balance-preview-cell-original{grid-column:2/3;grid-row:1;padding:0!important;text-align:right;align-self:start;font-size:12px;color:var(--text-muted)}.balance-preview-list-container td.balance-preview-cell-original::before{content:'重置为 ';color:#bbb;font-size:11px}.balance-preview-list-container td.balance-preview-cell-input{grid-column:1/3;grid-row:2;padding:4px 0!important}.balance-preview-list-container td.balance-preview-cell-input .balance-preview-amount-wrap{width:100%}.balance-preview-list-container td.balance-preview-cell-input .balance-preview-amount-input{width:100%!important;box-sizing:border-box;font-size:14px;padding:6px 36px 6px 10px!important}.balance-preview-list-container td.balance-preview-cell-current{grid-column:1/2;grid-row:3;padding:0!important;white-space:normal}.balance-preview-list-container td.balance-preview-cell-calories{grid-column:2/3;grid-row:3;padding:0!important;text-align:right;white-space:normal}.food-browse-modal-content{width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important;border-radius:var(--radius)!important;margin:0!important}.food-browse-modal-body{flex-direction:column!important}.food-browse-modal-content .balance-modal-header{flex-wrap:wrap;align-items:center;gap:0}.food-browse-modal-content .food-browse-header-left{display:contents}.food-browse-modal-content .food-browse-header-left h3{flex:1;order:1;padding:0}.food-browse-modal-content .balance-modal-header-actions{order:2;flex:0 0 100%;width:100%;margin:0;padding:8px 0 0;display:flex;flex-direction:row;align-items:stretch;gap:6px}.food-browse-modal-content .balance-modal-header-actions .btn-nutrient-loss-settings{flex:1 1 0;min-width:0;box-sizing:border-box;justify-content:center;padding-left:6px;padding-right:6px;font-size:12px;white-space:nowrap}.food-browse-modal-content .food-browse-global-search-wrap{order:3;flex:0 0 100%;max-width:100%;min-width:0;padding:10px 0}.food-browse-modal-content .food-browse-toolbar{flex-wrap:wrap;gap:8px}.food-browse-modal-content .food-browse-toolbar .food-browse-sort-wrap{margin-left:0;width:100%;justify-content:flex-end}.food-browse-modal-content .food-browse-toolbar #foodBrowseSortNutrient{flex:1;max-width:none}.food-browse-categories{width:100%!important;min-width:0!important;border-right:none!important;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:0;background:var(--bg-subtle);overflow:visible}#foodBrowseCategoryList{display:none!important}.food-browse-cat-select-mobile{display:block}.food-browse-main{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}#foodBrowseList{flex:1;overflow-y:auto;scrollbar-width:none}#foodBrowseList::-webkit-scrollbar{display:none}.food-browse-preview{display:none!important}.food-browse-detail-panel{display:none!important}.food-browse-modal-body.browse-mobile-detail .food-browse-detail-panel{display:flex!important;flex-direction:column;flex:1;width:100%!important;min-width:0!important;border-left:none!important}.food-browse-modal-body.browse-mobile-detail .food-browse-categories,.food-browse-modal-body.browse-mobile-detail .food-browse-main{display:none!important}.food-browse-panel-mobile-bar{display:flex;align-items:center;padding:8px 12px 0 12px;flex-shrink:0}.food-browse-panel-back-btn{display:inline-flex;align-items:center;background:0 0;border:none;color:#1a73e8;font-size:14px;cursor:pointer;padding:4px 0;font-family:inherit}.food-browse-panel-back-btn:hover{opacity:.75}.food-browse-modal-body.browse-mobile-detail .food-browse-detail-panel-footer{flex-direction:column;align-items:stretch;gap:8px}.food-browse-modal-body.browse-mobile-detail .food-browse-panel-footer-actions{width:100%;margin-left:0}.food-browse-modal-body.browse-mobile-detail .food-browse-panel-inputs{width:100%;flex-wrap:nowrap}.food-browse-modal-body.browse-mobile-detail .food-browse-detail-panel-footer .btn-add-small{flex:1;height:42px;font-size:15px;justify-content:center}.food-browse-modal-footer{border-top:1px solid var(--border);flex-shrink:0}.food-browse-modal-content .balance-modal-close{display:none}.custom-food-modal-content{width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important;border-radius:var(--radius)!important;margin:0!important}.custom-food-modal-content .balance-modal-body{flex-direction:column!important;overflow:hidden!important;padding:0!important}.custom-food-form-panel{display:none!important}.custom-food-list-panel{display:flex!important;width:100%!important;max-width:100%!important;border-right:none!important;border-bottom:none;max-height:none;flex:1;min-height:0}.custom-food-modal-body.custom-food-mobile-edit .custom-food-list-panel{display:none!important}.custom-food-modal-body.custom-food-mobile-edit .custom-food-form-panel{display:flex!important;flex:1;min-height:0;width:100%!important;overflow:hidden;padding:0 14px 0!important}.custom-food-panel-mobile-bar{display:flex;align-items:center;padding:10px 0 4px;flex-shrink:0}.custom-food-modal-body.custom-food-mobile-edit .custom-food-form-panel{overflow-y:auto}.custom-food-list-footer{padding:10px 12px}.custom-food-form-footer{flex-wrap:wrap;gap:10px;margin-left:-14px;margin-right:-14px;padding:12px 14px calc(12px + env(safe-area-inset-bottom,0px))}.custom-food-form-footer-actions{flex:1 1 auto;min-width:0}.custom-food-panel-footer .btn{flex:1 1 0;min-width:0;min-height:44px;height:auto;display:flex;align-items:center;justify-content:center;font-size:15px}.custom-food-modal-content .balance-modal-body .form-group.custom-food-inline-row{flex-wrap:wrap!important}.custom-food-modal-content .balance-modal-body .form-group.custom-food-inline-row .custom-food-field{flex:1 1 120px;min-width:0}.food-browse-amount-wrap,.food-browse-der-wrap{display:none!important}.food-browse-item-actions{display:block!important;padding:6px 10px 10px}.food-browse-item-actions .btn-add-small{display:flex;align-items:center;justify-content:center;width:100%;height:36px;padding:0;font-size:15px;line-height:1;box-sizing:border-box}.balance-preview-stats{display:flex;width:100%;box-sizing:border-box;gap:0}.balance-preview-stats .bps-item{flex:1 1 0;flex-direction:column;align-items:center;justify-content:center;padding:4px 0;gap:2px;border-right:1px solid var(--border)}.balance-preview-stats .bps-item:last-child{border-right:none}.balance-preview-list-container tfoot{display:none}}@media (max-width:639px){.pet-profile-energy .energy-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.pet-profile-energy .metric-box{padding:10px}.pet-profile-energy .metric-value{font-size:16px}.nt-mobile-unit{display:inline}#foodList table.nutrients-table{display:block;width:100%;border:none}#foodList table.nutrients-table thead{display:none}#foodList table.nutrients-table tbody{display:flex;flex-direction:column;gap:8px;padding:4px 0 8px}#foodList{border:none!important;scrollbar-width:none;min-height:420px}#foodList::-webkit-scrollbar{display:none}#foodList table.nutrients-table tbody tr.food-list-row td{padding:2px 0;border-bottom:none}#foodList table.nutrients-table tbody tr.food-list-row{display:grid;grid-template-columns:32px 1fr 1fr 1fr 1fr auto;grid-template-rows:auto auto auto;gap:4px 6px;border:1px solid var(--border);border-radius:var(--radius);padding:0 10px 8px 8px;background:#fff;box-shadow:none;overflow:hidden;position:relative}#foodList table.nutrients-table tbody tr.food-list-row:has(.food-list-row-menu.open){overflow:visible;z-index:6}#foodList table.nutrients-table tbody tr.food-list-row::before{content:'';grid-column:1/-1;grid-row:1;background:#f2f4f7;margin:0 -10px 0 -8px;align-self:stretch;min-height:36px;z-index:0}#foodList .food-list-td-drag{display:none!important}#foodList .food-list-td-toggle{grid-row:1;grid-column:1;position:static!important;background:0 0!important;display:flex;align-items:center;justify-content:center;padding:8px 0 6px 8px!important;margin-left:-8px;z-index:1}#foodList .food-list-name-cell,#foodList .food-list-td-name{grid-row:1;grid-column:2/6;position:static!important;background:0 0!important;box-shadow:none!important;font-weight:600;align-self:center;min-width:0;max-width:none;overflow:hidden;white-space:normal;text-overflow:clip;padding:8px 0 6px!important;z-index:1}#foodList .food-list-mobile-head{cursor:pointer}#foodList table.nutrients-table tbody tr.food-list-row.food-list-row--collapsed{grid-template-columns:32px minmax(0,1fr) minmax(72px,92px) auto;grid-template-rows:auto;gap:0 6px;padding:0 10px 0 8px}#foodList table.nutrients-table tbody tr.food-list-row.food-list-row--collapsed::before{min-height:0}#foodList table.nutrients-table tbody tr.food-list-row.food-list-row--collapsed .food-list-td-del,#foodList table.nutrients-table tbody tr.food-list-row.food-list-row--collapsed .food-list-td-name,#foodList table.nutrients-table tbody tr.food-list-row.food-list-row--collapsed .food-list-td-toggle{padding-top:8px!important;padding-bottom:8px!important}#foodList table.nutrients-table tbody tr.food-list-row.food-list-row--collapsed .food-list-td-name{grid-column:2;grid-row:1;white-space:nowrap;text-overflow:ellipsis}#foodList table.nutrients-table tbody tr.food-list-row.food-list-row--collapsed .food-list-td-del{grid-column:4;grid-row:1}#foodList table.nutrients-table tbody tr.food-list-row.food-list-row--collapsed .food-list-td-cat,#foodList table.nutrients-table tbody tr.food-list-row.food-list-row--collapsed .food-list-td-eratio,#foodList table.nutrients-table tbody tr.food-list-row.food-list-row--collapsed .food-list-td-kcal,#foodList table.nutrients-table tbody tr.food-list-row.food-list-row--collapsed .food-list-td-wratio{display:none!important}#foodList table.nutrients-table tbody tr.food-list-row.food-list-row--collapsed .food-list-td-weight{display:block!important;grid-row:1;grid-column:3;align-self:center;z-index:1;min-width:0;padding:6px 0!important}#foodList table.nutrients-table tbody tr.food-list-row.food-list-row--collapsed .food-list-td-weight::before{display:none}#foodList table.nutrients-table tbody tr.food-list-row.food-list-row--collapsed .food-list-td-weight input[type=number]{width:100%!important;min-width:0;padding:4px 22px 4px 6px!important;font-size:14px;-moz-appearance:textfield;appearance:textfield}#foodList table.nutrients-table tbody tr.food-list-row.food-list-row--collapsed .food-list-td-weight input[type=number]::-webkit-inner-spin-button,#foodList table.nutrients-table tbody tr.food-list-row.food-list-row--collapsed .food-list-td-weight input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}#foodList table.nutrients-table tbody tr.food-list-row:not(.food-list-row--collapsed) .food-list-td-weight{display:block!important}#foodList .food-list-td-del{grid-row:1;grid-column:6;position:static!important;background:0 0!important;box-shadow:none!important;align-self:center;justify-self:end;text-align:right;padding:8px 10px 6px 0!important;margin-right:-10px;z-index:1;overflow:visible}#foodList .food-list-del-btn{display:none!important}#foodList .food-list-row-menu{display:block}#foodList .food-list-row-menu-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:0 0;color:var(--text-muted);cursor:pointer;padding:0;border-radius:var(--radius);-webkit-tap-highlight-color:transparent}#foodList .food-list-row-menu-btn:active{background:var(--border)}#foodList .food-list-row-menu-icon{width:18px;height:18px;display:block}#foodList .food-list-row-menu-pop{display:none;position:absolute;right:0;top:calc(100% + 4px);min-width:118px;width:max-content;max-width:calc(100vw - 24px);background:#fff;border:1px solid var(--border);box-shadow:0 4px 12px rgba(0,0,0,.12);z-index:40;flex-direction:column;overflow:visible}#foodList .food-list-row-menu.open .food-list-row-menu-pop{display:flex}#foodList .food-list-row-menu-item{display:block;width:100%;padding:10px 14px;border:none;background:0 0;text-align:left;font-size:14px;line-height:1.3;cursor:pointer;white-space:nowrap}#foodList .food-list-row-menu-item--danger{color:#e74c3c}#foodList .food-list-row-menu-item--danger:active{background:#fff5f5}#foodList .food-list-td-cat{grid-row:2;grid-column:1/7;position:static!important;background:0 0!important;align-self:start;display:flex;flex-wrap:wrap;gap:4px;align-items:flex-start}#foodList .food-list-td-cat .food-list-tag{font-size:11px;margin-right:0}#foodList .food-list-td-weight{grid-row:3;grid-column:1/4;position:static!important;background:0 0!important}#foodList .food-list-td-weight>div{display:block}#foodList .food-list-td-weight input[type=number]{width:100%!important;box-sizing:border-box;font-size:15px}#foodList .food-list-td-wratio{grid-row:3;grid-column:4/7;position:static!important;background:0 0!important;text-align:left!important}#foodList .food-list-td-kcal{grid-row:4;grid-column:1/4;position:static!important;background:0 0!important;text-align:left!important}#foodList .food-list-td-eratio{grid-row:4;grid-column:4/7;position:static!important;background:0 0!important;text-align:left!important}#foodList .food-list-td-eratio::before,#foodList .food-list-td-kcal::before,#foodList .food-list-td-weight::before,#foodList .food-list-td-wratio::before{content:attr(data-label);display:block;font-size:12px;color:#bbb;margin-bottom:2px;font-weight:400}#foodList table.nutrients-table tbody tr.food-list-row[style*=opacity]{border-color:var(--border);box-shadow:none}#foodList table.nutrients-table tfoot{display:none}.food-list-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:6px 0 2px}.fls-card{border:1px solid var(--border);padding:6px 8px;background:#fff;font-weight:600;font-size:14px;min-width:0}.fls-card::before{content:attr(data-label);display:block;font-size:11px;font-weight:400;color:var(--text-muted);margin-bottom:3px}.fls-unit{font-size:11px;font-weight:400;color:var(--text-muted)}.fls-card-clickable{cursor:pointer;position:relative}.fls-card-clickable:hover{background:#f0f6ff}.fls-edit-icon{position:absolute;top:5px;right:5px;width:11px;height:11px;color:#bbb;pointer-events:none}.fls-card-clickable:hover .fls-edit-icon{color:#4a90e2}}@media (max-width:768px){#nutrientRequirements .nt-mobile-unit{display:inline}#nutrientRequirements .table-container{border:none;overflow:visible}#nutrientRequirements .nutrients-table{display:block}#nutrientRequirements .nutrients-table thead{display:none}#nutrientRequirements .nutrients-table tbody{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:start}#nutrientRequirements .nutrients-table tbody tr.nutrient-table-row{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto;border:1px solid var(--border);padding:8px 8px 6px;margin-bottom:0;background:#fff;position:relative;min-width:0}#nutrientRequirements .nutrients-table tbody tr.nutrient-table-row::before{content:none}#nutrientRequirements .nutrients-table td.col-category{display:none!important}#nutrientRequirements .nutrients-table td{border-bottom:none!important;padding:0!important;background:0 0!important;text-align:left!important}#nutrientRequirements .nutrients-table td.col-name{grid-column:1;grid-row:1;font-weight:600;font-size:13px;padding:0 6px 4px 0!important;align-self:center;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#nutrientRequirements .nutrient-name-full{display:none}#nutrientRequirements .nutrient-name-short{display:inline}#nutrientRequirements .nutrients-table td.col-loss{grid-column:1;grid-row:2;text-align:left!important;padding:2px 0 4px!important;align-self:center;width:auto!important;max-width:none!important;min-width:0}#nutrientRequirements .nutrients-table td.col-loss::before{content:none}#nutrientRequirements .nutrients-table td.col-loss .nutrient-loss-tag{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;background:#f4f6f8;border:1px solid #dfe3e8;border-radius:var(--radius);font-size:10px;font-weight:500;line-height:1.35;color:#5c6b7a;white-space:nowrap;max-width:100%}#nutrientRequirements .nutrients-table td.col-loss .nutrient-loss-tag-label{display:inline;color:#8a949e;font-weight:400}#nutrientRequirements .nutrients-table td.col-loss .nutrient-loss-tag-value{font-variant-numeric:tabular-nums;color:#4a5568}#nutrientRequirements .nutrients-table td.col-loss .nutrient-loss-tag.is-zero .nutrient-loss-tag-value{color:#aab2bd}#nutrientRequirements .nutrients-table td.col-provided{grid-column:2;grid-row:1;font-weight:600;font-size:13px;text-align:right!important;padding:0 0 4px 0!important;align-self:center;white-space:nowrap}#nutrientRequirements .nutrients-table td.col-provided .nt-mobile-unit{font-size:11px;font-weight:400;color:var(--text-muted)}#nutrientRequirements .nutrients-table td.col-action{grid-column:2;grid-row:2;display:flex!important;justify-content:flex-end;align-items:center;padding:2px 0 4px!important;text-align:right!important}#nutrientRequirements .nutrients-table td.col-action .btn-balance{padding:2px 5px;font-size:10px;min-height:24px}#nutrientRequirements .nutrients-table td.col-unit{display:none!important}#nutrientRequirements .nutrients-table td.col-nrc-ra-val{grid-column:1/-1;grid-row:3;display:flex!important;justify-content:flex-start;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary);padding:2px 0!important;min-width:0}#nutrientRequirements .nutrients-table td.col-nrc-ra-val::before{content:attr(data-label) '\FF1A';color:var(--text-muted);font-size:11px;flex-shrink:0}#nutrientRequirements .nutrients-table td.col-nrc-ra-val .nrc-ra-abs-val{margin-left:auto}#nutrientRequirements .nutrients-table td.col-nrc-ra-val .nt-mobile-unit{font-size:10px;color:#bbb}#nutrientRequirements .nutrients-table td.col-nrc{grid-column:1/-1;grid-row:4;padding:3px 0!important;text-align:left!important}#nutrientRequirements .nutrients-table td.col-nrc .nrc-progress-wrap{width:100%}#nutrientRequirements .nutrients-table td.col-min,#nutrientRequirements .nutrients-table td.col-nrc-mr{grid-column:1;grid-row:5;font-size:12px;color:var(--text-secondary);padding:2px 0!important;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#nutrientRequirements .nutrients-table td.col-min::before,#nutrientRequirements .nutrients-table td.col-nrc-mr::before{content:'最低 ';color:var(--text-muted);font-size:12px}#nutrientRequirements .nutrients-table td.col-max,#nutrientRequirements .nutrients-table td.col-nrc-sul{grid-column:2;grid-row:5;font-size:12px;color:var(--text-secondary);padding:2px 0!important;text-align:right!important;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#nutrientRequirements .nutrients-table td.col-max::before,#nutrientRequirements .nutrients-table td.col-nrc-sul::before{content:'上限 ';color:var(--text-muted);font-size:12px}}@media (max-width:1200px){.aafco-convert-footer,.balance-modal-actions:not(.nutrient-loss-rate-modal-actions):not(.nutrition-rule-params-modal-actions):not(.bioavail-modal-actions):not(.bioavail-custom-rule-footer),.custom-food-modal-actions,.fd-convert-footer,.fd-save-modal-actions,.food-browse-modal-footer,.food-compare-combine-footer,.food-detail-modal-actions,.gauge-config-modal-actions,.ideal-weight-modal-actions:not(.edit-recipe-modal-actions),.pet-linked-recipes-modal-actions,.recipe-optimize-footer,.scale-to-energy-modal-footer,.svp-pasteur-footer{display:flex;flex-direction:column-reverse;align-items:stretch;gap:8px;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px))}.aafco-convert-footer .aafco-footer-step,.fd-convert-footer .fd-footer-step,.recipe-optimize-footer .ro-footer-step,.svp-pasteur-footer .svp-footer-step{display:flex;flex-direction:column-reverse;align-items:stretch;width:100%;gap:8px}.custom-food-modal-actions-right,.gauge-config-modal-actions-right,.pet-linked-recipes-modal-actions-btns,.scale-to-energy-modal-footer-right{display:flex;flex-direction:column-reverse;align-items:stretch;width:100%;margin:0;gap:8px}#newRecipeModal .scale-to-energy-modal-footer{flex-direction:column}.custom-food-modal-actions-left:empty{display:none}.custom-food-modal-actions-left:not(:empty){display:flex;flex-direction:row;flex-wrap:nowrap;width:100%;gap:8px}.aafco-convert-footer .custom-food-modal-actions-left:not(:empty),.fd-convert-footer .custom-food-modal-actions-left:not(:empty),.svp-pasteur-footer .custom-food-modal-actions-left:not(:empty){flex-direction:column;align-items:stretch}.food-compare-combine-footer .custom-food-modal-actions-left{width:100%;flex-direction:column;align-items:stretch}.pet-profile-edit-actions{flex-direction:column;align-items:stretch}.pet-profile-edit-feeding-days{width:100%}.pet-profile-edit-actions-btns{display:flex;flex-direction:column-reverse;align-items:stretch;width:100%;gap:8px}.pet-linked-recipes-modal-actions{flex-direction:column}.food-detail-modal-actions{flex-direction:column}.food-detail-modal-actions-left{order:2;width:100%}.aafco-convert-footer .custom-food-modal-actions-left .btn,.balance-modal-actions:not(.custom-food-modal-actions):not(.nutrient-loss-rate-modal-actions):not(.nutrition-rule-params-modal-actions):not(.bioavail-modal-actions):not(.bioavail-custom-rule-footer) :is(button,.btn),.btn-about-check-update,.btn-ideal-weight-close,.btn-ste-reset,.cache-manager-btn,.custom-food-modal-actions-left>.btn,.custom-food-modal-actions-right :is(button,.btn),.fd-convert-footer .custom-food-modal-actions-left .btn,.food-browse-modal-footer :is(button,.btn),.food-detail-modal-actions :is(button,.btn),.gauge-config-btn-reset,.ideal-weight-modal-actions :is(button,.btn),.pet-linked-recipes-modal-actions :is(button,.btn),.pet-profile-edit-actions-btns :is(button,.btn),.scale-to-energy-modal-footer :is(button,.btn),.svp-pasteur-footer .custom-food-modal-actions-left .btn{width:100%;min-height:44px;height:auto;display:flex;align-items:center;justify-content:center;box-sizing:border-box;font-size:15px;border-radius:var(--radius)}.custom-food-modal-actions-left .btn{flex:1 1 0;min-width:0;width:auto}.aafco-convert-footer .custom-food-modal-actions-left .btn,.fd-convert-footer .custom-food-modal-actions-left .btn,.svp-pasteur-footer .custom-food-modal-actions-left .btn{flex:none;width:100%}.custom-food-btn-cancel{display:flex;align-items:center;justify-content:center}.cache-manager-actions{flex-direction:column;align-items:stretch;gap:8px;width:100%}.global-settings-panel-actions-cache{flex-direction:column;align-items:stretch;gap:8px}#globalSettingsModal.ideal-weight-modal{align-items:stretch;justify-content:stretch}#globalSettingsModal .global-settings-modal-content{width:100vw!important;max-width:100vw!important;height:100dvh!important;min-height:0!important;max-height:100dvh!important;border-radius:var(--radius)!important;margin:0!important}#globalSettingsModal .ideal-weight-modal-header{flex-shrink:0}#globalSettingsModal .global-settings-modal-body{flex:1;min-height:0;overflow:hidden}#globalSettingsModal .global-settings-layout{display:flex;flex-direction:column;flex:1;min-height:0;height:100%}#globalSettingsModal .global-settings-tabs{flex-shrink:0}#globalSettingsModal .global-settings-panels{flex:1;min-height:0;height:auto;overflow:hidden}#globalSettingsModal .global-settings-panel.active{min-height:0;overflow:hidden}#globalSettingsModal .global-settings-panel-actions{flex-shrink:0;justify-content:stretch;padding:12px 0 calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid #edf0f2;background:#fff}#globalSettingsModal .global-settings-panel-actions .btn-ideal-weight-apply{width:100%;min-height:44px;display:flex;align-items:center;justify-content:center;font-size:15px;box-sizing:border-box}#accountSyncModal.ideal-weight-modal{align-items:stretch;justify-content:stretch}#accountSyncModal .account-sync-modal-content{width:100vw!important;max-width:100vw!important;height:100dvh!important;min-height:0!important;max-height:100dvh!important;border-radius:var(--radius)!important;margin:0!important}#accountSyncModal .account-sync-modal-actions,#accountSyncModal .ideal-weight-modal-header{flex-shrink:0}#accountSyncModal .account-sync-modal-body{flex:1;min-height:0}#accountSyncModal .account-settings-layout{flex-direction:column;gap:16px}#accountSyncModal .account-settings-main{width:auto;flex:none;padding-right:0}#accountSyncModal .account-settings-archive{border-left:none;padding-left:0}#accountSyncModal .account-archive-scroll{max-height:none;flex:1 1 auto;min-height:0;margin-bottom:0}#aboutModal .about-modal-layout{flex-direction:column}#aboutModal .about-modal-main{padding-right:0;width:100%}#aboutModal .about-modal-changelog{width:100%;align-self:stretch;flex:none;max-width:none;max-height:none!important;border-left:none;border-top:1px solid var(--border);padding-left:0;padding-top:16px;margin-top:4px;box-sizing:border-box}#aboutModal .about-modal-changelog .changelog-container{width:100%;flex:none;max-height:220px;box-sizing:border-box}#aboutModal .ideal-weight-modal-actions{flex-direction:column;align-items:stretch;justify-content:flex-start}}@media (min-width:769px) and (max-width:1200px){#nutrientLossRateModal .nutrient-loss-rate-modal-content{width:min(560px,calc(100vw - 32px))!important;max-width:560px!important;height:auto!important;max-height:82vh!important}#nutritionRuleParamsModal .nutrition-rule-params-modal-content{width:min(520px,calc(100vw - 32px))!important;max-width:520px!important;height:auto!important;max-height:82vh!important}#bioavailCustomRuleModal .bioavail-custom-rule-modal-content{width:min(520px,calc(100vw - 32px))!important;max-width:520px!important;height:auto!important;max-height:min(82vh,640px)!important}}@media (max-width:768px){#bioavailCustomRuleModal.balance-modal,#bioavailabilityModal.balance-modal,#foodDetailModal.ideal-weight-modal,#nutrientLossRateModal.balance-modal,#nutritionRuleParamsModal.balance-modal{align-items:stretch;justify-content:stretch}#bioavailCustomRuleModal .bioavail-custom-rule-modal-content,#bioavailabilityModal .bioavail-modal-content,#foodDetailModal .food-detail-modal-content,#nutrientLossRateModal .nutrient-loss-rate-modal-content,#nutritionRuleParamsModal .nutrition-rule-params-modal-content{width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;min-height:0!important;border-radius:var(--radius)!important;margin:0!important;display:flex!important;flex-direction:column!important;overflow:hidden}#foodDetailModal .food-detail-modal-actions,#foodDetailModal .ideal-weight-modal-header{flex-shrink:0}#foodDetailModal .food-detail-modal-body,#nutrientLossRateModal .nutrient-loss-rate-modal-body,#nutritionRuleParamsModal .nutrition-rule-params-modal-body{flex:1!important;min-height:0!important;max-height:none!important}#nutrientLossRateModal .nutrient-loss-rate-modal-body,#nutritionRuleParamsModal .nutrition-rule-params-modal-body{overflow-y:auto!important}#bioavailabilityModal .bioavail-body{display:flex!important;flex-direction:column!important;flex:1!important;min-height:0!important;overflow:hidden!important;padding:0!important}#bioavailabilityModal .balance-modal-header{flex-shrink:0}#bioavailabilityModal .bioavail-layout{flex:1!important;min-height:0!important;max-height:none!important}#bioavailCustomRuleModal .bioavail-custom-rule-body{flex:1!important;min-height:0!important;overflow-y:auto!important}#bioavailCustomRuleModal .bioavail-custom-rule-footer,#bioavailabilityModal .bioavail-modal-actions,#nutrientLossRateModal .nutrient-loss-rate-modal-actions,#nutritionRuleParamsModal .nutrition-rule-params-modal-actions{display:flex;flex-direction:column-reverse;align-items:stretch;flex-shrink:0;gap:8px;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border);background:#fff}#bioavailCustomRuleModal .bioavail-custom-footer-right,#bioavailabilityModal .bioavail-modal-actions-right,#nutrientLossRateModal .nutrient-loss-rate-modal-actions-right,#nutritionRuleParamsModal .nutrition-rule-params-modal-actions-right{display:flex;flex-direction:column-reverse;align-items:stretch;width:100%;margin:0;gap:8px}#bioavailCustomRuleModal .bioavail-custom-footer-step{flex-direction:column-reverse;align-items:stretch;gap:8px;padding:0}#bioavailCustomRuleModal .bioavail-custom-footer-left{display:flex;flex-direction:column-reverse;align-items:stretch;width:100%;gap:8px}#bioavailCustomRuleModal .bioavail-custom-footer-left:empty{display:none}#bioavailCustomRuleModal .bioavail-custom-rule-footer :is(button,.btn),#bioavailabilityModal .bioavail-modal-actions :is(button,.btn),#nutrientLossRateModal .nutrient-loss-rate-modal-actions :is(button,.btn),#nutritionRuleParamsModal .nutrition-rule-params-modal-actions :is(button,.btn){width:100%;min-height:44px;height:auto;display:flex;align-items:center;justify-content:center;box-sizing:border-box;font-size:15px;border-radius:var(--radius)}#editRecipeModal.ideal-weight-modal{align-items:stretch;justify-content:stretch}#editRecipeModal .edit-recipe-modal-content{width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;min-height:0!important;border-radius:var(--radius)!important;margin:0!important;display:flex!important;flex-direction:column!important;overflow:hidden}#editRecipeModal .edit-recipe-modal-actions,#editRecipeModal .ideal-weight-modal-header{flex-shrink:0}#editRecipeModal .edit-recipe-modal-body{flex:1!important;min-height:0!important;max-height:none!important}#editRecipeModal .edit-recipe-meta-row{flex-direction:column;align-items:stretch;gap:12px}#editRecipeModal .edit-recipe-cover-slot{width:88px!important;height:88px!important;flex:0 0 88px!important;align-self:center}#editRecipeModal .edit-recipe-cover-icon{width:22px;height:22px}#editRecipeModal .edit-recipe-description{min-height:64px;flex:none}#editRecipeModal .edit-recipe-stat-cards{flex-wrap:wrap}#editRecipeModal .edit-recipe-stat-cards .edit-recipe-stat-card{flex:1 1 calc(50% - 4px);min-width:120px}#editRecipeModal .edit-recipe-modal-actions{flex-wrap:wrap;gap:10px;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border);background:#fff}#editRecipeModal .edit-recipe-modal-actions-right{margin-left:0;flex:1 1 auto;justify-content:flex-end;min-width:0}#editRecipeModal .edit-recipe-modal-actions-right :is(button,.btn){min-height:44px;min-width:72px}}.nutrition-calc-path-tooltip-host[hidden]{display:none!important;pointer-events:none}.nutrition-calc-path-tooltip-host{position:fixed;z-index:12000;display:flex;flex-direction:column;max-width:min(480px,calc(100vw - 24px));max-height:min(70vh,480px);overflow:hidden;padding:0;pointer-events:auto;box-shadow:0 8px 28px rgba(0,0,0,.18);border-radius:var(--radius);border:1px solid var(--border-strong);background:#fff}.nutrition-calc-path-tooltip{display:flex;flex-direction:column;min-height:0;flex:1;font-size:12px;line-height:1.45;color:#1f2937}.nutrition-calc-path-tooltip .ncp-panel-header{flex-shrink:0;padding:10px 12px 8px;border-bottom:1px solid var(--border);background:#fff}.nutrition-calc-path-tooltip .ncp-panel-body{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:8px 12px 10px;overscroll-behavior:contain}.nutrition-calc-path-tooltip .ncp-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;margin-bottom:4px;padding-right:28px;position:relative}.nutrition-calc-path-tooltip .ncp-close{position:absolute;top:0;right:0;margin:0;padding:0 6px;border:none;background:0 0;color:#64748b;font-size:20px;line-height:1;cursor:pointer;border-radius:var(--radius)}.nutrition-calc-path-tooltip .ncp-close:hover{color:#0f172a;background:#f1f5f9}.nutrition-calc-path-tooltip .ncp-mode-badge{font-size:11px;font-weight:600;color:#0369a1;background:#e0f2fe;border:1px solid #7dd3fc;border-radius:var(--radius);padding:1px 6px;line-height:1.35}.nutrition-calc-path-tooltip .ncp-code{font-family:ui-monospace,Consolas,monospace;font-size:11px;color:#64748b}.nutrition-calc-path-tooltip .ncp-field{font-weight:600;color:#334155;margin:0}.nutrition-calc-path-tooltip .ncp-max-type-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0 0;font-size:11px;color:#64748b;line-height:1.4}.nutrition-calc-path-tooltip .ncp-max-type-label{font-weight:600;color:#475569}.nutrition-calc-path-tooltip .ncp-max-type-text{flex:1 1 auto}.nutrition-calc-path-tooltip .ncp-max-type-line .max-type-badge{margin-left:0;vertical-align:baseline}.nutrition-calc-path-tooltip .ncp-meta-hint{margin:0 0 8px;font-size:11px;color:#64748b;line-height:1.45}.nutrition-calc-path-tooltip .ncp-meta-table{width:100%;border-collapse:collapse;font-size:11px;line-height:1.4;table-layout:fixed}.nutrition-calc-path-tooltip .ncp-meta-table thead th{text-align:left;font-weight:600;color:#475569;background:#f1f5f9;padding:5px 6px;border:1px solid var(--border);white-space:nowrap}.nutrition-calc-path-tooltip .ncp-meta-table tbody th[scope=row]{text-align:left;font-weight:600;color:#1e293b;padding:5px 6px;border:1px solid var(--border);vertical-align:top;width:26%;word-break:break-word}.nutrition-calc-path-tooltip .ncp-meta-table td{padding:5px 6px;border:1px solid var(--border);vertical-align:top;color:#334155;word-break:break-word}.nutrition-calc-path-tooltip .ncp-meta-td-val{width:18%;white-space:nowrap}.nutrition-calc-path-tooltip .ncp-meta-td-unit{width:14%;color:#64748b;white-space:nowrap}.nutrition-calc-path-tooltip .ncp-meta-td-note{width:42%;color:#64748b;font-size:10px;line-height:1.45}.nutrition-calc-path-tooltip .ncp-meta-val{font-weight:600;color:#0f766e;font-variant-numeric:tabular-nums}.nutrition-calc-path-tooltip .ncp-meta-row-display th[scope=row]{color:#0369a1}.nutrition-calc-path-tooltip .ncp-meta-sep td{font-size:10px;font-weight:600;color:#64748b;background:#f8fafc;text-align:center;letter-spacing:.02em;padding:4px 6px;border:1px solid var(--border)}.nutrition-calc-path-tooltip .ncp-section{margin-top:8px}.nutrition-calc-path-tooltip .ncp-section-title{font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:#64748b;margin-bottom:4px}.nutrition-calc-path-tooltip .ncp-section.ncp-warn .ncp-section-title{color:#b45309}.nutrition-calc-path-tooltip .ncp-pre{margin:0;white-space:pre-wrap;word-break:break-word;font-family:ui-monospace,Consolas,'Microsoft YaHei UI',sans-serif;font-size:11px;line-height:1.5;color:#374151}.nutrition-calc-path-tooltip .ncp-muted{color:#64748b;margin:0}.nutrition-calc-path-tooltip .ncp-timeline{--ncp-rail-x:11px;margin:0;padding:0;list-style:none;position:relative}.nutrition-calc-path-tooltip .ncp-timeline::before{content:'';position:absolute;left:var(--ncp-rail-x);top:8px;bottom:8px;width:2px;transform:translateX(-50%);background:var(--border)}.nutrition-calc-path-tooltip .ncp-step{position:relative;padding:6px 0 6px 26px;margin:0}.nutrition-calc-path-tooltip .ncp-step::before{content:'';position:absolute;left:calc(var(--ncp-rail-x) - 6px);top:calc(6px + 9px);width:8px;height:8px;transform:translateY(-50%);border-radius:50%;background:#4a90e2;border:2px solid #fff;box-shadow:0 0 0 1px #cbd5e1;box-sizing:content-box}.nutrition-calc-path-tooltip .ncp-step.ncp-step-skipped::before{background:#cbd5e1;box-shadow:0 0 0 1px var(--border)}.nutrition-calc-path-tooltip .ncp-step-status{margin-left:6px;font-size:10px;font-weight:600;padding:1px 5px;border-radius:var(--radius);vertical-align:middle}.nutrition-calc-path-tooltip .ncp-step-status-skipped{color:#64748b;background:#f1f5f9}.nutrition-calc-path-tooltip .ncp-step-status-alt{color:#b45309;background:#fffbeb}.nutrition-calc-path-tooltip .ncp-step.ncp-step-skipped .ncp-step-detail,.nutrition-calc-path-tooltip .ncp-step.ncp-step-skipped .ncp-step-formula,.nutrition-calc-path-tooltip .ncp-step.ncp-step-skipped .ncp-step-title{color:#94a3b8}.nutrition-calc-path-tooltip .ncp-step.ncp-step-skipped .ncp-val-after,.nutrition-calc-path-tooltip .ncp-step.ncp-step-skipped .ncp-val-before{color:#94a3b8}.nutrition-calc-path-tooltip .ncp-step-head{display:flex;align-items:baseline;gap:6px}.nutrition-calc-path-tooltip .ncp-step-n{flex-shrink:0;width:18px;height:18px;line-height:18px;text-align:center;font-size:10px;font-weight:700;color:#fff;background:#64748b;border-radius:50%}.nutrition-calc-path-tooltip .ncp-step-title{font-weight:600;color:#1e293b}.nutrition-calc-path-tooltip .ncp-step-formula{margin-top:3px;font-family:ui-monospace,Consolas,'Microsoft YaHei UI',sans-serif;font-size:11px;color:#0f766e;word-break:break-word}.nutrition-calc-path-tooltip .ncp-step-detail{margin-top:2px;font-size:11px;color:#64748b;white-space:pre-line}.nutrition-calc-path-tooltip .ncp-step-values{margin-top:3px;font-family:ui-monospace,Consolas,monospace;font-size:11px}.nutrition-calc-path-tooltip .ncp-val-before{color:#94a3b8;text-decoration:line-through}.nutrition-calc-path-tooltip .ncp-arrow{color:#64748b}.nutrition-calc-path-tooltip .ncp-val-after{font-weight:700;color:#1d4ed8}.nutrition-calc-path-tooltip .ncp-unit{color:#64748b;font-weight:400}.nutrition-calc-path-tooltip .ncp-rule{margin-top:4px;padding:4px 6px;background:#f8fafc;border-radius:var(--radius);border-left:3px solid #94a3b8;font-size:11px}.nutrition-calc-path-tooltip .ncp-rule-id{font-family:ui-monospace,Consolas,monospace;color:#475569}.nutrition-calc-path-tooltip .ncp-rule-zh{font-weight:600;color:#334155}.nutrition-calc-path-tooltip .ncp-rule-desc{margin-top:2px;color:#64748b}.nutrition-calc-path-tooltip .ncp-stage-list,.nutrition-calc-path-tooltip .ncp-warn-list{margin:0;padding-left:18px;font-size:11px}#nutrientRequirements .calc-path-hover-cell[data-calc-path-field],.gauges-wrapper .calc-path-hover-cell[data-calc-path-field]{cursor:pointer}#nutrientRequirements.calc-path-active .calc-path-hover-cell[data-calc-path-field]:hover,.gauges-wrapper.calc-path-active .calc-path-hover-cell[data-calc-path-field]:hover{background-color:rgba(74,144,226,.06)}.gauges-wrapper.calc-path-active .gauge.calc-path-hover-cell[data-calc-path-field=gauge_standards]:hover{box-shadow:inset 0 0 0 2px rgba(74,144,226,.28)}.ncp-timeline .ncp-step-section{list-style:none;margin:10px 0 4px;padding:0}.ncp-timeline .ncp-step-section .ncp-section-title{font-size:11px;font-weight:600;color:var(--text-secondary,#64748b);letter-spacing:.02em}#nutrientRequirements .calc-path-hover-cell.ncp-source-active,.gauges-wrapper .calc-path-hover-cell.ncp-source-active{background-color:rgba(74,144,226,.12);outline:1px solid rgba(74,144,226,.35);outline-offset:-1px}.calc-path-mismatch-icon{display:inline-block;margin-right:3px;color:#d97706;font-size:12px;line-height:1;vertical-align:middle;cursor:help;font-weight:700}.gauges-wrapper .calc-path-mismatch-icon{margin-right:4px}@media (min-width:769px) and (max-width:1200px){.feeding-plan-overlay{padding:0;align-items:stretch;justify-content:stretch}.feeding-plan-panel,.feeding-plan-panel.is-editor-mode{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;min-height:0;border:none;border-radius:var(--radius);box-shadow:none}#recipeOptimizeModal.balance-modal{align-items:stretch;justify-content:stretch}.recipe-optimize-modal-content{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;min-height:0;border-radius:var(--radius)}.pet-profile-energy .energy-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.pet-profile-card-body{grid-template-columns:minmax(0,60fr) minmax(0,40fr);gap:12px 16px;align-items:stretch}.pet-profile-identity{grid-column:1;grid-row:1}.pet-profile-plan-summary{grid-column:2;grid-row:1}.pet-profile-energy{grid-column:1/-1;grid-row:2;border-bottom:none;padding-bottom:0}.pet-profile-identity-actions{position:static}.food-input-chart-row{display:grid;grid-template-columns:280px minmax(0,1fr);gap:12px;align-items:stretch;margin-bottom:15px}.food-input-chart-row .food-input-row{margin-bottom:0}.food-pie-chart-tablet-anchor:not(:empty){display:flex;flex-direction:column;min-height:0}.food-pie-chart-tablet-anchor .food-pie-chart-wrapper{flex:1;width:100%;height:100%;min-height:0;max-height:none;order:unset;display:flex;flex-direction:column}.food-pie-chart-tablet-anchor .food-pie-chart-container{flex:1;min-height:0;height:auto}.food-pie-chart-tablet-anchor #foodPieChart{flex:1;min-height:0}.food-recipe-content{grid-template-rows:auto auto;gap:0}.food-recipe-content .food-list-stats{padding-top:0}.nutrient-standards-macro-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0}.nutrient-standards-macro-row>*{min-width:0}.nutrient-standards-macro-row .nutrient-macro-bars{display:flex;flex-direction:column;height:100%;min-height:0;margin-top:0}.nutrient-standards-macro-row .macro-dm-proximate-cards{flex:1;min-height:0;grid-template-rows:1fr;margin-bottom:6px}.nutrient-standards-macro-row .macro-dm-proximate-card{height:100%;justify-content:center}.nutrient-standards-macro-row .standards-card-hint{display:none}.nutrient-left-column .gauges-wrapper.visible{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}}@media (max-width:768px){.edge-dock-rail{display:none!important}.header-right>:not(.header-menu-wrap){display:none!important}.header-menu-wrap{display:block}.header-menu-dropdown.open{width:max-content;min-width:180px;max-width:min(280px,calc(100vw - 24px));z-index:1200}.header-menu-dropdown.open.header-menu-dropdown--from-bottom,.header-menu-wrap .header-menu-dropdown.open:not(.header-menu-dropdown--from-bottom){left:auto}.header-menu-wrap .header-menu-dropdown.open:not(.header-menu-dropdown--from-bottom){position:absolute;right:0;top:calc(100% + 6px);bottom:auto}.header-menu-dropdown.open.header-menu-dropdown--from-bottom{position:fixed;right:12px;bottom:calc(52px + env(safe-area-inset-bottom,0px) + 8px);top:auto}header{margin-bottom:6px}.header-right{padding-right:0;gap:0}.mobile-bottom-nav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:1100;align-items:stretch;background:#fff;border-top:1px solid var(--border);box-shadow:0 -2px 10px rgba(0,0,0,.06);padding-bottom:env(safe-area-inset-bottom,0)}.mobile-bottom-nav-btn{flex:1 1 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;min-height:56px;padding:7px 4px;border:none;background:0 0;color:var(--text-secondary);cursor:pointer;-webkit-tap-highlight-color:transparent}.mobile-bottom-nav-btn--active{color:var(--accent-hover);background:#f5faff}.mobile-bottom-nav-svg{width:20px;height:20px;flex-shrink:0}.mobile-bottom-nav-label{font-size:11px;line-height:1.2;white-space:nowrap}body{padding-bottom:calc(20px + 56px + env(safe-area-inset-bottom,0px))}#section-food-list,#section-nutrition-analysis,#section-pet-profile{scroll-margin-bottom:calc(52px + env(safe-area-inset-bottom,0px))}.nutrient-left-column .gauges-wrapper.visible{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.pet-profile-energy .energy-summary{grid-template-columns:repeat(2,1fr)}.container .food-list-card-title{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title actions" "cards cards";gap:6px}.container .food-list-title-text{grid-area:title;min-width:0}.container .food-list-action-btns{grid-area:actions;justify-self:end}.container .food-list-card-controls{grid-area:cards}.container .food-list-input-toolbar{display:block;width:100%}.container #currentRecipeCard{width:100%;max-width:none}.food-stacked-chart-header-right{display:none!important}.feeding-plan-overlay{padding:0;align-items:stretch;justify-content:stretch}.feeding-plan-panel{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;min-height:0;border:none;border-radius:var(--radius)}.feeding-plan-panel.is-editor-mode{width:100vw;max-width:100vw}.feeding-plan-header{align-items:center;flex-direction:row;flex-wrap:wrap;gap:8px;padding:10px 12px}.feeding-plan-header-left{flex:1 1 auto;min-width:0}.feeding-plan-header-actions{flex:0 0 auto}.feeding-plan-close{width:44px;height:44px;font-size:24px}.feeding-plan-back-btn{width:44px;height:44px}.feeding-plan-body{display:flex;flex-direction:column;overflow:hidden;min-height:0}.feeding-plan-manager-view{grid-template-columns:1fr!important;grid-template-rows:minmax(0,1fr)!important}.feeding-plan-manager-view[data-fp-mobile-pane=list] .feeding-plan-manager-detail-pane{display:none!important}.feeding-plan-manager-view[data-fp-mobile-pane=detail] .feeding-plan-manager-list-pane{display:none!important}.feeding-plan-manager-list-pane{border-right:none;border-bottom:none;min-height:0}.feeding-plan-manager-head{padding:8px 10px}.feeding-plan-manager-filter-row{gap:6px}.feeding-plan-manager-create-btn{width:40px;height:40px;flex-shrink:0}.feeding-plan-list{display:grid;grid-template-columns:1fr;gap:8px;overflow-x:hidden;overflow-y:auto;padding:8px 10px 10px;-webkit-overflow-scrolling:touch}.feeding-plan-list-item{margin-bottom:0;min-height:44px}.feeding-plan-manager-detail{padding:12px;display:flex;flex-direction:column;overflow-y:auto;-webkit-overflow-scrolling:touch;min-height:0}.feeding-plan-manager-detail-head{align-items:stretch;flex-direction:column;gap:10px}.feeding-plan-manager-detail-actions{justify-content:flex-start;flex-wrap:wrap;gap:6px}.feeding-plan-manager-action-btn{min-height:36px}.feeding-plan-manager-detail-grid{grid-template-columns:1fr;flex:none;min-height:auto;gap:12px}.feeding-plan-manager-totals-row{grid-template-columns:1fr}.feeding-plan-manager-food-list,.feeding-plan-manager-nutrition{min-height:clamp(160px,28vh,280px)}.feeding-plan-editor-root{overflow:hidden;padding:10px 12px;min-height:0}.feeding-plan-wizard{min-height:0}.feeding-plan-wizard-pages{overflow-y:auto;display:flex;flex-direction:column;min-height:0;-webkit-overflow-scrolling:touch}.feeding-plan-wizard-page{min-height:min-content}.feeding-plan-page-grid-setup{grid-template-columns:1fr;height:auto;gap:10px}.feeding-plan-inventory-nutrition-step,.feeding-plan-inventory-preview-step,.feeding-plan-setup-column{height:auto;overflow:visible}.feeding-plan-setup-column>.feeding-plan-recipe-step{min-height:0;max-height:none}.feeding-plan-setup-column .feeding-plan-recipe-picker{max-height:42vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.feeding-plan-inventory-nutrition-step .feeding-plan-editor-nutrition,.feeding-plan-inventory-preview-step .feeding-plan-editor-inventory-list{max-height:36vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.feeding-plan-step-head{align-items:stretch;flex-direction:column;gap:8px}.feeding-plan-recipe-picker{grid-template-columns:1fr}.feeding-plan-recipe-option{grid-template-columns:1fr}.feeding-plan-assignment-mobile-tabs{display:block;flex:0 0 auto;padding:0 0 8px}.feeding-plan-assignment-mobile-tabs .nutrition-display-mode-toggle{width:100%}.feeding-plan-assignment-mobile-tabs .nutrition-display-mode-toggle .ndm-btn{flex:1 1 0;min-width:0;height:36px;font-size:13px}.feeding-plan-wizard-page[data-page="2"]{display:flex;flex-direction:column;min-height:0}.feeding-plan-assignment-workbench{grid-template-columns:1fr;flex:1;min-height:0;height:auto;gap:0}.feeding-plan-assignment-workbench[data-fp-assign-pane=assign] .feeding-plan-date-column,.feeding-plan-assignment-workbench[data-fp-assign-pane=assign] .feeding-plan-remaining-column,.feeding-plan-assignment-workbench[data-fp-assign-pane=dates] .feeding-plan-preview-column,.feeding-plan-assignment-workbench[data-fp-assign-pane=dates] .feeding-plan-remaining-column,.feeding-plan-assignment-workbench[data-fp-assign-pane=stock] .feeding-plan-date-column,.feeding-plan-assignment-workbench[data-fp-assign-pane=stock] .feeding-plan-preview-column{display:none!important}.feeding-plan-assignment-column{min-height:0;display:flex;flex-direction:column;overflow:hidden}.feeding-plan-daily-preview,.feeding-plan-date-board,.feeding-plan-preview-column-body,.feeding-plan-remaining-list{flex:1;min-height:0;max-height:none;overflow-y:auto;-webkit-overflow-scrolling:touch}.feeding-plan-date-board{display:flex;flex-direction:column}.feeding-plan-assignment-row-actions{display:flex;gap:6px;flex-wrap:wrap}.feeding-plan-wizard-footer{flex-direction:column;align-items:stretch;gap:10px;padding:10px 0 0}.feeding-plan-wizard-footer-actions,.feeding-plan-wizard-footer-leading{width:100%;justify-content:stretch;flex-wrap:wrap;gap:8px}.feeding-plan-wizard-footer-leading{margin-right:0}.feeding-plan-wizard-footer-actions{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}.feeding-plan-auto-equal-split-filter{grid-column:1/-1;height:auto;min-height:36px;padding:4px 0}.feeding-plan-wizard-footer .feeding-plan-btn{min-height:44px;flex:1 1 auto}.feeding-plan-wizard-footer-actions #feedingPlanWizardSave:not([style*="display: none"]),.feeding-plan-wizard-footer-actions .feeding-plan-btn-primary:last-child{grid-column:1/-1}.feeding-plan-amount-modal{padding:0;align-items:stretch}.feeding-plan-amount-modal-card{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:var(--radius);display:flex;flex-direction:column}.feeding-plan-amount-modal-head{flex-shrink:0;padding:12px 14px}.feeding-plan-amount-body{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.feeding-plan-amount-actions{flex-shrink:0;flex-direction:column;align-items:stretch;gap:8px;padding:12px}.feeding-plan-amount-actions-left,.feeding-plan-amount-actions-right{width:100%;justify-content:stretch}.feeding-plan-amount-actions .feeding-plan-btn{flex:1 1 auto;min-height:44px}}.edge-dock-btn--cloud .edge-cloud-icon{position:relative;display:inline-flex;width:22px;height:22px;align-items:center;justify-content:center}.edge-dock-btn--cloud .edge-cloud-svg{width:20px;height:20px;display:none}.edge-dock-btn--cloud .edge-cloud-svg.is-active{display:block}.edge-dock-btn--cloud{color:var(--text-secondary)}.edge-dock-btn--cloud[data-sync-state=unsynced]{color:var(--text-secondary)}.edge-dock-btn--cloud[data-sync-state=uploading]{color:#2563eb}.edge-dock-btn--cloud[data-sync-state=uploading] .edge-cloud-upload-arrow{transform-box:fill-box;transform-origin:center bottom;animation:edge-cloud-upload-arrow 1.1s ease-in-out infinite}@keyframes edge-cloud-upload-arrow{0%{transform:translateY(2px);opacity:.35}45%{transform:translateY(-3px);opacity:1}100%{transform:translateY(-7px);opacity:0}}.edge-dock-btn--cloud[data-sync-state=synced]{color:#16a34a}.edge-dock-btn--cloud[data-sync-state=error]{color:#dc2626}.cloud-sync-decision-message{margin:4px 0 0;font-size:14px;line-height:1.55;color:var(--text-secondary)}#authLoginModal.ideal-weight-modal,#changePhoneModal.ideal-weight-modal{z-index:10050}.auth-login-modal-content{max-width:420px}.auth-first-login-modal-content{max-width:440px}.auth-first-login-modal-body{padding:18px 20px 8px}.auth-first-login-lead{margin:0 0 12px;font-size:14px;line-height:1.55;color:#24292f}.auth-first-login-summary{margin:0 0 14px;padding:10px 14px;list-style:none;border:1px solid var(--border-strong);background:#f6f8fa;font-size:13px;line-height:1.5;color:#57606a}.auth-first-login-summary:empty{display:none}.auth-first-login-summary li{margin:0;padding:2px 0}.auth-first-login-hint{margin:0}.auth-first-login-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px}.auth-first-login-actions .btn-ideal-weight-apply,.auth-first-login-actions .btn-ideal-weight-close{width:100%;margin:0;box-sizing:border-box}.auth-first-login-actions .btn-ideal-weight-apply:disabled,.auth-first-login-actions .btn-ideal-weight-close:disabled{opacity:.65;cursor:not-allowed}.account-sync-modal-content{max-width:640px;width:min(640px,calc(100vw - 32px));--account-sync-modal-height:min(78vh, 660px);height:var(--account-sync-modal-height);min-height:var(--account-sync-modal-height);max-height:var(--account-sync-modal-height);display:flex;flex-direction:column}.account-sync-modal-body{padding:18px 20px;overflow:hidden;display:flex;flex-direction:column;flex:1;min-height:0}.account-sync-modal-actions{flex-shrink:0}.account-settings-layout{display:flex;flex-direction:column;gap:16px;flex:1;min-height:0}.account-settings-main{flex-shrink:0;min-width:0}.account-settings-archive{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;min-width:0}.account-settings-archive-title{flex-shrink:0;margin:0 0 10px;font-size:13px;font-weight:600;color:var(--text)}.account-settings-archive .account-archive-scroll{flex:1 1 auto;min-height:0;margin-top:0;margin-bottom:0}@media (min-width:769px){.account-sync-modal-content{max-width:920px;width:min(920px,calc(100vw - 48px));--account-sync-modal-height:min(78vh, 680px)}.account-settings-layout{flex-direction:row;align-items:stretch;gap:0}.account-settings-main{flex:0 0 300px;width:300px;padding-right:20px;display:flex;flex-direction:column}#accountSyncModal .account-settings-main .account-settings-profile{margin:0;flex:1 1 auto;justify-content:center;padding:12px 14px 56px}.account-settings-archive{flex:1 1 auto;border-left:1px solid var(--border);padding-left:20px}.account-settings-archive .account-archive-scroll{max-height:none}}.account-archive-commit{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px}.account-archive-note{flex:1 1 160px;min-width:140px;height:34px;border:1px solid var(--border-strong);border-radius:var(--radius);padding:0 10px;font-size:13px;background:#fff}.account-archive-status{margin:0 0 8px;font-size:12px;color:#656d76}.account-archive-status:empty{display:none}.account-archive-status[data-state=conflict],.account-archive-status[data-state=pending]{color:#0969da}.account-archive-status[data-state=error]{color:#cf222e}.account-archive-status[data-state=synced]{color:#1a7f37}.account-archive-scroll{margin-top:0;margin-bottom:16px;max-height:min(42vh,360px);overflow-x:hidden;overflow-y:auto;border:none;background:0 0;padding:0;-webkit-overflow-scrolling:touch}.account-archive-timeline{margin-top:0;min-height:48px}.account-archive-scroll:has(.account-archive-empty){display:flex;flex-direction:column}.account-archive-timeline:has(> .account-archive-empty){display:flex;flex-direction:column;flex:1 1 auto;min-height:0;height:100%}.account-archive-empty{flex:1 1 auto;display:flex;align-items:center;justify-content:center;transform:translateY(-28px);padding:20px 12px;text-align:center;color:#8c959f;font-size:13px;border:none;border-radius:var(--radius);background:0 0}.gh-commit-list{list-style:none;margin:0;padding:0;border:none;background:0 0;overflow:visible}.gh-commit-item{display:grid;grid-template-columns:16px minmax(0,1fr);column-gap:14px;position:relative;padding:0 0 20px;overflow:visible}.gh-commit-item.is-last{padding-bottom:0}.gh-commit-item:not(.is-last)::before{content:'';position:absolute;left:7px;top:10px;bottom:-10px;width:2px;background:var(--border-strong);z-index:0;pointer-events:none}.gh-commit-rail{position:relative;z-index:1;width:16px;height:20px;display:flex;justify-content:center;align-items:flex-start;padding-top:5px;box-sizing:border-box}.gh-commit-dot{width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid #8c959f;box-sizing:border-box;flex-shrink:0}.gh-commit-dot.is-head{border-color:#1a7f37;background:#fff}.gh-commit-main{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.gh-commit-text{min-width:0;flex:1}.gh-commit-message{font-size:13px;font-weight:400;color:#1f2328;line-height:1.9}.gh-commit-message-text{word-break:break-word}.gh-commit-tag{display:inline-flex;align-items:center;padding:0 6px;margin:0 4px;border-radius:var(--radius);background:#f0f1f3;border:1px solid #e2e4e8;color:#3a3f45;font-size:12px;line-height:18px;white-space:nowrap}.gh-commit-kind{display:inline-flex;align-items:center;padding:0 5px;height:16px;border-radius:var(--radius);font-size:11px;font-weight:500;line-height:1;white-space:nowrap;color:var(--accent);background:#eef6fc}.gh-commit-kind[data-kind=auto],.gh-commit-kind[data-kind=timed]{color:var(--accent);background:#eef6fc}.gh-commit-kind[data-kind=manual]{color:#b45309;background:#fdf3e7}.gh-commit-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;margin-top:2px;font-size:12px;color:#656d76;line-height:1.4;min-height:20px}.gh-commit-meta-divider{width:1px;height:10px;background:var(--border-strong);flex-shrink:0}.gh-commit-latest{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;color:#1a7f37}.gh-commit-actions{display:flex;flex-shrink:0;gap:8px;margin-top:0;align-items:center}.gh-commit-btn{appearance:none;border:1px solid var(--border-strong);background:#f6f8fa;color:#24292f;border-radius:var(--radius);padding:4px 10px;font-size:12px;cursor:pointer;white-space:nowrap}.gh-commit-btn:hover{background:#eaeef2}.gh-commit-btn-danger{color:#cf222e;border-color:var(--border-strong);background:#fff}.gh-commit-btn-danger:hover{background:#ffebe9;border-color:#ff8182}@media (max-width:720px){.gh-commit-main{flex-direction:column;align-items:stretch;gap:8px}.gh-commit-actions{justify-content:flex-end}}.auth-login-modal-body{padding:16px 20px}.auth-agree-row{display:flex;align-items:flex-start;flex-wrap:wrap;gap:6px 4px;margin:14px 0 0;font-size:13px;line-height:1.45;color:var(--text-secondary,#555);user-select:none}.auth-agree-row input[type=checkbox]{margin:2px 4px 0 0;flex-shrink:0;width:15px;height:15px;accent-color:var(--accent,#3498db);cursor:pointer}.auth-agree-row label{cursor:pointer}.auth-agree-row a{color:var(--accent,#3498db);text-decoration:none;margin-left:2px}.auth-agree-row a:hover{text-decoration:underline}.auth-agree-row.is-attention{color:#c0392b;animation:auth-agree-shake .35s ease}@keyframes auth-agree-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}.auth-tabs{display:flex;gap:8px;margin-bottom:16px}.auth-tab{border:none;background:0 0;padding:8px 12px;font-size:14px;color:var(--text-muted);cursor:pointer;border-bottom:2px solid transparent;border-radius:0}.auth-tab.is-active{color:var(--accent);border-bottom-color:var(--accent)}.auth-tab.is-disabled,.auth-tab[aria-disabled=true]{opacity:.45;cursor:not-allowed;color:#95a5a6}.auth-tab.is-disabled.is-active,.auth-tab[aria-disabled=true].is-active{color:#95a5a6;border-bottom-color:#dce1e6}.auth-field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;font-size:13px;color:var(--text-secondary)}.auth-field input{height:40px;box-sizing:border-box;border:1px solid #dce1e6;border-radius:var(--radius);padding:0 12px;font-size:14px}.auth-code-row{display:flex;align-items:stretch;gap:8px}.auth-code-row input{flex:1;min-width:0;height:40px}.auth-code-row .auth-sms-send-btn{white-space:nowrap;height:40px;box-sizing:border-box;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;background:0 0;color:var(--accent);border:1px solid var(--accent);border-radius:var(--radius);cursor:pointer;font-size:13px}.auth-code-row .auth-sms-send-btn:hover:not(:disabled){background:rgba(52,152,219,.1);color:var(--accent-hover);border-color:var(--accent-hover)}.auth-code-row .auth-sms-send-btn:disabled{opacity:.55;cursor:not-allowed;color:#95a5a6;border-color:#dce1e6;background:0 0}.auth-error{min-height:18px;margin:0 0 8px;color:#c0392b;font-size:13px}.auth-hint{margin:8px 0 0;font-size:12px;color:#95a5a6;line-height:1.45}.auth-wechat-wrap{position:relative;display:flex;justify-content:center;align-items:center;width:100%;height:248px;min-height:248px;margin:8px 0 32px;box-sizing:border-box}.auth-wechat-qr{width:220px;height:220px;flex-shrink:0;overflow:hidden}.auth-wechat-qr iframe{border:0!important;display:block;width:220px!important;height:220px!important;margin:0 auto}.auth-wechat-status{position:absolute;inset:0;z-index:2;display:none;align-items:center;justify-content:center;padding:16px;text-align:center;font-size:14px;line-height:1.5;color:var(--text-secondary,#555);background:#fff}.auth-wechat-wrap[data-phase=error] .auth-wechat-status,.auth-wechat-wrap[data-phase=pending] .auth-wechat-status{display:flex}.auth-wechat-loading{position:absolute;inset:0;z-index:3;display:none;align-items:center;justify-content:center;background:#fff}.auth-wechat-wrap[data-phase=loading] .auth-wechat-loading{display:flex}.auth-wechat-spinner{width:26px;height:26px;border:3px solid #e2e4e8;border-top-color:var(--accent,#3498db);border-radius:50%;animation:auth-wechat-spin .8s linear infinite}@keyframes auth-wechat-spin{to{transform:rotate(360deg)}}.auth-wechat-refresh{position:absolute;top:50%;left:50%;z-index:4;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;border:0;background:rgba(0,0,0,.55);color:#fff;display:none;align-items:center;justify-content:center;cursor:pointer;padding:0}.auth-wechat-wrap[data-phase=error] .auth-wechat-refresh{display:inline-flex}.auth-wechat-refresh:hover{background:rgba(0,0,0,.72)}.account-settings-profile{display:flex;flex-direction:column;gap:0;margin:12px 0 4px;padding:12px 14px;background:var(--bg-subtle);border:1px solid var(--border)}.account-settings-avatar-row{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;margin-bottom:6px;padding-bottom:10px}.account-avatar{position:relative;width:64px;height:64px;flex-shrink:0;padding:0;border:1px solid var(--border);border-radius:50%;overflow:hidden;background:var(--bg-surface);color:var(--text-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.account-avatar-img{width:100%;height:100%;object-fit:cover;display:block}.account-avatar-placeholder{width:30px;height:30px}.account-avatar-hover{position:absolute;left:0;right:0;bottom:0;padding:3px 0;font-size:11px;text-align:center;color:#fff;background:rgba(0,0,0,.45);opacity:0;transition:opacity .15s ease}.account-avatar:hover .account-avatar-hover{opacity:1}.account-avatar-remove{appearance:none;border:none;background:0 0;color:var(--text-muted);font-size:12px;cursor:pointer;padding:4px 6px}.account-avatar-remove:hover{color:var(--danger)}.account-uid-value{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;word-break:break-all;text-align:right}.header-account-avatar{width:20px;height:20px;border-radius:50%;object-fit:cover;display:block}.account-settings-profile-row{position:relative;display:flex;justify-content:space-between;gap:12px;padding:10px 0;font-size:13px;color:var(--text-secondary)}.account-settings-profile-row+.account-settings-profile-row::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:var(--border)}.account-settings-profile-row strong{color:var(--text);font-weight:600}.account-settings-profile-value{display:inline-flex;align-items:center;gap:6px;min-width:0}.account-link-btn{appearance:none;border:none;background:0 0;color:var(--accent,#3498db);padding:0 2px;margin:0;font-size:13px;cursor:pointer}.account-link-btn:hover{text-decoration:underline}.account-nickname-edit-btn{appearance:none;border:none;background:0 0;color:var(--text-muted);padding:2px;margin:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;line-height:0}.account-nickname-edit-btn:hover{color:var(--accent)}.account-nickname-edit-btn.is-disabled,.account-nickname-edit-btn[aria-disabled=true]{opacity:.4;cursor:not-allowed;color:#95a5a6}.account-nickname-edit-btn.is-disabled:hover,.account-nickname-edit-btn[aria-disabled=true]:hover{color:#95a5a6}.account-sync-status[data-status=synced]{color:#27ae60}.account-sync-status[data-status=downloading],.account-sync-status[data-status=pending],.account-sync-status[data-status=uploading]{color:#f39c12}.account-sync-status[data-status=pending][data-reason=countdown]{color:var(--accent)}.account-sync-status[data-status=conflict],.account-sync-status[data-status=error],.account-sync-status[data-status=offline]{color:#c0392b}.account-settings-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.account-settings-actions .btn-ideal-weight-apply,.account-settings-actions .cache-manager-btn{margin:0;width:auto;min-width:120px}.account-migrate-banner{margin-top:16px;padding:14px;border:1px solid #f0e0b2;background:#fffaf0}.account-migrate-actions{flex-direction:column;align-items:stretch}.account-migrate-actions .btn-ideal-weight-apply,.account-migrate-actions .cache-manager-btn{width:100%}.auth-visibility-row{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:12px;color:#95a5a6}.auth-visibility-row select:disabled{opacity:.7}