*{box-sizing:border-box}:root{--brand: #d0112a;--brand-weak: rgba(208, 17, 42, .06);--brand-border: rgba(208, 17, 42, .25);--accent: #1e7cb8;--accent-text: #1b6fa6;--accent-weak: rgba(30, 124, 184, .06);--accent-faint: rgba(30, 124, 184, .04);--accent-surface: #eaf5fb;--accent-border: #b8ddef;--text: #212121;--text-muted: #6d6d6d;--text-disabled: #9E9E9E;--text-on-fill: #ffffff;--surface-page: #e8ebf0;--surface-card: #ffffff;--surface-panel: #f7f8fb;--surface-sunken: #f4f6f9;--surface-track: #eef0f5;--surface-inverse: #212121;--border-subtle: #eef0f5;--border: #dde2ea;--border-strong: #cdd2dc;--ok: #15803d;--ok-bg: #f0fdf4;--ok-border: #bbf7d0;--warn: #b45309;--warn-bg: #fff7ed;--warn-border: #fed7aa;--danger: #b91c1c;--danger-bg: #fef2f2;--danger-border: #fecaca;--confidential: #2a5a8f;--confidential-bg: #eef3f9;--text-micro: 12px;--text-sm: 13px;--text-base: 14px;--text-md: 15px;--text-lg: 18px;--text-xl: 20px;--text-hero: 32px;--font-sans: "IBM Plex Sans", "Segoe UI", Arial, sans-serif;--font-mono: "IBM Plex Mono", Consolas, monospace;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 26px;--space-8: 48px;--radius-sm: 6px;--radius: 10px;--radius-lg: 14px;--radius-xl: 18px;--shadow-card: 0 8px 48px -12px rgba(0, 0, 0, .14), 0 2px 8px -2px rgba(0, 0, 0, .07);--shadow-toast: 0 18px 50px rgba(0, 0, 0, .18);--shadow-modal: 0 18px 60px rgba(0, 0, 0, .22);--backdrop: rgba(20, 25, 34, .45);font-family:var(--font-sans);color:var(--text);background:var(--surface-page);font-synthesis:none;text-rendering:optimizeLegibility}body{margin:0;background:var(--surface-page)}button,input,select{font:inherit}button{border:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.page{min-height:100vh;padding:var(--space-8)}.page-label{max-width:1480px;margin:0 auto 36px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;border-bottom:1px solid var(--border-strong);padding-bottom:22px}.mono,.subline,.summary-title,.tech-title{font-family:var(--font-mono)}.page-label select,label input,label select{width:100%;background:var(--surface-card);border:1px solid var(--border);border-radius:var(--space-2);padding:10px var(--space-3);color:var(--text)}.page-label select{width:auto;min-width:160px}.frame{max-width:1480px;margin:0 auto;background:var(--surface-card);border:1px solid var(--border-strong);border-radius:var(--radius-xl);overflow:clip;box-shadow:var(--shadow-card)}.tool-header{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:14px 28px;border-bottom:1px solid var(--border);background:var(--surface-panel)}.brand-group,.header-right,.title-row{display:flex;align-items:center;gap:var(--space-4)}.gasyco-logo{width:112px;height:44px;object-fit:contain;background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius);padding:6px}.divider{width:1px;height:36px;background:var(--border)}.product-title{margin:0;font-size:var(--text-lg);font-weight:800}.brand-text{display:flex;align-items:center;gap:var(--space-3)}.confidential-bar{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--space-2) var(--space-3);padding:10px 28px;border-bottom:1px solid var(--border);background:var(--confidential-bg);color:var(--text);font-size:var(--text-sm);text-align:center}.confidential-label{font-family:var(--font-mono);font-size:var(--text-micro);font-weight:700;letter-spacing:.08em;color:var(--text-on-fill);background:var(--confidential);border-radius:5px;padding:3px var(--space-2)}.device-card-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.badge{font-size:var(--text-micro);font-weight:800;color:var(--brand);border:1px solid var(--brand-border);border-radius:5px;padding:2px 7px;background:var(--brand-weak)}.subline{font-size:var(--text-micro);color:var(--text-muted);letter-spacing:.12em;margin-top:3px}.status-pill,.soft-pill{display:inline-flex;align-items:center;gap:7px;background:var(--ok-bg);border:1px solid var(--ok-border);border-radius:999px;padding:7px 14px;color:var(--ok);font-size:var(--text-base);font-weight:700}.soft-pill.warn,.status-pill.warn{color:var(--warn);background:var(--warn-bg);border-color:var(--warn-border)}.oem{display:flex;flex-direction:column;align-items:flex-end;gap:3px;color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:.18em}.oem img{width:64px;height:30px;object-fit:cover}.signed-in-as{font-family:var(--font-sans);font-size:var(--text-micro);letter-spacing:0;color:var(--text-muted)}.oem-name{font-family:var(--font-sans);font-size:var(--text-base);letter-spacing:0;color:var(--text)}.layout{display:grid;grid-template-columns:minmax(0,1fr) 388px}.config-column{padding:var(--space-6) 28px;display:flex;flex-direction:column;gap:var(--space-4);border-right:1px solid var(--border);min-width:0}.summary-column{background:var(--surface-sunken);padding:var(--space-6) 22px;display:flex;flex-direction:column;gap:var(--space-4);position:sticky;top:var(--space-8);align-self:start;max-height:calc(100vh - (2 * var(--space-8)));overflow-y:auto;min-width:0}.panel{background:var(--surface-panel);border:1px solid var(--border);border-radius:13px;padding:var(--space-5)}.panel.needs-action{border-color:var(--warn);box-shadow:0 0 0 1px var(--warn)}.panel-head,.line-between{display:flex;align-items:center;justify-content:space-between;gap:14px}.step-title{display:flex;align-items:center;gap:var(--space-2);margin:0 0 var(--space-4);font-size:var(--text-md)}.step-title strong{font-weight:700}.step-title span{font-family:var(--font-mono);font-size:var(--text-micro);font-weight:700;color:var(--text-on-fill);background:var(--brand);border-radius:5px;padding:2px var(--space-2)}.device-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-2)}.device-card,.choice-card{min-height:88px;text-align:left;background:var(--surface-card);border:1.5px solid var(--border);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;justify-content:space-between;gap:var(--space-2);cursor:pointer;color:var(--text)}.choice-card.active,.sensor-card.active{background:var(--accent-weak);border-color:var(--accent)}.device-card.active{background:var(--brand-weak);border-color:var(--brand)}.sensor-card.suggest-add{background:var(--ok-bg);border-color:var(--ok)}.sensor-card.suggest-remove{background:var(--danger-bg);border-color:var(--danger)}.gas-table,.legacy-box,.library-table{background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.gas-row{display:grid;grid-template-columns:minmax(96px,1fr) 90px 90px 60px;align-items:center;gap:var(--space-2);padding:9px 14px;border-bottom:1px solid var(--border-subtle)}.gas-badge{justify-self:start;min-width:52px;min-height:28px;padding:3px var(--space-2);border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-panel);color:var(--text-disabled);font-family:var(--font-mono);font-size:var(--text-base);font-weight:700;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.gas-badge.active{color:var(--text-on-fill)}.gas-badge:not(.active):hover{border-color:var(--text-muted);color:var(--text-muted)}.gas-badge:disabled{cursor:default;opacity:1}.carrier-toggle{justify-self:start;display:inline-flex;align-items:center;padding:var(--space-2) var(--space-1);background:transparent;cursor:pointer}.carrier-row{background:var(--accent-faint)}.input-readonly{background:var(--surface-sunken)!important;color:var(--text-muted)!important;cursor:default}.gas-row.header{font-family:var(--font-mono);font-size:var(--text-micro);color:var(--text-muted);background:var(--surface-panel)}.gas-row input{min-width:0;border:1px solid var(--border);border-radius:7px;padding:6px var(--space-2);text-align:right}.toggle{width:32px;height:18px;border-radius:999px;background:var(--border);position:relative;display:inline-block}.toggle:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--text-disabled);transition:transform .15s ease}.toggle.on{background:var(--accent)}.toggle.on:after{background:var(--surface-card);transform:translate(14px)}.legacy-box{margin:var(--space-4) 0;padding:var(--space-3) 14px}.legacy-box div{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:var(--text-micro);color:var(--text-muted);margin-bottom:var(--space-2)}.mix-bar-block{margin-top:14px}.mix-bar{display:flex;height:32px;border-radius:var(--space-2);overflow:hidden;border:1px solid var(--border);background:var(--surface-track)}.mix-bar div{display:flex;align-items:center;justify-content:center;color:var(--text-on-fill);font-family:var(--font-mono);font-size:var(--text-micro);font-weight:700;white-space:nowrap}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.flow-preset-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) 250px;gap:var(--space-3);align-items:stretch}.flow-card{min-height:84px;gap:var(--space-2)}.flow-card:disabled{opacity:.5;cursor:not-allowed}.flow-card-range{display:flex;flex-direction:column;gap:2px}.flow-card-range small{font-family:var(--font-mono);font-size:var(--text-micro);color:var(--text-muted);margin-top:0}.flow-card-tag{display:block;width:100%;text-align:left;background:none;border:0;padding:0;cursor:pointer;color:inherit}.flow-card-custom.active,.flow-card-custom.active .flow-card-tag{cursor:default}.flow-custom-fields{display:flex;gap:var(--space-2);align-items:start}.flow-custom-fields label{width:74px;gap:var(--space-1)}.flow-custom-fields input{width:100%;padding:var(--space-2)}.flow-hint{font-family:var(--font-mono);font-size:var(--text-micro);color:var(--text-muted)}.unit-chips{display:flex;flex-direction:column;gap:var(--space-1);padding-top:17px}label{display:flex;flex-direction:column;gap:6px;font-size:var(--text-sm);color:var(--text-muted)}.disabled-soft,.disabled-soft .sensor-card{background:var(--surface-sunken);color:var(--text-disabled);pointer-events:none}.disabled-soft .toggle{opacity:.5}.sensor-card small,.choice-card small,.device-card small{display:block;color:var(--text-muted);margin-top:3px}.choice-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.accessory-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-3)}.inline-panel{display:flex;align-items:center;justify-content:space-between}.inline-panel .step-title{margin:0}.toggle-control{display:inline-flex;align-items:center;gap:var(--space-2);background:transparent;color:var(--text-muted);cursor:pointer}.sensor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.sensor-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2);align-items:start}.sensor-column{display:flex;flex-direction:column;gap:var(--space-2)}.sensor-card{background:var(--surface-card);border:1.5px solid var(--border);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:var(--space-3);text-align:left}.sensor-top{display:flex;justify-content:space-between;gap:var(--space-2)}.accessory-columns h3{font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:.14em;color:var(--text-muted);margin:0 0 var(--space-2)}.accessory-columns h3.column-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.accessory-row{background:var(--surface-card);border:1px solid var(--border);border-radius:var(--space-2);padding:10px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-2)}.accessory-row>span{flex:1;min-width:0;overflow-wrap:break-word;word-break:break-word}.service-row{width:100%;margin-bottom:var(--space-2);cursor:pointer}.service-row:disabled{cursor:default}.service-row abbr{text-decoration:none;border-bottom:1px dotted var(--text-muted);cursor:help}.stepper{display:flex;align-items:center;gap:10px;background:var(--surface-panel);border:1px solid var(--border);border-radius:7px;padding:var(--space-1) 6px;flex-shrink:0;white-space:nowrap}.stepper button{position:relative;width:26px;height:26px;display:grid;place-items:center;border:1px solid var(--border);border-radius:5px;background:var(--surface-card);color:var(--text-muted);cursor:pointer}.stepper button:before,.vol-chip:before,.filter-btn:before{content:"";position:absolute;inset:-9px -5px}.stepper button:disabled:before,.vol-chip:disabled:before,.filter-btn:disabled:before{content:none}.input-warn{border-color:var(--brand)!important}.field-warn{color:var(--brand);font-size:var(--text-micro)}.buffer-tank-row{background:var(--surface-card);border:1px solid var(--border);border-radius:var(--space-2);padding:10px;margin-bottom:var(--space-2);display:flex;flex-direction:column;gap:var(--space-2)}.buffer-tank-name{font-size:var(--text-base);color:var(--text)}.volume-chips{display:flex;flex-wrap:wrap;gap:6px}.vol-chip{position:relative;font-family:var(--font-mono);font-size:var(--text-micro);padding:var(--space-1) 10px;border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--surface-panel);color:var(--text);cursor:pointer;transition:border-color .12s,background .12s,color .12s}.vol-chip:hover{border-color:var(--accent);color:var(--accent-text)}.vol-chip.active{background:var(--accent);border-color:var(--accent);color:var(--text-on-fill)}.library-filters{display:flex;gap:6px;margin-bottom:var(--space-2)}.filter-btn{position:relative;font-family:var(--font-mono);font-size:var(--text-micro);padding:5px var(--space-3);border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--surface-card);color:var(--text-muted);cursor:pointer;letter-spacing:.06em;transition:border-color .12s,background .12s,color .12s}.filter-btn:hover{border-color:var(--brand);color:var(--brand)}.filter-btn.active{background:var(--brand);border-color:var(--brand);color:var(--text-on-fill)}.lib-check{display:inline-block;width:var(--space-4);height:var(--space-4);border-radius:var(--space-1);border:1.5px solid var(--border);background:var(--surface-card);flex-shrink:0;position:relative;transition:border-color .12s,background .12s}.lib-check.checked{background:var(--accent);border-color:var(--accent)}.lib-check.checked:after{content:"";position:absolute;top:2px;left:var(--space-1);width:5px;height:var(--space-2);border:2px solid var(--surface-card);border-top:0;border-left:0;transform:rotate(45deg)}.library-band{background:var(--surface-sunken);border:1px solid var(--border);border-radius:13px;padding:var(--space-4)}.library-head{display:flex;justify-content:space-between;margin-bottom:var(--space-3);font-family:var(--font-mono);font-size:var(--text-micro);color:var(--text-muted);letter-spacing:.14em}.library-head b{color:var(--brand)}.library-table{max-height:320px;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.library-table::-webkit-scrollbar{height:var(--space-2);width:var(--space-2)}.library-table::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--space-1)}.library-table::-webkit-scrollbar-track{background:transparent}.library-row{width:100%;display:grid;grid-template-columns:32px 48px 76px minmax(150px,1fr) 180px 180px;gap:var(--space-3);align-items:center;background:var(--surface-card);border-bottom:1px solid var(--border-subtle);padding:10px var(--space-3);color:var(--text);text-align:left;cursor:pointer}.library-row.active{background:var(--accent-surface)}.library-row-head{position:sticky;top:0;z-index:1;background:var(--surface-panel);border-bottom:1px solid var(--border);font-family:var(--font-mono);font-size:var(--text-micro);color:var(--text-muted);letter-spacing:.08em;cursor:default}.library-row>span:nth-child(2),.library-row>span:nth-child(3){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-preview{display:flex;height:14px;border-radius:var(--space-1);overflow:hidden;background:var(--surface-track)}.bar-preview i{display:block}.suggestion-button{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 var(--space-3);border:1.5px solid var(--accent);border-radius:var(--radius-sm);background:var(--accent-weak);color:var(--accent-text);font-size:var(--text-sm);font-weight:700;cursor:pointer;white-space:nowrap}.suggestion-button:hover{background:var(--accent);color:var(--text-on-fill)}.suggestion-button.is-warning{border-color:var(--warn-border);background:var(--warn-bg);color:var(--warn)}.suggestion-button.is-warning:hover{background:var(--warn);color:var(--text-on-fill)}.warning-list{background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);color:var(--warn);font-size:var(--text-sm)}.warning-list ul{margin:6px 0 0;padding-left:var(--space-4)}.warning-list li+li{margin-top:2px}.summary-title{font-size:var(--text-micro);letter-spacing:.18em;color:var(--text-muted)}.summary-column.is-calculating .price-hero,.summary-column.is-calculating .price-lines,.summary-column.is-calculating .price-card{opacity:.55;transition:opacity .12s ease}.price-card,.price-hero,.tech-card{background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5)}.price-card{display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-muted)}.price-hero{display:flex;flex-direction:column;gap:6px;background:var(--accent-surface);border-color:var(--accent-border)}.price-hero-label{font-size:var(--text-micro);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-text);font-weight:700}.price-anchor{font-size:var(--text-micro);color:var(--text-muted)}.price-anchor abbr{text-decoration:none;border-bottom:1px dotted var(--text-muted);cursor:help}.price-hero strong{font-family:var(--font-mono);font-size:var(--text-hero);line-height:1;color:var(--text)}.price-saving{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-muted)}.price-saving em{color:var(--text-on-fill);background:var(--brand);border-radius:var(--radius-sm);padding:2px var(--space-2);font-style:normal;font-family:var(--font-mono);font-weight:700}.price-lines{display:flex;flex-direction:column;gap:var(--space-2);padding:0 var(--space-5)}.price-line{font-size:var(--text-base);color:var(--text-muted)}.price-line b{font-family:var(--font-mono);color:var(--text)}.price-line.total{border-top:1px solid var(--border);padding-top:var(--space-2);color:var(--text);font-weight:700}.price-line.total b{font-size:var(--text-lg)}.price-card.running{background:var(--surface-panel)}.price-card.running b{font-family:var(--font-mono);color:var(--text);white-space:nowrap}.price-card.running b small{font-family:var(--font-sans);color:var(--text-muted);font-size:var(--text-micro)}.running-line{align-items:flex-start}.running-value{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.price-card.sales{background:var(--surface-panel)}.margin-label{flex-direction:row!important;align-items:center;gap:var(--space-2)!important;font-size:var(--text-sm)}.sales-total{font-family:var(--font-mono);font-size:var(--text-lg);color:var(--text)}.sales-recurring{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border);font-size:var(--text-micro);color:var(--text-muted)}.sales-recurring b{font-family:var(--font-mono);color:var(--text-muted)}.price-card input{max-width:68px;color:var(--ok);font-weight:800}.margin-input-row{display:flex;align-items:center;gap:var(--space-1)}.margin-unit{font-size:var(--text-base);font-weight:700;color:var(--ok)}.tech-title{font-size:var(--text-micro);letter-spacing:.16em;color:var(--text-muted);margin-bottom:14px}.tech-row{display:flex;justify-content:space-between;gap:var(--space-3);border-bottom:1px solid var(--border-subtle);padding:var(--space-2) 0;font-size:var(--text-base)}.tech-row b{font-family:var(--font-mono);white-space:nowrap;flex-shrink:0;align-self:flex-start}.tech-row.muted{color:var(--text-muted)}.tech-row.accent b{color:var(--accent-text)}.cta-row,.modal-actions{display:flex;gap:9px}.spinner{width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:46px;border-radius:var(--radius);font-size:var(--text-md);font-weight:800;cursor:pointer}.primary-button{flex:1;background:var(--brand);color:var(--text-on-fill)}.secondary-button{background:var(--surface-card);border:1px solid var(--border);color:var(--text);padding:0 var(--space-4)}button:disabled{cursor:not-allowed;opacity:.5}.help-button{width:100%;min-height:44px;border-radius:var(--radius);border:1.5px dashed var(--brand);background:transparent;color:var(--brand);font-size:var(--text-md);font-weight:700;cursor:pointer;transition:background .15s,color .15s}.help-button:hover{background:var(--brand-weak)}.help-button:disabled{opacity:.5;cursor:not-allowed}.checkbox-label{flex-direction:row!important;align-items:center;gap:var(--space-2)!important;font-size:var(--text-md)!important;color:var(--text)!important;cursor:pointer}.checkbox-label input[type=checkbox]{width:var(--space-4);height:var(--space-4);accent-color:var(--brand);flex-shrink:0}.checkbox-label-terms{align-items:flex-start!important;font-size:var(--text-sm)!important;line-height:1.4}.checkbox-label-terms input[type=checkbox]{margin-top:2px}.modal textarea{width:100%;background:var(--surface-card);border:1px solid var(--border);border-radius:var(--space-2);padding:10px var(--space-3);color:var(--text);resize:vertical;font:inherit}.required-star{color:var(--brand);font-weight:700}.modal-legend{margin:0;font-size:var(--text-micro);color:var(--text-muted)}.modal-error{margin:0;border:1px solid var(--danger-border);border-radius:var(--space-2);background:var(--danger-bg);padding:10px var(--space-3);color:var(--danger);font-size:var(--text-base)}.toast{position:fixed;right:24px;bottom:24px;max-width:420px;background:var(--surface-inverse);color:var(--text-on-fill);border-radius:var(--radius);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-toast);z-index:30}.toast.error{background:var(--danger)}.modal-backdrop{position:fixed;inset:0;background:var(--backdrop);display:grid;place-items:center;padding:22px;z-index:20}.modal{width:min(520px,100%);background:var(--surface-card);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-modal);display:flex;flex-direction:column;gap:14px}.modal h2{margin:0;font-size:var(--text-xl)}@media(max-width:1360px){.library-table{overflow-x:auto;-webkit-overflow-scrolling:touch}.library-row{grid-template-columns:22px 38px 70px minmax(140px,1fr) minmax(140px,1fr)}.library-row .bar-preview{display:none}}@media(max-width:1100px){.page{padding:24px}.layout{grid-template-columns:1fr}.config-column{border-right:0}.summary-column{border-top:1px solid var(--border);position:static;max-height:none;overflow-y:visible}.two-col{grid-template-columns:1fr}}@media(max-width:760px){.page{padding:var(--space-3)}.config-column{padding:var(--space-4) var(--space-3)}.panel{padding:var(--space-3)}.page-label{align-items:flex-start;flex-direction:column}.tool-header{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;row-gap:var(--space-4);column-gap:var(--space-3)}.brand-group,.header-right{display:contents}.gasyco-logo{order:1}.oem{order:2}.brand-text{order:3;flex:0 0 100%}.status-pill{order:4}.divider{display:none}.device-grid,.two-col,.choice-row,.accessory-columns,.sensor-grid,.sensor-columns,.flow-preset-grid{grid-template-columns:1fr}.gas-row{grid-template-columns:minmax(0,1fr) 56px 56px 40px;gap:6px;padding:7px var(--space-2)}.library-filters{flex-wrap:wrap}.library-table{overflow-x:scroll}.library-row{grid-template-columns:22px 40px 70px 150px 150px;gap:var(--space-2);width:max-content;min-width:100%}.library-row>span:nth-child(5),.library-row>span:nth-child(6){white-space:nowrap}.library-row .bar-preview{display:none}}.page-gated{filter:blur(6px);-webkit-user-select:none;user-select:none}.gate-backdrop{position:fixed;inset:0;background:var(--backdrop);display:grid;place-items:center;padding:22px;overflow-y:auto;z-index:40}.gate{width:min(420px,100%);background:var(--surface-card);border-radius:var(--radius-lg);padding:28px;box-shadow:var(--shadow-modal);display:flex;flex-direction:column;gap:var(--space-3)}.gate-title{margin:0 0 var(--space-2);font-size:var(--text-xl);text-align:center}.gate-tabs{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);margin-bottom:var(--space-2)}.gate-tab{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;border:1.5px solid var(--border);border-radius:var(--radius);background:var(--surface-card);color:var(--text-muted);font-size:var(--text-md);font-weight:700;cursor:pointer;transition:border-color .12s,background .12s,color .12s}.gate-tab.active{border-color:var(--brand);background:var(--brand-weak);color:var(--brand)}.password-field{position:relative;display:block}.password-field input{padding-right:46px}.password-peek{position:absolute;top:0;right:0;display:inline-flex;align-items:center;justify-content:center;width:44px;height:100%;background:transparent;color:var(--text-muted);border-radius:0 var(--space-2) var(--space-2) 0;cursor:pointer;touch-action:manipulation}.password-peek:hover{color:var(--brand)}.gate-step-title{display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin:0 0 var(--space-2);font-size:var(--text-md);color:var(--brand)}.gate-notice{margin:0;border:1px solid var(--ok-border, var(--border));border-radius:var(--space-2);background:var(--surface-sunken);padding:10px var(--space-3);color:var(--text);font-size:var(--text-sm)}.gate-link-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;background:transparent;color:var(--text-muted);font-size:var(--text-sm);text-decoration:underline;cursor:pointer}.gate-link-button:hover{color:var(--brand)}.gate-request-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:44px;border:1.5px dashed var(--brand);border-radius:var(--radius);background:transparent;color:var(--brand);font-size:var(--text-md);font-weight:700;cursor:pointer;transition:background .15s,color .15s}.gate-request-button:hover{background:var(--brand-weak)}.modal-backdrop-gate{z-index:50}.gate-hint{margin:0;font-size:var(--text-sm);color:var(--text-muted)}.gate-privacy{margin:0;font-size:var(--text-micro);color:var(--text-muted)}.page-label-right{display:flex;align-items:center;gap:var(--space-4)}.app-version{font-family:var(--font-mono);font-size:var(--text-micro);color:var(--text-muted);letter-spacing:.1em}.link-button{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 var(--space-2);background:transparent;color:var(--text-muted);font-size:var(--text-sm);font-weight:700;cursor:pointer}.link-button:hover{color:var(--brand)}.admin-frame{padding-bottom:var(--space-5)}.admin-head-actions{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;justify-content:flex-end}.admin-heading{margin:0;font-size:var(--text-xl)}.admin-body{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:var(--space-5);padding:var(--space-6) 28px;align-items:start}.admin-list{display:flex;flex-direction:column;gap:var(--space-2)}.admin-row{display:flex;align-items:center;gap:var(--space-2);background:var(--surface-card);border:1.5px solid var(--border);border-radius:var(--radius);padding:var(--space-2) var(--space-3)}.admin-row.active{border-color:var(--accent);background:var(--accent-weak)}.admin-row-main{flex:1;min-width:0;text-align:left;background:transparent;cursor:pointer;color:var(--text)}.admin-row-main small{display:block;color:var(--text-muted);font-size:var(--text-sm);margin-top:2px}.admin-delete{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-card);color:var(--text-muted);cursor:pointer;flex-shrink:0}.admin-delete:hover{border-color:var(--brand);color:var(--brand)}.admin-editor{display:flex;flex-direction:column;gap:var(--space-2)}.admin-mode{display:flex;align-items:center;gap:var(--space-2);margin:0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-base);font-weight:700}.admin-mode.is-create{color:var(--accent-text);background:var(--accent-weak)}.admin-mode.is-edit{color:var(--brand);background:var(--brand-weak)}.admin-mode-name{margin-left:auto;font-weight:600;font-family:var(--font-mono)}.admin-form{display:flex;flex-direction:column;gap:var(--space-3)}.admin-notice{margin:0;font-size:var(--text-sm);color:var(--ok)}.admin-warning{display:flex;align-items:center;gap:var(--space-2);margin:0 0 var(--space-3);border:1px solid var(--warn-border);border-radius:var(--space-2);background:var(--warn-bg);padding:10px var(--space-3);color:var(--warn);font-size:var(--text-sm)}.admin-empty{margin:0;color:var(--text-muted);font-size:var(--text-sm)}.admin-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.admin-body-wide{grid-template-columns:minmax(0,1fr)}.admin-log-scroll{overflow-x:auto}.admin-log{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.admin-log th,.admin-log td{padding:var(--space-2) var(--space-3);text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}.admin-log th{color:var(--text-muted);font-weight:600}.admin-log tr.is-failed td{color:var(--warn)}.admin-log-source{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--text-muted)}.admin-confirm{max-width:420px}.admin-confirm-body{margin:0 0 var(--space-2);color:var(--text-muted);font-size:var(--text-base);line-height:1.5}.admin-confirm .modal-actions{justify-content:flex-end}@media(max-width:1100px){.admin-body{grid-template-columns:1fr}}.tour-root{position:fixed;inset:0;z-index:300;overflow:hidden;pointer-events:none}.tour-veil{position:absolute;inset:0;pointer-events:auto}.tour-root.tour-nospot .tour-veil{background:#0009}.tour-spot{position:absolute;border-radius:var(--radius);box-shadow:0 0 0 9999px #0009,0 0 0 2px var(--accent);transition:left .2s,top .2s,width .2s,height .2s}.tour-spot[hidden]{display:none}.tour-bubble{position:absolute;pointer-events:auto;width:min(380px,calc(100vw - 16px));background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 30px #00000073;padding:16px 18px;color:var(--text);display:flex;flex-direction:column;gap:8px}.tour-bubble[data-pos=center]{left:50%;top:50%;transform:translate(-50%,-50%)}.tour-bubble[data-pos=bottom]{left:50%;bottom:16px;transform:translate(-50%)}.tour-count{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.tour-title{margin:0;font-size:16px;font-weight:600}.tour-text p{margin:0;font-size:13px;line-height:1.5}.tour-text p+p{margin-top:6px}.tour-actions{display:flex;align-items:center;gap:8px;margin-top:6px}.tour-actions button[hidden]{display:none}.tour-skip{margin-right:auto;font-size:12px;min-height:36px}.tour-back,.tour-next{min-height:36px;padding:0 14px;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:700;cursor:pointer}.tour-back{background:transparent;color:var(--text);border:1px solid var(--border)}.tour-back:hover{border-color:var(--accent)}.tour-next{background:var(--brand);color:var(--text-on-fill)}@media(max-width:768px){.tour-bubble[data-pos]{left:8px!important;right:8px;bottom:8px;top:auto!important;width:auto;transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
