.rations-module {max-width: 1500px; margin-inline: auto;}
.ration-header-fields, .ration-program-fields {display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:14px; margin-block:16px;}
.ration-header-fields > label:first-child {grid-column:1/-1;}
.rations-module input:not([type=checkbox]), .rations-module select {box-sizing:border-box; width:100%; min-height:40px;}
.ration-program {border:1px solid #bbcbd7; border-radius:8px; padding:18px; margin-block:18px; background:#fff;}
.ration-program h3 {margin-bottom:8px;}
.ration-weekdays {grid-column:1/-1; display:flex; gap:16px; flex-wrap:wrap; padding:14px; border:1px solid #bbcbd7;}
.ration-weekdays label {display:flex; align-items:center; flex-direction:row; gap:8px;}
.ration-weekdays input {width:18px; height:18px;}
.ration-options {display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:14px; margin-block:12px;}
.ration-option-row {display:flex; align-items:start; gap:8px;}
.ration-option-row label {flex:1;}
.ration-option-row button {margin-top:24px;}
.ration-tabs {display:flex; flex-wrap:wrap; gap:8px; margin-block:18px;}
.ration-tabs [aria-selected=true] {background:#134d7a; color:white; border-color:#134d7a;}
.ration-matrix-wrap {overflow:auto; max-height:68vh; margin-block:16px; border:1px solid #bbcbd7; border-radius:6px;}
.ration-matrix {width:100%; border-collapse:separate; border-spacing:0;}
.ration-matrix thead th {position:sticky; top:0; z-index:2; background:#edf3f7;}
.ration-matrix th, .ration-matrix td {padding:9px 12px; border-bottom:1px solid #d4dce2; text-align:left;}
.ration-matrix tbody th {white-space:nowrap; background:#f7f9fb;}
.ration-matrix td input {min-width:100px; max-width:150px; text-align:right;}
.ration-matrix td:last-child {min-width:180px; font-size:.9em;}
.ration-row-invalid td, .ration-row-invalid th {background:#fff1f1; color:#941e24;}
.rations-module [aria-invalid=true] {border:2px solid #b3261e!important; background:#fff3f2;}
.ration-field-error {display:block; color:#a12420; font-size:.83em; margin-top:4px; max-width:280px;}
.ration-field-error[hidden] {display:none;}
.ration-validation {color:#941e24; background:#fff1f1; padding:10px 16px; border-left:4px solid #b3261e; margin-block:12px;}
.ration-validation p {margin:5px 0;}
@media(max-width:700px) {.ration-header-fields,.ration-program-fields {grid-template-columns:1fr;} .ration-program {padding:12px;} .ration-options {grid-template-columns:1fr;}}
