.gas-lab{position:fixed;inset:12px;z-index:120000;background:var(--panel,#f7f4ed);color:var(--text,#17263a);border:1px solid #c6ccd8;border-radius:20px;box-shadow:0 24px 100px #0005;display:flex;flex-direction:column;padding:22px;overflow:auto;font:14px/1.5 system-ui}.gas-lab *{box-sizing:border-box}.gas-lab header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.gas-lab h2{margin:0;font-size:27px}.gas-lab h3{margin:0 0 12px}.gas-lab p{margin:8px 0}.gas-lab .gl-badge{color:#765407;font-size:12px;font-weight:700;letter-spacing:.05em}.gl-basis{background:#fff1d2;color:#563e12;border:1px solid #ebd49f;border-radius:12px;padding:12px;margin:12px 0}.gl-layout{display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:20px}.gl-setup,.gl-results{border:1px solid #d6d7db;border-radius:16px;padding:18px;min-width:0}.gl-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.gl-fields label{font-size:12px;font-weight:600}.gl-fields input{display:block;width:100%;padding:9px;border:1px solid #b8c1cf;border-radius:8px;background:var(--bg,#fff);color:inherit}.gl-actions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.gas-lab button{cursor:pointer;padding:9px 13px;border:1px solid #bdc6d6;border-radius:9px;background:#fff;color:#17263a;font-weight:600}.gas-lab button.primary{background:#254de0;color:#fff;border-color:#254de0}.gas-lab button:disabled{opacity:.55;cursor:wait}.gas-lab button:focus-visible,.gas-lab input:focus-visible{outline:3px solid #5b85ff;outline-offset:2px}.gl-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.gl-kpis div{background:#edf1f9;border-radius:10px;padding:10px;color:#17263a}.gl-kpis b{display:block;font-size:21px}.gl-chart{width:100%;height:auto;max-height:430px;background:#fff;border:1px solid #d3d9e4;border-radius:12px}.gl-results input[type=range]{width:100%;accent-color:#254de0}.gl-error{color:#9f211e;background:#ffebe7;border-radius:10px;padding:14px}.gl-scroll{overflow:auto}.gl-results table{width:100%;border-collapse:collapse}.gl-results th,.gl-results td{padding:7px;border-bottom:1px solid #ccc;text-align:left}.gl-empty{padding:50px 15px;color:#5f6b7c;text-align:center}.gl-progress{padding:15px;background:#e8eefb;border-radius:10px}.gas-lab details{margin:12px 0}.gas-lab summary{cursor:pointer;font-weight:600}@media(max-width:800px){.gas-lab{inset:4px;padding:12px;border-radius:12px}.gl-layout{grid-template-columns:1fr}.gl-kpis{grid-template-columns:1fr 1fr}.gas-lab h2{font-size:22px}}
.gas-lab textarea,.gas-lab .gl-setup>label>input{display:block;width:100%;border:1px solid #b8c1cf;border-radius:8px;padding:10px;background:#fff;color:#17263a;margin:6px 0 14px}.gi-within_entered_limits{background:#e8eefb}.gi-exceeds_entered_limits{background:#ffe4df}.gi-incomplete,.gi-indeterminate{background:#fff3d8}.gas-lab .gl-scroll th,.gas-lab .gl-scroll td{min-width:140px;vertical-align:top}
.gas-lab select{width:100%;padding:10px;border:1px solid #b8c1cf;border-radius:8px;color:#17263a;background:#fff}.gas-lab textarea:focus-visible,.gas-lab select:focus-visible{outline:3px solid #5b85ff;outline-offset:2px}
/* App panel tokens may be translucent: the full-screen laboratory needs an opaque reading surface. */
.gas-lab{background:#f7f4ed;color:#17263a;isolation:isolate}.gas-lab>header{position:sticky;top:0;z-index:2;flex-shrink:0;background:#f7f4ed;padding:8px 0 12px;border-bottom:1px solid #d5d9e1}.gas-lab .gl-fields input{background:#fff;color:#17263a}.gas-lab>.gl-basis,.gas-lab>.gl-actions{flex-shrink:0}
.gas-lab>.gl-layout{flex-shrink:0}
.gw-grid{display:grid;grid-template-columns:minmax(220px,320px) minmax(0,1fr);gap:20px}.gw-grid>div{min-width:0}.gw-legend{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.gw-legend span{display:flex;align-items:center;gap:5px}.gw-legend i{width:12px;height:12px;border-radius:3px;display:inline-block}@media(max-width:800px){.gw-grid{grid-template-columns:1fr}}

#gwTransport{margin-top:18px;flex-shrink:0;scroll-margin-top:130px}#gwTransport>.gl-fields{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:800px){#gwTransport>.gl-fields{grid-template-columns:1fr 1fr}}

.gas-lab>header::before{content:"";position:absolute;top:-24px;left:0;right:0;height:24px;background:#f7f4ed;pointer-events:none}

/* Guided gas setup: keep the well, assumptions and next action in one reading order. */
.gw-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;padding:0;margin:4px 0 16px;gap:10px;flex-shrink:0}.gw-steps li{display:flex;gap:10px;align-items:center;padding:14px;border:1px solid #d5dce6;border-radius:12px;background:#fff}.gw-steps li>b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e6ebf5;color:#254de0;flex-shrink:0}.gw-steps small{display:block;color:#617087}.gw-steps .complete{border-color:#83b99f}.gw-steps .complete>b{background:#d9f0e3;color:#176b42}.gw-preview{display:grid;grid-template-columns:180px minmax(0,1fr);gap:20px;align-items:center;background:#eef3fb;border:1px solid #ced9ed;padding:18px;border-radius:16px;margin:12px 0 20px}.gw-preview svg{width:100%;max-height:270px;font:11px system-ui;fill:#344962}.gw-ready{background:#def1e6;color:#185c38;padding:12px;border-radius:10px}.gw-tools{border-bottom:1px solid #d5dce6;padding-bottom:12px}.gw-steps,.gw-preview{flex-shrink:0}@media(max-width:650px){.gw-steps{gap:5px}.gw-steps li{padding:8px;flex-direction:column;align-items:flex-start;font-size:12px}.gw-steps small{display:none}.gw-preview{grid-template-columns:1fr;padding:12px}.gw-preview svg{max-height:200px}.gw-preview .gl-kpis{grid-template-columns:1fr 1fr}}

/* IME: a missing limit reads as missing, never as a pass. */
.gi-partially_assessed{background:#fff3d8}
.gi-limits{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}
.gi-limit{border:1px solid #d8dde6;border-radius:10px;padding:8px;background:#fff;min-width:0}
.gi-limit>label{display:block;font-size:12px;font-weight:600}
.gi-limit .gi-src{margin-top:6px;font-weight:500;color:#5f6b7c}
.gi-limit input{display:block;width:100%;padding:8px;border:1px solid #b8c1cf;border-radius:8px;background:#fff;color:#17263a;margin-top:3px}
.gas-lab tr.gi-check-not_assessed{background:#fff3d8}
.gas-lab tr.gi-check-exceeded{background:#ffe4df}
@media(max-width:800px){.gi-limits{grid-template-columns:1fr}}
