@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";
:root{--bg-page:#faf8f5;--bg-white:#fff;--bg-sidebar:#f5f3f0;--accent-coral:#e8734a;--accent-coral-hover:#d4613a;--accent-orange:#f5a623;--text-primary:#2d2d2d;--text-secondary:#6b6b6b;--text-muted:#9b9b9b;--border:#e8e4df;--threshold-ok:#4caf50;--threshold-ok-bg:#4caf501f;--threshold-warning:#f5a623;--threshold-warning-bg:#f5a6231f;--threshold-danger:#e85d4a;--threshold-danger-bg:#e85d4a1f;--nav-height:60px}body,input,button,select{color:var(--text-primary);letter-spacing:-.01em;font-family:Inter,sans-serif;font-size:14px}body{background:var(--bg-page);font-variant-numeric:tabular-nums;margin:0}*{box-sizing:border-box}.site-nav{height:var(--nav-height);background:var(--bg-white);border-bottom:1px solid var(--border);z-index:100;align-items:center;gap:24px;padding:0 32px;display:flex;position:sticky;top:0}.nav-brand{color:var(--accent-coral);align-items:center;gap:6px;margin-right:16px;font-size:20px;font-weight:700;text-decoration:none;display:inline-flex}.nav-links{gap:8px;display:flex}.nav-link{color:var(--text-primary);border-radius:20px;padding:8px 16px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s}.nav-link:hover{background:var(--bg-sidebar)}.nav-active{background:var(--accent-coral);color:#fff}.nav-active:hover{background:var(--accent-coral-hover);color:#fff}.calculator-grid{grid-template-columns:1fr 340px;gap:32px;max-width:1400px;margin:0 auto;padding:24px 32px;display:grid}.calculator-main{min-width:0}.page-title{margin:0 0 4px;font-size:28px;font-weight:700}.title-icon{vertical-align:middle;color:var(--accent-coral)}.page-subtitle{color:var(--text-secondary);margin:0 0 24px;font-size:16px}.recipe-management{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:0 0 20px;display:flex}.recipe-controls-left,.recipe-controls-right{align-items:center;gap:8px;display:flex}.btn{cursor:pointer;white-space:nowrap;border:none;border-radius:8px;align-items:center;gap:6px;padding:10px 20px;font-family:Inter,sans-serif;font-size:14px;font-weight:500;transition:all .2s;display:inline-flex}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-outlined{border:1px solid var(--border);color:var(--text-primary);background:0 0}.btn-outlined:hover:not(:disabled){background:var(--bg-sidebar);border-color:var(--text-muted)}.btn-coral{background:var(--accent-coral);color:#fff}.btn-coral:hover:not(:disabled){background:var(--accent-coral-hover)}.btn-text{color:var(--text-secondary);background:0 0;border:none;padding:10px 12px}.btn-text:hover:not(:disabled){color:var(--text-primary);background:var(--bg-sidebar)}.btn-danger{background:var(--threshold-danger);color:#fff}.btn-danger:hover:not(:disabled){opacity:.9}.btn-small{padding:6px 12px;font-size:12px}.recipe-title-section{align-items:center;gap:12px;margin-bottom:16px;display:flex}.recipe-title{margin:0;font-size:22px;font-weight:700}.recipe-subtitle{color:var(--text-muted);margin:4px 0 0;font-size:14px}.unsaved-badge{background:var(--accent-orange);color:#fff;text-transform:uppercase;letter-spacing:1px;white-space:nowrap;border-radius:12px;padding:4px 12px;font-size:11px;font-weight:700}.table{border-collapse:separate;border-spacing:0;width:100%}.thead th{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);text-align:center;border-bottom:1px solid var(--border);cursor:default;padding:10px 8px;font-size:11px;font-weight:600;position:relative}.tooltip-wrapper{align-items:center;display:inline-flex;position:relative}.tooltip{background:var(--text-secondary);color:#fff;text-transform:none;letter-spacing:0;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;z-index:10;border-radius:6px;padding:5px 10px;font-size:11px;font-weight:400;transition:opacity .15s .4s,transform .15s .4s,visibility .15s .4s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)translateY(4px)}.tooltip:after{content:"";width:100%;height:8px;position:absolute;top:100%;left:0}.tooltip a{color:var(--accent-orange);text-decoration:underline}.tooltip-wrapper:hover .tooltip{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%)translateY(0)}.tooltip-info-icon{color:var(--text-muted);vertical-align:middle;cursor:default;margin-left:3px;position:relative;top:-1px}.thead th:first-child{text-align:left;width:32px}.thead th:nth-child(2){text-align:left}.trBodyIngredients{background:var(--bg-white)}.trBodyIngredients td{border-bottom:1px solid var(--border);vertical-align:middle;text-align:center;padding:10px 8px}.trBodyIngredients td:first-child{text-align:left;width:32px}.trBodyIngredients td:nth-child(2){text-align:left}.trBodyIngredients:hover{background:#fdfcfa}td:first-child,th:first-child{padding-left:12px}td:last-child,th:last-child{width:48px;padding-right:12px}.weightInput{border:1px solid var(--border);text-align:center;background:var(--bg-sidebar);-moz-appearance:textfield;border-radius:20px;width:76px;padding:5px 10px;font-family:Inter,sans-serif;font-size:13px}.weightInput::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.weightInput::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.weightInput:focus{border-color:var(--accent-coral);background:var(--bg-white);outline:none}.tdButtons{text-align:center}.actionButton{cursor:pointer;opacity:0;color:var(--text-muted);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;font-size:16px;transition:opacity .2s,color .2s;display:inline-flex}.trBodyIngredients:hover .actionButton{opacity:.5}.actionButton:hover{color:var(--threshold-danger);opacity:1!important}td:has(.newIngredient){padding:0}.newIngredient{text-align:center;width:100%;color:var(--text-muted);cursor:pointer;letter-spacing:.5px;text-transform:uppercase;background:0 0;background:var(--bg-white);border:none;padding:12px 0;font-size:12px;font-weight:500;transition:background .2s,color .2s}.newIngredient svg{vertical-align:middle;margin-right:4px;position:relative;top:-1px}.newIngredient:hover{background:var(--bg-sidebar);color:var(--text-secondary)}tr.totalG td,tr.totalP td{background:var(--bg-sidebar);text-align:center;padding:10px 8px;font-weight:500}tr.totalG td:nth-child(2),tr.totalP td:nth-child(2){text-align:left}tr.totalG td:first-child,tr.totalP td:first-child{border-top-left-radius:8px;border-bottom-left-radius:8px}tr.totalG td:last-child,tr.totalP td:last-child{border-top-right-radius:8px;border-bottom-right-radius:8px}.threshold-pill{border-radius:20px;padding:4px 12px;font-size:13px;font-weight:600;display:inline-block}.threshold-ok{background:var(--threshold-ok-bg);color:var(--threshold-ok)}.threshold-warning{background:var(--threshold-warning-bg);color:var(--threshold-warning)}.threshold-danger{background:var(--threshold-danger-bg);color:var(--threshold-danger)}.balance-panel{top:calc(var(--nav-height) + 20px);background:var(--bg-sidebar);border-radius:16px;align-self:start;padding:20px;position:sticky}.balance-panel-title{margin:0 0 4px;font-size:18px;font-weight:600}.balance-panel-link{color:var(--text-muted);margin-bottom:14px;font-size:12px;text-decoration:none;display:block}.balance-panel-link:hover{color:var(--coral);text-decoration:underline}.balance-panel-grid{flex-direction:column;gap:8px;display:flex}.balance-card{background:var(--bg-white);border-radius:10px;padding:12px 14px}.balance-card-header{justify-content:space-between;align-items:center;display:flex}.balance-card-label{color:var(--text-primary);font-size:13px;font-weight:500}.balance-card-target{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;margin-top:6px;font-size:10px}.balance-card-value{font-size:18px;font-weight:700}.balance-card-value.status-ok{color:var(--threshold-ok)}.balance-card-value.status-warning{color:var(--threshold-warning)}.balance-card-value.status-danger{color:var(--threshold-danger)}.balance-progress-track{background:var(--border);border-radius:2px;height:3px;margin-top:8px;position:relative}.balance-progress-fill{border-radius:2px;height:100%;transition:width .3s;position:absolute;top:0;left:0}.balance-progress-fill.status-ok{background:var(--threshold-ok)}.balance-progress-fill.status-warning{background:var(--threshold-warning)}.balance-progress-fill.status-danger{background:var(--threshold-danger)}.modal-overlay{z-index:1000;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--bg-white);border-radius:16px;width:90%;max-width:500px;max-height:80vh;padding:32px;overflow-y:auto;box-shadow:0 10px 40px #00000026}.modal h3{color:var(--text-primary);text-align:center;margin:0 0 20px;font-size:20px;font-weight:600}.modal p{color:var(--text-secondary);margin-bottom:20px;line-height:1.6}.recipe-name-input{border:1px solid var(--border);border-radius:12px;width:100%;margin-bottom:20px;padding:12px 16px;font-family:Inter,sans-serif;font-size:14px}.recipe-name-input:focus{border-color:var(--accent-coral);outline:none}.recipe-name-input.input-error{border-color:var(--threshold-danger)}.modal-buttons{justify-content:center;gap:10px;margin-top:20px;display:flex}.recipe-search-input{border:1px solid var(--border);border-radius:10px;width:100%;margin-bottom:14px;padding:10px 14px;font-family:Inter,sans-serif;font-size:14px}.recipe-search-input:focus{border-color:var(--accent-coral);outline:none}.recipe-list{height:300px;margin-bottom:20px;overflow-y:auto}.recipe-list-empty{color:var(--text-muted);text-align:center;padding:40px 0;font-size:14px}.recipe-item{border:1px solid var(--border);background:var(--bg-page);border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:10px;padding:16px;display:flex}.recipe-info h4{color:var(--text-primary);margin:0 0 4px;font-size:14px;font-weight:600}.recipe-info p{color:var(--text-secondary);margin:0 0 4px;font-size:13px}.recipe-info small{color:var(--text-muted);font-size:12px}.recipe-actions{gap:6px;display:flex}.modalContainer{z-index:1000;background-color:#0006;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0;overflow:auto}.addIngredientModal{background-color:var(--bg-white);border-radius:16px;width:90%;max-width:700px;max-height:90vh;padding:0;overflow-y:auto;box-shadow:0 10px 40px #00000026}.modalHeader{border-bottom:1px solid var(--border);background:var(--bg-page);border-radius:16px 16px 0 0;justify-content:space-between;align-items:center;padding:20px 25px;display:flex}.modalHeader h2{color:var(--text-primary);margin:0;font-size:1.3rem;font-weight:600}.closeButton{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-size:1.5rem;transition:background-color .2s;display:flex}.closeButton:hover{background-color:var(--bg-sidebar);color:var(--text-primary)}.ingredientFields{flex-direction:column;gap:20px;padding:25px;display:flex}.weightSection{flex-direction:column;gap:6px;display:flex}.weightSection label{color:var(--text-primary);font-size:14px;font-weight:500}.modalWeightInput{border:1px solid var(--border);background:var(--bg-white);box-sizing:border-box;-moz-appearance:textfield;border-radius:12px;width:100%;padding:10px 14px;font-family:Inter,sans-serif;font-size:14px;transition:border-color .2s}.modalWeightInput::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.modalWeightInput::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.modalWeightInput:focus{border-color:var(--accent-orange);outline:none}.modalWeightInput.error{border-color:var(--threshold-danger)}.modalColumns{gap:15px;height:380px;display:flex}.leftColumn{border-right:1px solid var(--border);flex-direction:column;flex:0 0 220px;padding-right:15px;display:flex}.rightColumn{flex-direction:column;flex:1;display:flex}.categorySection h3{color:var(--text-secondary);letter-spacing:.05em;text-transform:uppercase;margin:0 0 10px;font-size:11px;font-weight:600}.categorySection,.ingredientSection{flex-direction:column;height:100%;display:flex}.categoryList,.ingredientList{border:1px solid var(--border);border-radius:8px;flex-direction:column;flex:1;gap:2px;padding:4px;display:flex;overflow-y:auto}.ingredientSearch{border:1px solid var(--border);background:var(--bg-white);border-radius:8px;margin-bottom:6px;padding:8px 12px;font-family:Inter,sans-serif;font-size:13px}.ingredientSearch:focus{border-color:var(--accent-orange);outline:none}.categoryItem,.ingredientItem{background:var(--bg-white);text-align:left;cursor:pointer;border:none;border-radius:6px;padding:8px 10px;font-family:Inter,sans-serif;font-size:13px;transition:all .2s}.categoryItem:hover,.ingredientItem:hover{background:var(--bg-page)}.categoryItem.selected,.ingredientItem.selected{color:var(--text-primary);background:#f5a6234d}.errorMessage{color:var(--threshold-danger);margin-top:4px;font-size:12px}.modalButtons{border-top:1px solid var(--border);background:var(--bg-page);border-radius:0 0 16px 16px;justify-content:space-between;align-items:center;padding:20px 25px;display:flex}.addAnotherLabel{color:var(--text-secondary);cursor:pointer;align-items:center;gap:8px;font-family:Inter,sans-serif;font-size:14px;display:flex}.addAnotherLabel input[type=checkbox]{cursor:pointer;width:16px;height:16px}.modalButtonsRight{align-items:center;gap:12px;display:flex}.modalButtons button{cursor:pointer;border:none;border-radius:8px;min-width:100px;padding:10px 20px;font-family:Inter,sans-serif;font-size:14px;font-weight:500;transition:all .2s}.cancelButton{color:var(--text-secondary);background:0 0;border:none}.cancelButton:hover{background:0 0;text-decoration:underline}.addButton{background:var(--accent-orange);color:var(--text-primary)}.addButton:hover{background:#e09520}.addButton:disabled{opacity:.4;cursor:not-allowed}.articles-container{text-align:center;max-width:600px;margin:0 auto;padding:80px 20px}.articles-container h1{margin-bottom:16px;font-size:28px;font-weight:700}.articles-container p{color:var(--text-secondary);font-size:16px;line-height:1.7}.rescale-wrapper,.rescale-cell{justify-content:center;align-items:center;width:90px;height:28px;display:inline-flex}.rescale-cell{gap:4px}.rescale-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:4px;flex-shrink:0;align-items:center;padding:2px;transition:color .2s,background .2s;display:inline-flex}.rescale-btn:hover{color:var(--accent-coral);background:#e8734a1a}.rescale-input{border:1px solid var(--accent-coral);text-align:center;background:var(--bg-white);box-sizing:border-box;border-radius:20px;width:90px;height:28px;padding:0 10px;font-family:Inter,sans-serif;font-size:13px;font-weight:500}.rescale-input:focus{outline:none}.toast-container{top:calc(var(--nav-height) + 16px);z-index:1100;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;right:24px}.toast{color:#fff;pointer-events:auto;border-radius:10px;max-width:360px;padding:12px 20px;font-size:14px;font-weight:500;animation:.3s forwards toast-in;box-shadow:0 4px 12px #00000026}.toast-exit{animation:.3s forwards toast-out}.toast-success{background:var(--threshold-ok)}.toast-error{background:var(--threshold-danger)}.toast-warning{background:var(--threshold-warning)}@keyframes toast-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes toast-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}.how-it-works-container{max-width:720px;margin:0 auto;padding:40px 32px 80px}.how-it-works-container h1{margin:0 0 12px;font-size:28px;font-weight:700}.how-it-works-intro{color:var(--text-secondary);margin:0 0 40px;font-size:16px;line-height:1.7}.how-it-works-container h2{color:var(--text-primary);margin:32px 0 12px;font-size:20px;font-weight:600}.how-it-works-container p{color:var(--text-secondary);margin:0 0 12px;font-size:15px;line-height:1.7}.how-it-works-container ul{color:var(--text-secondary);margin:0 0 12px;padding-left:24px;font-size:15px;line-height:1.7}.how-it-works-container li{margin-bottom:6px}.threshold-text-ok{color:var(--threshold-ok)}.threshold-text-warning{color:var(--threshold-warning)}.threshold-text-danger{color:var(--threshold-danger)}@media (max-width:1023px){.calculator-grid{grid-template-columns:1fr 280px;gap:24px;padding:20px 24px}}.recommendation-card{border-left:4px solid;border-radius:.5rem;margin-top:1rem;padding:.875rem 1rem;font-size:.875rem;line-height:1.5}.recommendation-card-ok{border-left-color:var(--threshold-ok);background:var(--threshold-ok-bg);color:var(--threshold-ok)}.recommendation-card-warning{border-left-color:var(--threshold-warning);background:var(--threshold-warning-bg);color:var(--text-primary)}.recommendation-card-danger{border-left-color:var(--threshold-danger);background:var(--threshold-danger-bg);color:var(--text-primary)}.recommendation-card-text{margin:0}@media (max-width:767px){.calculator-grid{grid-template-columns:1fr;padding:16px}.balance-panel{position:static}.recipe-management{flex-direction:column;align-items:stretch}.recipe-controls-left,.recipe-controls-right{flex-wrap:wrap;justify-content:center}.site-nav{padding:0 16px}.table{font-size:12px}.how-it-works-container{padding:24px 16px 60px}}
