.inv-page{background:#fff;color:var(--ink)}
.inv-hero{padding:26px 0 20px}.inv-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,540px);gap:36px;align-items:end;margin-bottom:22px}
.inv-heading h1{font:600 clamp(28px,3.2vw,46px)/1.04 Switzer,system-ui,sans-serif;letter-spacing:-.035em;margin:8px 0 12px;max-width:16ch}
.inv-heading p{font-size:14px;line-height:1.65;color:var(--secondary);margin:0;max-width:62ch}.inv-kicker{font:600 10.5px/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gold-d)}
.inv-viewer{background:#090a0b;color:#fff}.inv-stage{position:relative;aspect-ratio:16/9;overflow:hidden;background:#050505;touch-action:pan-y;user-select:none}
.inv-stage>img,.inv-stage>picture>img,.inv-after img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.inv-after{position:absolute;inset:0 0 0 50%;overflow:hidden;border-left:1px solid var(--gold)}.inv-after img{left:auto;right:0;width:100vw;max-width:none}
.inv-divider{position:absolute;left:50%;top:50%;translate:-50% -50%;width:48px;height:48px;border:1px solid var(--gold);border-radius:50%;background:#0a0a0acc;color:var(--gold);display:grid;place-items:center;font-size:17px;z-index:3;cursor:ew-resize}.inv-divider:focus-visible{outline:3px solid #fff;outline-offset:3px}
.inv-label{position:absolute;bottom:12px;z-index:2;font:600 10px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;background:#0a0a0bcc;padding:8px 10px}.inv-label-bare{left:12px}.inv-label-after{right:12px}
.inv-viewer-bar{display:grid;grid-template-columns:auto minmax(0,1fr);gap:22px;padding:12px 16px;align-items:center;border-top:1px solid #303335}.inv-material,.inv-views{display:flex;gap:5px;overflow-x:auto;scrollbar-width:thin}.inv-viewer-bar button{min-height:44px;padding:8px 12px;border:1px solid #3d4144;background:transparent;color:#d7dad8;font-size:12px;white-space:nowrap}.inv-viewer-bar button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#141414}.inv-viewer-bar button:hover{border-color:var(--gold)}
.inv-caption{display:flex;justify-content:space-between;gap:20px;padding:0 16px 13px;font:10.5px/1.5 var(--mono);color:#9ca09e}.inv-caption b{color:#fff;font-weight:500}
.inv-sheet{border-top:1px solid var(--line)}.inv-intro{padding-top:42px;padding-bottom:25px;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,520px);gap:36px}.inv-intro h2{font-size:28px;margin:7px 0 12px}.inv-intro p{font-size:14px;line-height:1.7;color:var(--secondary);margin:0}.inv-answer{border-top:2px solid var(--gold);padding-top:16px}.inv-answer strong{font-size:18px;display:block;margin-bottom:7px;color:var(--ink)}
.inv-workbench{padding-bottom:48px}.inv-controls{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;padding:20px 0;border-top:1px solid var(--line)}.inv-service-default span{display:block;font-size:11px;color:var(--secondary);margin-bottom:8px}.inv-segments,.inv-add{display:flex;gap:7px;flex-wrap:wrap}.inv-segments button,.inv-add button,.inv-action{min-height:44px;border:1px solid var(--line);background:#fff;color:var(--ink);padding:9px 14px;font-size:12.4px}.inv-segments button[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:#fff}.inv-add button{border-color:var(--gold);background:#fffaf0}.inv-add button:hover,.inv-action:hover{border-color:var(--ink)}
.inv-settings{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:0}.inv-settings summary{min-height:48px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-size:13px;font-weight:600}.inv-settings summary span{font-weight:400;color:var(--secondary)}.inv-settings-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;padding:0 0 20px}.inv-settings label,.inv-field label{display:block;font-size:10.5px;color:var(--secondary);margin-bottom:6px}.inv-settings input,.inv-field input,.inv-field select{width:100%;min-height:44px;border:1px solid #aeb2b3;background:#fff;color:var(--ink);padding:8px 9px;border-radius:0;font:500 14px/1 Switzer,system-ui,sans-serif;font-variant-numeric:tabular-nums}.inv-settings small,.inv-field small{display:block;color:var(--secondary);font-size:10.5px;line-height:1.45;margin-top:5px}
.inv-table-head,.inv-row{display:grid;grid-template-columns:minmax(138px,1.15fr) 88px 78px minmax(220px,1.45fr) 105px minmax(150px,1fr) 44px;gap:10px;align-items:start}.inv-table-head{padding:20px 12px 9px;font:600 9.5px/1.3 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--secondary)}.inv-row{position:relative;padding:14px 12px;border-top:1px solid var(--line)}.inv-row:last-child{border-bottom:1px solid var(--line)}.inv-row .inv-mobile-label{display:none}.inv-temperature{display:grid;grid-template-columns:minmax(100px,1fr) 72px;gap:8px;align-items:center}.inv-temperature input[type=range]{height:44px;padding:0;border:0}.inv-temperature input[type=number]{font-size:16px}.inv-geometry{margin-top:6px;font:10px/1.45 var(--mono);color:var(--secondary);overflow-wrap:anywhere}.inv-length.is-hidden{visibility:hidden}.inv-result{padding-top:3px;font-variant-numeric:tabular-nums}.inv-result strong{display:block;font-size:17px;line-height:1.15}.inv-result span{display:block;font-size:10.5px;color:var(--secondary);line-height:1.5;margin-top:5px}.inv-remove{width:44px;height:44px;border:1px solid transparent;background:transparent;color:var(--secondary);font-size:19px}.inv-remove:hover{border-color:var(--line);color:var(--ink)}.inv-row-error{grid-column:1/-1;color:#8d2f24;font-size:12px;margin:0}.inv-empty{padding:34px 12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--secondary);font-size:14px}
.inv-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin-top:28px;background:var(--graphite);color:#fff}.inv-metric{padding:22px;border-right:1px solid #424648;min-width:0}.inv-metric:last-child{border-right:0}.inv-metric span{display:block;font-size:11px;color:#b9bdbb;line-height:1.45}.inv-metric strong{display:block;font-size:clamp(21px,2vw,30px);line-height:1.1;margin:8px 0 4px;font-weight:600;letter-spacing:-.025em;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.inv-metric small{font-size:10px;color:#8f9492}.inv-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.inv-action-primary{background:var(--ink);color:#fff;border-color:var(--ink)}.inv-status{min-height:20px;margin:12px 0 0;color:var(--secondary);font-size:12px}
.inv-reference{background:var(--graphite);color:#e9eae6;padding:48px 0}.inv-reference h2{color:#fff;font-size:28px;margin:7px 0 10px}.inv-reference .inv-lede{color:#b9bdbb;max-width:800px;font-size:14px;line-height:1.7}.inv-reference-scroll{overflow-x:auto;margin-top:25px}.inv-reference table{width:100%;border-collapse:collapse;min-width:820px;font-variant-numeric:tabular-nums}.inv-reference th,.inv-reference td{padding:11px 13px;border-bottom:1px solid #34383a;text-align:right;font-size:12.5px}.inv-reference th:first-child,.inv-reference td:first-child{text-align:left;position:sticky;left:0;background:var(--graphite)}.inv-reference thead th{font:600 9.5px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#aeb2b0}.inv-reference tbody th{color:#fff}.inv-reference-note{font-size:11px;line-height:1.7;color:#9ca09e;margin-top:18px;max-width:980px}
.inv-method{padding-top:48px;padding-bottom:50px}.inv-method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.inv-method article{border-top:1px solid var(--line);padding-top:17px}.inv-method h3{font-size:17px;margin:8px 0}.inv-method p{font-size:13px;line-height:1.7;color:var(--secondary)}.inv-faq{margin-top:40px}.inv-faq details{border-top:1px solid var(--line)}.inv-faq details:last-child{border-bottom:1px solid var(--line)}.inv-faq summary{min-height:54px;display:flex;align-items:center;font-weight:600;font-size:14px;cursor:pointer}.inv-faq p{font-size:13px;line-height:1.7;color:var(--secondary);max-width:850px;padding-bottom:18px}
@media(max-width:1100px){.inv-table-head,.inv-row{grid-template-columns:minmax(130px,1.1fr) 80px 70px minmax(190px,1.2fr) 92px minmax(130px,.9fr) 44px}.inv-summary{grid-template-columns:repeat(3,1fr)}.inv-metric:nth-child(3){border-right:0}.inv-metric:nth-child(n+4){border-top:1px solid #424648}.inv-settings-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.inv-heading,.inv-intro{grid-template-columns:1fr;gap:18px}.inv-heading h1{font-size:30px}.inv-hero{padding-top:16px}.inv-viewer-bar{grid-template-columns:1fr;gap:9px}.inv-caption{display:block}.inv-caption span{display:block;margin-top:5px}.inv-controls{align-items:stretch;flex-direction:column}.inv-settings-grid{grid-template-columns:1fr 1fr}.inv-table-head{display:none}.inv-row{grid-template-columns:1fr 1fr;gap:14px 10px;padding:20px 0}.inv-row .inv-mobile-label{display:block;font:600 9px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--secondary);margin-bottom:6px}.inv-component,.inv-temperature,.inv-result{grid-column:1/-1}.inv-temperature{grid-template-columns:minmax(0,1fr) 76px}.inv-remove{position:absolute;right:0;top:13px}.inv-component{padding-right:52px}.inv-length.is-hidden{display:none}.inv-summary{grid-template-columns:1fr 1fr}.inv-metric,.inv-metric:nth-child(3){border-right:1px solid #424648;border-top:1px solid #424648}.inv-metric:nth-child(-n+2){border-top:0}.inv-metric:nth-child(2n){border-right:0}.inv-metric:last-child{grid-column:1/-1;border-right:0}.inv-method-grid{grid-template-columns:1fr}.inv-stage{aspect-ratio:4/3}.inv-stage>img,.inv-after img{object-fit:contain}.inv-after img{width:133.333vw}.inv-reference{padding:38px 0}}
@media(max-width:390px){.inv-settings-grid{grid-template-columns:1fr}.inv-segments,.inv-add{display:grid;grid-template-columns:1fr 1fr}.inv-add button:last-child{grid-column:1/-1}.inv-summary{grid-template-columns:1fr}.inv-metric,.inv-metric:nth-child(3){border-right:0}.inv-metric:nth-child(2){border-top:1px solid #424648}}
@media print{.topbar,.crumbs,.inv-viewer,.inv-controls,.inv-settings,.inv-actions,.inv-reference,.inv-method,.footer{display:none!important}.inv-heading{display:block}.inv-hero{padding:0}.inv-row{grid-template-columns:1.2fr .6fr .5fr 1.2fr .7fr 1fr}.inv-remove{display:none}.inv-summary{color:#000;background:#fff;border:1px solid #aaa}.inv-metric{border-color:#bbb}.inv-metric span,.inv-metric small{color:#444}}

/* Plant inventory v2: thumbnail, explicit area source and GOV.UK-style result order. */
.inv-settings-grid{grid-template-columns:repeat(7,minmax(0,1fr))}
.inv-settings select{width:100%;min-height:44px;border:1px solid #aeb2b3;background:#fff;color:var(--ink);padding:8px 9px;border-radius:0;font:500 14px/1 Switzer,system-ui,sans-serif}
.inv-table-head,.inv-row{grid-template-columns:88px minmax(170px,1.1fr) 78px 70px minmax(180px,1.2fr) minmax(180px,1fr) minmax(145px,.9fr) 44px}
.inv-row{cursor:pointer}.inv-row:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}
.inv-thumb{aspect-ratio:16/9;background:#090a0b;overflow:hidden}.inv-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.inv-component select+select,.inv-area select{margin-top:7px}.inv-area select{font-size:11px}
.inv-length.is-hidden,.inv-area.is-hidden{display:none}
.inv-heat-pair{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-top:0}
.inv-heat-pair>div{padding:16px 22px}.inv-heat-pair>div+div{border-left:1px solid var(--line)}
.inv-heat-pair span{display:block;color:var(--secondary);font-size:11px}.inv-heat-pair strong{display:block;margin-top:4px;font-size:20px}.inv-heat-pair small{display:block;margin-top:4px;color:var(--secondary)}
@media(max-width:1100px){.inv-table-head{display:none}.inv-row{grid-template-columns:96px 1fr 80px 70px minmax(180px,1fr) minmax(170px,1fr) 145px 44px}.inv-settings-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.inv-row{grid-template-columns:88px 1fr 1fr;gap:14px 10px;padding:20px 0}.inv-thumb{grid-row:1;grid-column:1}.inv-component{grid-column:2/-1;padding-right:52px}.inv-temperature,.inv-result,.inv-area{grid-column:1/-1}}
@media(max-width:390px){.inv-heat-pair{grid-template-columns:1fr}.inv-heat-pair>div+div{border-left:0;border-top:1px solid var(--line)}}

/* Visual Heat Explorer viewer: follows the Wort Kettle before/after control. */
.inv-viewer{padding:14px 14px 0}
.inv-frame-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.inv-frame-toolbar>span{font:600 10px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#aeb5b1}
.inv-frames{display:grid;grid-template-columns:repeat(6,minmax(74px,1fr));gap:4px;width:100%;padding:3px;background:#24292d;border:1px solid #42484c}
.inv-frames button{min-height:36px;padding:6px 10px;border:0;background:transparent;color:#d8ddda;font-size:12.4px;white-space:nowrap}
.inv-frames button[aria-pressed=true]{background:var(--gold);color:#161716}
.inv-frames button:not([aria-pressed=true]):hover{background:rgba(255,255,255,.09);color:#fff}
.inv-frames button:focus-visible{outline:2px solid #fff;outline-offset:2px}
.inv-stage{border:1px solid #303538}
.inv-stage>picture>img{transition:opacity .16s ease}
.inv-stage>picture:first-child>img{clip-path:inset(0 50% 0 0)}
.inv-stage>picture:nth-child(2)>img{clip-path:inset(0 0 0 50%)}
.inv-stage.is-loading>picture>img{opacity:.7}
.inv-divider{width:52px;height:52px;border-color:rgba(255,255,255,.8);background:#111519e6;color:#fff;font:700 13px/1 var(--mono);z-index:4;box-shadow:0 6px 22px rgba(0,0,0,.45)}
.inv-divider::before{content:"";position:absolute;left:50%;top:calc(-50vh);bottom:calc(-50vh);width:1px;background:rgba(255,255,255,.8);z-index:-1}
.inv-divider:focus-visible{outline-color:var(--gold)}
.inv-state-label{position:absolute;top:18px;z-index:3;font:600 10px/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#fff}
.inv-state-label span{display:block;margin-top:5px;color:#b7bdb9;font-size:9px}
.inv-state-left{left:18px}.inv-state-right{right:18px;text-align:right}
.inv-stage-tag{position:absolute;left:18px;bottom:16px;z-index:3;padding:7px 9px;background:rgba(8,10,11,.78);font:500 10px/1.3 var(--mono);letter-spacing:.04em;color:#dfe2df}
.inv-caption{padding:13px 2px 14px}.inv-caption b{color:#d9ddda;text-align:right}
@media(max-width:760px){.inv-viewer{padding:10px 10px 0}.inv-frame-toolbar{display:block}.inv-frame-toolbar>span{display:block;margin-bottom:6px}.inv-frames{grid-template-columns:repeat(3,minmax(0,1fr))}.inv-frames button{min-width:0;min-height:44px}.inv-caption{display:block}.inv-caption b{display:block;margin-top:5px;text-align:left}.inv-state-label{top:12px}.inv-state-left{left:12px}.inv-state-right{right:12px}.inv-stage-tag{left:12px;bottom:10px}}
@media(prefers-reduced-motion:reduce){.inv-stage>picture>img{transition:none}}

.inv-box-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.inv-box input{width:100%}

/* The settings are permanent: hours, price and thickness drive every row, so they are
   never hidden behind a disclosure. */
.inv-settings{padding:0 0 4px}
.inv-settings-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:0;padding:18px 0 12px;font-size:15px;font-weight:600;color:var(--ink)}
.inv-settings-h span{font-weight:400;font-size:12.5px;color:var(--secondary)}
@media(max-width:760px){.inv-settings-h{padding:14px 0 10px;font-size:14px}}
