.grain-simulation-panel{position:fixed;z-index:230;right:18px;top:78px;width:375px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 105px);display:flex;flex-direction:column;border:1px solid #43554c;border-radius:15px;background:#16271f;color:#eef4ee;box-shadow:0 20px 65px #0007;font:13px/1.5 system-ui,sans-serif}
.grain-simulation-panel[hidden]{display:none}
.grain-simulation-panel header{display:flex;flex-shrink:0;align-items:start;justify-content:space-between;padding:16px 18px;border-bottom:1px solid #43554c}
.grain-simulation-panel h2{font-size:20px;font-weight:650;margin:0}.grain-simulation-panel h3{font-weight:650;font-size:15px;margin:20px 0 3px}
.grain-simulation-panel p{margin:4px 0}.grain-simulation-panel header p,.grain-simulation-panel .gs-hint{color:#b3c5b9;font-size:11px}
.grain-simulation-panel .gs-body{padding:14px 18px 18px;min-height:0;overflow:auto;overscroll-behavior:contain}
.grain-simulation-panel button,.grain-simulation-panel input,.grain-simulation-panel select{font:inherit;color:inherit;border:1px solid #53685b;border-radius:6px;background:#243b2e;padding:7px;min-width:0}
.grain-simulation-panel input,.grain-simulation-panel select{width:100%}.grain-simulation-panel input:disabled,.grain-simulation-panel select:disabled{opacity:.55}
.grain-simulation-panel .gs-field{display:flex;flex-direction:column;gap:4px;font-size:11px;margin:9px 0;color:#d2dfd5}
.grain-simulation-panel .gs-field:has(input[type=checkbox]){flex-direction:row-reverse;justify-content:flex-end;align-items:center;gap:8px}
.grain-simulation-panel input[type=checkbox]{width:15px;height:15px;accent-color:#ddba6e}
.grain-simulation-panel button{cursor:pointer;font-weight:600}.grain-simulation-panel button:disabled{opacity:.45;cursor:default}
.grain-simulation-panel button:focus-visible,.grain-simulation-panel input:focus-visible,.grain-simulation-panel select:focus-visible{outline:2px solid #f1cd7b;outline-offset:2px}
.grain-simulation-panel .gs-close{background:none;border:0;font-size:25px;padding:0 4px;line-height:1}
.grain-simulation-panel .gs-actions{display:flex;align-items:end;gap:7px}.grain-simulation-panel .gs-actions .gs-field{margin:0 0 0 auto;min-width:62px}
.grain-simulation-panel .gs-primary{background:#dfbd71;color:#17271e;border-color:#dfbd71}
.grain-simulation-panel .gs-status{padding:10px 0;color:#ebcf90;font-size:12px}
.grain-simulation-panel .gs-totals{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:10px;background:#0f1e16;border-radius:8px}
.grain-simulation-panel .gs-totals span{display:block;font-size:10px;color:#b3c5b9}.grain-simulation-panel .gs-totals strong{font-size:14px;font-variant-numeric:tabular-nums}
.grain-simulation-panel details{margin:12px 0;padding:8px 0;border-block:1px solid #43554c}.grain-simulation-panel summary{cursor:pointer;color:#e4d5ae}
.grain-simulation-panel .gs-node{padding:12px 0;border-bottom:1px solid #43554c}.grain-simulation-panel .gs-node-title{display:flex;justify-content:space-between;gap:8px}
.grain-simulation-panel .gs-badge{font-size:10px;background:#365644;padding:1px 6px;border-radius:4px;white-space:nowrap}
.grain-simulation-panel .gs-badge[data-status='Full'],.grain-simulation-panel .gs-badge[data-status='Backed up']{background:#674c22;color:#ffda92}
.grain-simulation-panel .gs-quantity{font-variant-numeric:tabular-nums;font-weight:600}.grain-simulation-panel .gs-flow{font-size:11px;color:#c1d2c7}
.grain-simulation-panel progress{display:block;width:100%;height:7px;border:0;border-radius:4px;overflow:hidden;margin:6px 0;background:#314a3b}
.grain-simulation-panel progress::-webkit-progress-bar{background:#314a3b}.grain-simulation-panel progress::-webkit-progress-value{background:#debb6e}
.grain-simulation-panel .gs-issues{font-size:11px;color:#ffd9a7;margin-top:14px}.grain-simulation-panel .gs-issues p{padding-block:4px}
@media(max-width:600px){.grain-simulation-panel{right:12px;top:auto;bottom:12px;max-height:67dvh;width:calc(100vw - 24px)}.grain-simulation-panel header{padding:11px 14px}.grain-simulation-panel .gs-body{padding:10px 14px}}
@media print{.grain-simulation-panel{display:none!important}}
