[hidden] { display: none !important; }
.nutrition-calculator { width: min(680px, calc(100% - 40px)); margin: 34px auto; padding: clamp(22px, 4vw, 34px); border-radius: 10px; background: #fff; box-shadow: 0 4px 14px rgba(0,0,0,.1); }
.nutrition-form { display: grid; gap: 17px; }
.nutrition-form .form-group, .nutrition-form fieldset { width: 100%; max-width: none; margin: 0; border: 0; }
.nutrition-form label, .nutrition-form legend { display: block; margin-bottom: 7px; font-weight: 600; }
.nutrition-form input, .nutrition-form select { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid #aab4b0; border-radius: 8px; background: #fff; color: #1e1e1e; font: inherit; }
.nutrition-form input:focus-visible, .nutrition-form select:focus-visible { outline: 3px solid rgba(0,200,150,.45); outline-offset: 2px; }
.nutrition-form [aria-invalid="true"] { border-color: #a32020; }
.form-row { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; }
.choice-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.choice-grid label { margin: 0; }
.choice-grid input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.choice-grid span { display: flex; min-height: 46px; align-items: center; justify-content: center; padding: 9px; border: 1px solid #aab4b0; border-radius: 8px; text-align: center; cursor: pointer; }
.choice-grid input:checked + span { border-color: #1e1e1e; background: #1e1e1e; color: #fff; }
.choice-grid input:focus-visible + span { outline: 3px solid rgba(0,200,150,.45); outline-offset: 2px; }
.field-hint { margin: 6px 0 0; color: #58605d; font-size: 13px; }
.form-error { min-height: 1.4em; margin: 0; color: #a32020; font-weight: 600; }
.nutrition-form .calculator-actions { max-width: none; }
.nutrition-form .calculator-actions button { min-height: 46px; padding: 11px 18px; border: 1px solid #1e1e1e; border-radius: 22px; background: #1e1e1e; color: #fff; font: inherit; font-weight: 600; cursor: pointer; }
.nutrition-form .calculator-actions button:hover { background: #353535; }
.nutrition-results { width: min(760px, calc(100% - 40px)); margin: 30px auto; padding: clamp(22px,4vw,34px); border-radius: 10px; background: #fff; box-shadow: 0 4px 14px rgba(0,0,0,.1); }
.result-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin: 20px 0; }
.result-metric { min-width: 0; padding: 16px 10px; border: 1px solid rgba(0,0,0,.14); border-radius: 8px; text-align: center; }
.result-metric span { display: block; color: #59615e; font-size: 13px; }
.result-metric strong { display: block; margin-top: 5px; font-size: clamp(22px,4vw,31px); line-height: 1.15; }
.evidence-card, .recommendation-card, .result-warning { margin-top: 15px; padding: 16px; border-radius: 8px; }
.evidence-card { border: 1px solid #96a39e; background: #f6f8f7; }
.recommendation-card { border: 2px solid #078763; background: #effaf6; }
.result-warning { border-left: 4px solid #b66a00; background: #fff5e6; }
.evidence-card h3, .recommendation-card h3 { margin: 0 0 6px; font-size: 17px; }
.result-large { margin: 0; font-size: clamp(26px,5vw,38px); font-weight: 700; }
.calculator-content { width: min(900px, calc(100% - 40px)); margin: 48px auto; }
.calculator-content section { margin-top: 34px; }
.calculator-content h2 { font-size: clamp(24px,4vw,32px); }
.calculator-content p, .calculator-content li { line-height: 1.75; }
.calculator-content details { margin-top: 14px; padding: 14px 16px; border: 1px solid rgba(0,0,0,.15); border-radius: 8px; }
.calculator-content summary { min-height: 44px; cursor: pointer; font-weight: 700; }
@media (max-width: 600px) { .form-row, .choice-grid, .result-grid { grid-template-columns: 1fr; } .result-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .nutrition-calculator, .nutrition-results, .calculator-content { width: calc(100% - 32px); } }
@media (max-width: 360px) { .result-grid { grid-template-columns: 1fr; } }
