.layer-labels{pointer-events:none}.layer-labels text{paint-order:stroke;stroke:#fff;stroke-width:3;stroke-linejoin:round;-webkit-user-select:none;user-select:none}.layer-labels-3d{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.layer-labels-3d .lbl{position:absolute;transform-origin:0 0;white-space:nowrap;font-family:system-ui,-apple-system,sans-serif;text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 3px #fff;-webkit-user-select:none;user-select:none}:root{--navy: #0c1f38;--navy-mid: #163352;--blue: #2563eb;--blue-light: #3b82f6;--teal: #0891b2;--green: #16a34a;--amber: #d97706;--red: #dc2626;--bg: #f0f4f8;--surface: #ffffff;--surface-raised: #f8fafc;--border: #dde3ea;--border-focus: #2563eb;--text: #1a2840;--text-muted: #5a6a80;--text-light: #94a3b8;--radius: 6px;--radius-lg: 10px;--shadow-sm: 0 1px 2px rgba(0,0,0,.06);--shadow: 0 1px 3px rgba(0,0,0,.1), 0 1px 2px rgba(0,0,0,.06);--shadow-md: 0 4px 8px rgba(0,0,0,.1), 0 2px 4px rgba(0,0,0,.06);--shadow-lg: 0 10px 24px rgba(0,0,0,.14), 0 4px 8px rgba(0,0,0,.08);--transition-fast: .15s ease;--transition-med: .25s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);line-height:1.5;font-size:14.5px}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-mid) 100%);color:#fff;padding:0 24px;box-shadow:0 2px 8px #00000040}.header-inner{max-width:1280px;margin:0 auto;height:60px;display:flex;align-items:center;justify-content:space-between}.header-brand{display:flex;align-items:baseline;gap:12px}.brand-name{font-size:1.4rem;font-weight:700;letter-spacing:-.5px;color:#fff}.brand-tag{font-size:.78rem;color:#93c5fd;font-weight:400}.header-meta{display:flex;gap:8px}.header-badge{font-size:.68rem;font-weight:600;padding:2px 10px;border-radius:999px;background:#ffffff26;color:#bfdbfe;letter-spacing:.05em;text-transform:uppercase}.header-badge--phase{background:#2563eb80}.header-user{display:flex;align-items:center;gap:8px;margin-left:4px}.header-avatar{width:28px;height:28px;border-radius:50%;border:2px solid rgba(255,255,255,.3)}.header-username{font-size:.8rem;color:#bfdbfe;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-logout{font-size:.72rem;padding:3px 10px;border-radius:4px;border:1px solid rgba(255,255,255,.25);background:transparent;color:#bfdbfe;cursor:pointer;transition:background .15s}.header-logout:hover{background:#ffffff1f}.app-loading{display:flex;align-items:center;justify-content:center;height:100vh;background:var(--navy)}.app-loading-spinner{width:36px;height:36px;border:3px solid rgba(255,255,255,.15);border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--navy);padding:24px}.login-card{background:var(--navy-mid);border:1px solid #1e3a5f;border-radius:12px;padding:40px 44px;max-width:420px;width:100%;text-align:center;box-shadow:0 8px 32px #0006}.login-brand{display:flex;flex-direction:column;align-items:center;gap:4px;margin-bottom:20px}.login-brand .brand-name{font-size:2rem}.login-brand .brand-tag{font-size:.85rem}.login-desc{color:#94a3b8;font-size:.88rem;margin-bottom:28px;line-height:1.5}.login-error{background:#ef44441f;border:1px solid rgba(239,68,68,.3);color:#fca5a5;border-radius:6px;padding:10px 14px;font-size:.82rem;margin-bottom:18px}.login-error--warn{background:#f59e0b1a;border-color:#f59e0b4d;color:#fcd34d}.login-btn-google{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:12px 20px;border-radius:8px;border:1px solid #1e3a5f;background:#fff;color:#1f2937;font-size:.92rem;font-weight:600;cursor:pointer;transition:box-shadow .15s,background .15s}.login-btn-google:hover{background:#f8fafc;box-shadow:0 2px 12px #3b82f640}.login-google-icon{width:20px;height:20px;flex-shrink:0}.login-note{margin-top:20px;font-size:.75rem;color:#475569;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px}.app-main{flex:1;max-width:1280px;width:100%;margin:20px auto;padding:0 16px}.calculator-v3{background:var(--surface);border-radius:10px;box-shadow:var(--shadow-md);overflow:hidden}.global-bar{background:var(--surface-raised);border-bottom:1px solid var(--border)}.global-bar__inner{display:flex;gap:24px;align-items:flex-start;flex-wrap:wrap;padding:14px 20px}.global-bar__group{flex:1;min-width:260px}.global-bar__sep{width:1px;background:var(--border);align-self:stretch;margin:4px 0}.bar-section-title{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:10px}.bar-fields{display:flex;gap:10px;flex-wrap:wrap}.bar-fields .form-group{min-width:150px;flex:1}.workspace{display:grid;grid-template-columns:1fr 300px;gap:0;border-bottom:1px solid var(--border)}.workspace__left{border-right:1px solid var(--border);padding:16px}.workspace__right{padding:16px;background:#fafafa}.segment-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.segment-header__title{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.btn-add-segment{font-size:.78rem;font-weight:600;color:var(--blue);background:#eff6ff;border:1px solid #bfdbfe;border-radius:var(--radius);padding:4px 12px;cursor:pointer;transition:background .15s}.btn-add-segment:hover{background:#dbeafe}.segment-list{display:flex;flex-direction:column;gap:6px}.segment-item{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:border-color .15s}.segment-item--active{border-color:var(--blue);box-shadow:0 0 0 2px #2563eb1a}.segment-row{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;background:#f8fafc;transition:background .1s}.segment-item--active .segment-row{background:#eff6ff}.segment-row:hover{background:#f1f5f9}.segment-idx{width:20px;height:20px;border-radius:50%;background:var(--navy);color:#fff;font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.segment-item--active .segment-idx{background:var(--blue)}.segment-name-input{flex:0 0 auto;width:130px;font-size:.82rem;font-weight:600;border:1px solid transparent;border-radius:4px;padding:2px 6px;background:transparent;color:var(--text)}.segment-name-input:focus{outline:none;border-color:var(--border-focus);background:#fff}.segment-summary{flex:1;min-width:0;font-size:.78rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.segment-result-badge{font-size:.75rem;font-weight:700;color:var(--green);background:#f0fdf4;border:1px solid #86efac;border-radius:4px;padding:1px 8px;font-variant-numeric:tabular-nums;transition:opacity .2s}.segment-result-badge--stale{opacity:.5;font-style:italic;color:#6b7280;background:#f3f4f6;border-color:#d1d5db}.segment-result-badge--loading{opacity:.35;color:#6b7280;background:#f3f4f6;border-color:#d1d5db}.seg-error-dot{width:8px;height:8px;border-radius:50%;background:var(--red);flex-shrink:0}.segment-actions{display:flex;gap:4px}.seg-btn{font-size:.72rem;padding:2px 7px;border-radius:4px;border:1px solid var(--border);background:#fff;color:var(--text-muted);cursor:pointer;transition:background .1s,color .1s}.seg-btn:hover{background:#f1f5f9;color:var(--text)}.seg-btn--del:hover{background:#fef2f2;color:var(--red);border-color:#fecaca}.seg-calc-error{padding:6px 12px;font-size:.78rem;color:var(--red);background:#fef2f2;border-top:1px solid #fecaca}.segment-editor{padding:12px 14px;border-top:1px solid var(--border);background:#fff}.seg-section-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin:10px 0 8px}.seg-section-label:first-child{margin-top:0}.seg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px 12px}.seg-temp-grid{background:#fafaf8;padding:10px;border-radius:6px;border:1px dashed #d1d5db}.form-group{display:flex;flex-direction:column;gap:3px}.form-group label{font-size:.75rem;font-weight:500;color:var(--text-muted)}.form-group input,.form-group select{height:34px;padding:0 8px;border:1px solid var(--border);border-radius:var(--radius);font-size:.83rem;color:var(--text);background:var(--surface);transition:border-color .15s,box-shadow .15s;width:100%}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px #2563eb1a}.form-group input.readonly{background:#f8fafc;color:var(--text-muted);cursor:default}.input--error{border-color:var(--red)!important}.input--error:focus{box-shadow:0 0 0 3px #dc26261a!important}.field-error{display:flex;align-items:center;gap:5px;font-size:.72rem;color:var(--red);margin-top:1px}.error-code{font-size:.65rem;font-weight:700;font-family:monospace;background:#fef2f2;border:1px solid #fecaca;color:var(--red);padding:0 5px;border-radius:3px;letter-spacing:.03em}.toggle-label{display:flex;align-items:center;gap:7px;font-size:.78rem;font-weight:600;color:var(--text-muted);cursor:pointer}.toggle-label input[type=checkbox]{width:14px;height:14px;accent-color:var(--blue);cursor:pointer}.sketch-panel{display:flex;flex-direction:column;align-items:center}.sketch-title{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin-bottom:10px;text-align:center;width:100%}.pipe-cross-section{border:1px solid var(--border);border-radius:var(--radius);background:#f0f9ff}.sketch-dims{width:100%;margin-top:10px;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.dim-row{display:flex;justify-content:space-between;padding:4px 10px;font-size:.75rem;border-bottom:1px solid var(--border)}.dim-row:last-child{border-bottom:none}.dim-label{color:var(--text-muted)}.dim-value{font-weight:600;color:var(--text);font-variant-numeric:tabular-nums;font-family:monospace}.pipeline-sketch-section{padding:12px 20px;border-bottom:1px solid var(--border);background:#f8fafc}.section-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:8px}.pipeline-sketch{display:block;width:100%;cursor:pointer}.cable-selector-section{padding:14px 20px;border-bottom:1px solid var(--border)}.cable-selector-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cs-mode-toggle{display:flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.cs-mode-btn{font-size:.78rem;font-weight:600;padding:5px 14px;border:none;background:#f8fafc;color:var(--text-muted);cursor:pointer;transition:background .1s,color .1s}.cs-mode-btn--active{background:var(--blue);color:#fff}.cable-selector-bar select{height:34px;padding:0 8px;border:1px solid var(--border);border-radius:var(--radius);font-size:.82rem;color:var(--text);background:#fff;min-width:160px}.cable-selector-bar select:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px #2563eb1a}.cs-selected-badge{display:flex;align-items:center;gap:8px;background:#f0fdf4;border:1px solid #86efac;border-radius:var(--radius);padding:5px 12px;font-size:.78rem}.cs-badge-type{font-weight:700;font-size:.68rem;background:#dcfce7;color:var(--green);padding:1px 6px;border-radius:4px;text-transform:uppercase}.cs-badge-rating{font-weight:700;font-size:.92rem;color:var(--navy);font-variant-numeric:tabular-nums}.cs-badge-mfr{color:var(--text-muted);font-size:.72rem}.cs-badge-label{color:var(--text);font-size:.78rem}.cs-warning{font-size:.78rem;color:var(--amber);background:#fffbeb;border:1px solid #fde68a;border-radius:var(--radius);padding:5px 12px}.calc-footer{padding:16px 20px;display:flex;flex-direction:column;gap:8px}.calc-button{display:block;width:100%;height:44px;background:var(--blue);color:#fff;border:none;border-radius:var(--radius);font-size:.9rem;font-weight:600;cursor:pointer;letter-spacing:.01em;transition:background .15s,box-shadow .15s}.calc-button:hover:not(:disabled){background:#1d4ed8;box-shadow:0 2px 8px #2563eb59}.calc-button:disabled{background:#93c5fd;cursor:not-allowed}.error-banner{padding:10px 14px;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius);color:var(--red);font-size:.83rem}.stale-notice{padding:10px 14px;background:#fffbeb;border:1px solid #fde68a;border-radius:var(--radius);color:var(--amber);font-size:.83rem}.results-panel{border-top:2px solid var(--blue);padding:20px}.results-total{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;margin-bottom:20px}.results-export-bar{display:flex;justify-content:flex-end;margin:-8px 0 16px}.export-btn{background:transparent;border:1px solid var(--blue);color:var(--blue);padding:6px 14px;border-radius:6px;font-size:.82rem;cursor:pointer;transition:background .15s,color .15s}.export-btn:hover{background:var(--blue);color:#fff}.metric-card{padding:12px 14px;border-radius:var(--radius);display:flex;flex-direction:column;gap:2px;border:1px solid transparent}.metric-card--neutral{background:#f8fafc;border-color:var(--border)}.metric-card--primary{background:#eff6ff;border-color:#bfdbfe}.metric-card--accent{background:#f0fdf4;border-color:#86efac}.metric-card--warn{background:#fff7ed;border-color:#fed7aa}.metric-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.metric-value{font-size:1.25rem;font-weight:700;color:var(--navy);line-height:1.2;margin-top:4px;font-variant-numeric:tabular-nums}.metric-sub{font-size:.72rem;color:var(--text-light)}.results-cable-warn{margin-bottom:16px;padding:10px 14px;background:#fff7ed;border:1px solid #fed7aa;border-radius:var(--radius);color:var(--amber);font-size:.82rem}.results-segments{display:flex;flex-direction:column;gap:8px}.seg-result-card{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.seg-result-header{display:flex;align-items:center;gap:10px;padding:9px 14px;background:#f8fafc;cursor:pointer;flex-wrap:wrap}.seg-result-name{font-weight:600;font-size:.85rem;flex:1;min-width:100px}.seg-result-key{font-size:.92rem;font-weight:700;color:var(--blue);font-variant-numeric:tabular-nums}.seg-result-total{font-size:.78rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.seg-result-dt{font-size:.78rem;color:var(--text-muted)}.seg-result-cable{font-size:.72rem;font-weight:700;background:#dcfce7;color:var(--green);padding:2px 8px;border-radius:4px}.seg-result-toggle{font-size:.72rem;border:none;background:transparent;color:var(--text-muted);cursor:pointer;padding:2px 6px;border-radius:4px}.seg-result-toggle:hover{background:var(--border)}.seg-result-detail{padding:12px 14px;border-top:1px solid var(--border)}.diag-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin-bottom:12px}.diag-row{display:flex;justify-content:space-between;padding:4px 8px;font-size:.78rem}.diag-row:hover{background:#f8fafc}.diag-label{color:var(--text-muted)}.diag-value{font-weight:500;color:var(--text);font-variant-numeric:tabular-nums;font-family:monospace}.diag-separator{grid-column:1 / -1;height:1px;background:var(--border);margin:4px 0}.cable-table{width:100%;border-collapse:collapse;font-size:.78rem}.cable-table th{text-align:left;padding:5px 8px;background:#f8fafc;color:var(--text-muted);font-weight:600;border-bottom:1px solid var(--border)}.cable-table td{padding:6px 8px;border-bottom:1px solid var(--border)}.cable-row--best td{background:#f0fdf4;font-weight:600}.cable-badge{display:inline-block;font-size:.65rem;font-weight:700;padding:1px 5px;border-radius:3px;margin-left:4px;vertical-align:middle;letter-spacing:.03em}.cable-badge--norsok{background:#1e40af;color:#fff}.cable-badge--sr{background:#0891b2;color:#fff}.cable-badge--cw{background:#d97706;color:#fff}.cable-badge--atex{background:#7c3aed;color:#fff}.cable-badge--zone1{background:#b91c1c;color:#fff}.cable-badge--zone2{background:#c2410c;color:#fff}.cable-datasheet-link{display:inline-block;margin-left:6px;color:var(--blue);font-size:.8rem;text-decoration:none;opacity:.75;transition:opacity .15s}.cable-datasheet-link:hover{opacity:1}.export-btn--print{margin-left:8px}.eb-circuit-load{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0;margin:0 8px}.eb-load-bar-wrap{height:4px;background:#1e3a5f;border-radius:2px;overflow:hidden}.eb-load-bar-wrap--over{background:#7f1d1d}.eb-load-bar{height:100%;background:#3b82f6;border-radius:2px;transition:width .3s}.eb-load-bar-wrap--over .eb-load-bar{background:#ef4444}.eb-budget{background:#0f2235;border:1px solid #1e3a5f;border-radius:6px;padding:10px 12px;margin-top:10px}.eb-budget--over{border-color:#7f1d1d;background:#1f0d0d}.eb-budget-header{display:flex;justify-content:space-between;font-size:.75rem;color:#94a3b8;margin-bottom:6px}.eb-budget-val{color:#e2e8f0;font-weight:600}.eb-budget-track{height:8px;background:#1e3a5f;border-radius:4px;overflow:hidden}.eb-budget-fill{height:100%;background:#3b82f6;border-radius:4px;transition:width .3s}.eb-budget--over .eb-budget-fill{background:#ef4444}.eb-budget-warn{color:#fca5a5;font-size:.72rem;margin-top:6px}.cooldown-panel{padding:20px;max-width:1200px}.cooldown-header h3{font-size:1.1rem;color:var(--text);margin-bottom:6px}.cooldown-desc{font-size:.82rem;color:#94a3b8;margin-bottom:16px;max-width:700px}.cooldown-controls{display:flex;gap:20px;align-items:center;margin-bottom:14px;flex-wrap:wrap}.cooldown-label{display:flex;align-items:center;gap:8px;font-size:.82rem;color:#94a3b8}.cooldown-input{width:70px;padding:5px 8px;background:#0f2235;border:1px solid #1e3a5f;border-radius:4px;color:#e2e8f0;font-size:.85rem}.cooldown-select{padding:5px 8px;background:#0f2235;border:1px solid #1e3a5f;border-radius:4px;color:#e2e8f0;font-size:.85rem}.cooldown-legend{display:flex;gap:14px;align-items:center;font-size:.78rem;color:#94a3b8;margin-bottom:12px}.cd-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:4px}.cd-dot--ok{background:#22c55e}.cd-dot--warn{background:#f59e0b}.cd-dot--danger{background:#ef4444}.cooldown-table{width:100%;border-collapse:collapse;font-size:.82rem}.cooldown-table th{background:#0f2235;padding:6px 10px;text-align:left;color:#94a3b8;font-weight:600;border-bottom:1px solid #1e3a5f}.cooldown-table td{padding:7px 10px;border-bottom:1px solid #1e3a5f}.cd-row--warn td{background:#f59e0b0f}.cd-row--danger td{background:#ef444414}.cd-time{white-space:nowrap}.cd-time-sub{font-size:.75rem;color:#64748b}.cd-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:.72rem;font-weight:700}.cd-badge--ok{background:#14532d;color:#86efac}.cd-badge--warn{background:#78350f;color:#fcd34d}.cd-badge--danger{background:#7f1d1d;color:#fca5a5}.cooldown-empty{color:#64748b;padding:40px;text-align:center;font-size:.9rem}.cable-model{font-weight:600;font-size:.8rem}.cable-ref-rating{font-size:.7rem;color:var(--text-muted);margin-left:3px}.cable-margin--low{color:var(--amber);font-weight:600}.cs-badge-circuit{font-size:.7rem;color:var(--text-muted);margin-left:6px}.tqs-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 20px 12px;margin-bottom:16px;box-shadow:var(--shadow)}.tqs-row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.tqs-row--presets{margin-bottom:14px}.tqs-row--temps{justify-content:center;gap:0;margin-bottom:14px}.tqs-row--secondary{gap:20px;padding-top:10px;border-top:1px solid var(--border)}.tqs-label{display:block;font-size:.72rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.tqs-preset-group{display:flex;flex-direction:column}.tqs-select{height:34px;padding:0 8px;border:1px solid var(--border);border-radius:var(--radius);font-size:.85rem;background:#fff;color:var(--text);cursor:pointer;min-width:180px}.tqs-select:focus{outline:none;border-color:var(--border-focus)}.tqs-temp-card{display:flex;flex-direction:column;align-items:center;padding:12px 28px;border-radius:var(--radius);min-width:140px}.tqs-temp-card--ambient{background:#eff6ff;border:2px solid #3b82f6}.tqs-temp-card--maintain{background:#fef3c7;border:2px solid #d97706}.tqs-temp-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:6px}.tqs-temp-input-wrap{display:flex;align-items:baseline;gap:4px}.tqs-temp-input{width:80px;font-size:2rem;font-weight:700;text-align:center;border:none;background:transparent;color:var(--text);padding:0}.tqs-temp-input:focus{outline:none;border-bottom:2px solid var(--border-focus)}.tqs-temp-input.input--error{border-bottom:2px solid var(--red);color:var(--red)}.tqs-temp-unit{font-size:1.2rem;font-weight:600;color:var(--text-muted)}.tqs-delta-display{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 20px;min-width:100px}.tqs-delta-arrow{font-size:1.8rem;color:var(--text-muted);line-height:1}.tqs-delta-val{font-size:.85rem;font-weight:700;color:var(--teal);white-space:nowrap}.tqs-delta-err{font-size:.72rem;color:var(--red);text-align:center;margin-top:4px;max-width:100px}.tqs-secondary-field{display:flex;flex-direction:column}.tqs-secondary-input-wrap{display:flex;align-items:center;gap:4px}.tqs-secondary-input{width:64px;height:32px;padding:0 8px;border:1px solid var(--border);border-radius:var(--radius);font-size:.9rem;font-weight:600;text-align:center}.tqs-secondary-input:focus{outline:none;border-color:var(--border-focus)}.tqs-secondary-unit{font-size:.8rem;color:var(--text-muted)}.seg-quickadd{display:flex;align-items:center;gap:6px}.seg-quickadd__dn{height:30px;padding:0 6px;border:1px solid var(--border);border-radius:var(--radius);font-size:.82rem;background:#fff;cursor:pointer}.seg-quickadd__len{width:58px;height:30px;padding:0 6px;border:1px solid var(--border);border-radius:var(--radius);font-size:.85rem;text-align:center}.seg-quickadd__unit{font-size:.78rem;color:var(--text-muted)}.seg-quickadd__btn{height:30px;padding:0 12px;background:var(--blue);color:#fff;border:none;border-radius:var(--radius);font-size:.82rem;font-weight:600;cursor:pointer;white-space:nowrap}.seg-quickadd__btn:hover{background:var(--blue-light)}.seg-essentials{padding:10px 12px 4px}.seg-essential-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:8px}.seg-advanced-toggle{width:100%;padding:7px 12px;background:#f8fafc;border:none;border-top:1px solid var(--border);border-bottom:1px solid var(--border);font-size:.78rem;color:var(--text-muted);font-weight:600;cursor:pointer;text-align:left;letter-spacing:.01em}.seg-advanced-toggle:hover{background:#f1f5f9;color:var(--text)}.seg-advanced{padding:10px 12px;background:#fafafa;border-bottom-left-radius:var(--radius);border-bottom-right-radius:var(--radius)}.cable-verdict{background:linear-gradient(135deg,#0f2540,#1a3a5c);border-radius:var(--radius);margin-bottom:16px;overflow:hidden;box-shadow:0 4px 12px #0f254040}.cable-verdict__header{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#93c5fd;padding:10px 16px 0}.cable-verdict__body{display:flex;gap:24px;padding:10px 16px 12px;align-items:flex-start;flex-wrap:wrap}.cable-verdict__left{flex:1;min-width:180px}.cable-verdict__right{flex:1;min-width:180px;display:flex;flex-direction:column;gap:6px}.cable-verdict__model{font-size:1.5rem;font-weight:800;color:#fff;line-height:1.1;letter-spacing:-.01em}.cable-verdict__mfr{font-size:.8rem;color:#93c5fd;margin-bottom:8px}.cable-verdict__badges{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.cable-verdict__atex{font-size:.68rem;color:#64748b;font-family:monospace}.cable-badge--voltage{background:#374151;color:#d1d5db}.cable-verdict__output{display:flex;align-items:baseline;gap:2px}.cable-verdict__output-val{font-size:2.2rem;font-weight:800;color:#34d399}.cable-verdict__output-unit{font-size:1rem;color:#6ee7b7;font-weight:600}.cable-verdict__output-ref{font-size:.75rem;color:#64748b;margin-left:6px}.cable-verdict__margin-label{font-size:.78rem;color:#94a3b8}.cable-verdict__margin-bar-wrap{height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden}.cable-verdict__margin-bar{height:100%;background:linear-gradient(90deg,#34d399,#10b981);border-radius:3px;transition:width .4s ease}.cable-verdict__circuit{font-size:.75rem;color:#64748b}.cable-verdict__alt-btn{width:100%;padding:8px 16px;background:#ffffff0d;border:none;border-top:1px solid rgba(255,255,255,.08);font-size:.78rem;color:#93c5fd;cursor:pointer;text-align:left;font-weight:600}.cable-verdict__alt-btn:hover{background:#ffffff1a}.cable-verdict__alts{padding:0 16px 12px;background:#00000026}.cable-verdict__alts .cable-table th{background:#ffffff0d;color:#94a3b8;border-bottom-color:#ffffff14}.cable-verdict__alts .cable-table td{border-bottom-color:#ffffff0f;color:#e2e8f0}.cable-verdict__alts .cable-row--best td{background:#34d39914}.view-tabs{display:flex;border-bottom:2px solid var(--border);background:var(--surface-raised);box-shadow:0 2px 4px #0000000d}.view-tab{padding:12px 24px;font-size:.83rem;font-weight:600;color:var(--text-muted);background:transparent;border:none;border-bottom:3px solid transparent;margin-bottom:-2px;cursor:pointer;letter-spacing:.01em;transition:color .15s,border-color .15s}.view-tab:hover{color:var(--text)}.view-tab--active{color:var(--blue);border-bottom-color:var(--blue);background:#fff}.view-tab--mode{margin-left:auto;font-size:.75rem;font-weight:700;padding:5px 14px;border-radius:20px;border:2px solid var(--border);color:var(--text-muted);background:#f1f5f9;align-self:center;margin-right:8px;letter-spacing:.03em;transition:background .15s,color .15s,border-color .15s;opacity:1}.view-tab--mode:hover{border-color:var(--blue);color:var(--blue);background:#eff6ff}.view-tab--mode-active{background:var(--blue);border-color:var(--blue);color:#fff}.view-tab--mode-active:hover{background:#1d4ed8;border-color:#1d4ed8;color:#fff}.view-tab--mode:after{display:none}.model-section{padding:0}.model-layout{display:grid;grid-template-columns:320px 1fr;min-height:600px}.model-layout__builder{border-right:1px solid var(--border);overflow-y:auto;max-height:700px}.model-layout__canvas{display:flex;flex-direction:column;background:#f1f5f9}.model-panel-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:10px 14px;border-bottom:1px solid var(--border);background:#f8fafc;display:flex;align-items:center;justify-content:space-between}.model-deselect{font-size:.72rem;padding:2px 8px;border:1px solid var(--border);border-radius:4px;background:#fff;color:var(--text-muted);cursor:pointer}.model-deselect:hover{background:#fef2f2;color:var(--red)}.ins-toggle{font-size:.72rem;padding:2px 10px;border-radius:4px;cursor:pointer;border:1px solid var(--border);transition:background .15s,color .15s}.ins-toggle--on{background:#ecfdf5;color:#065f46;border-color:#6ee7b7}.ins-toggle--off{background:#fff7ed;color:#92400e;border-color:#fcd34d}.ins-toggle:hover{filter:brightness(.95)}.ckt-add-btn{font-size:.72rem;padding:2px 10px;border-radius:4px;cursor:pointer;border:1px solid #fb923c;background:#fff7ed;color:#c2410c;transition:background .15s}.ckt-add-btn:hover{background:#ffedd5}.model-empty{flex:1;display:flex;align-items:center;justify-content:center;padding:40px;font-size:.85rem;color:var(--text-muted);text-align:center;line-height:1.7}.pipeline-3d-canvas{flex:1;position:relative;min-height:550px}.pipeline-3d-canvas canvas{display:block;width:100%!important;height:100%!important}.canvas-hud{position:absolute;bottom:10px;right:12px;display:flex;gap:10px;font-size:.68rem;color:var(--text-muted);background:#ffffffbf;padding:4px 10px;border-radius:4px;pointer-events:none}.valve-label-3d{display:flex;flex-direction:column;align-items:center;pointer-events:none;white-space:nowrap}.vlabel-code{font-size:10px;font-weight:800;font-family:monospace;background:#0f2540d9;color:#fff;padding:1px 5px;border-radius:3px}.vlabel-name{font-size:9px;color:#1e293b;background:#ffffffd9;padding:1px 4px;border-radius:2px;margin-top:1px}.model-legend{padding:10px 14px;border-top:1px solid var(--border);background:#fafafa}.legend-title{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-light);margin-bottom:8px}.legend-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px 8px}.legend-item{display:flex;align-items:center;gap:6px}.legend-symbol{font-size:.85rem;font-weight:700;font-family:monospace;width:28px;text-align:center;flex-shrink:0}.legend-label{font-size:.72rem;color:var(--text-muted)}.pipeline-builder{display:flex;flex-direction:column}.pb-toolbar{display:flex;align-items:center;gap:6px;padding:8px 10px;background:#f8fafc;border-bottom:1px solid var(--border);flex-wrap:wrap}.pb-toolbar-label{font-size:.7rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.pb-dropdown-wrap select,.pb-add-btn{height:30px;font-size:.75rem;padding:0 8px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;color:var(--text);cursor:pointer}.pb-dropdown-wrap select:focus,.pb-add-btn:focus{outline:none;border-color:var(--border-focus)}.pb-add-reducer{background:#f8fafc;color:var(--text-muted);font-weight:600}.pb-add-reducer:hover{background:#f1f5f9}.pb-empty{padding:24px 14px;font-size:.8rem;color:var(--text-muted);text-align:center;line-height:1.6}.pb-list{display:flex;flex-direction:column;overflow-y:auto}.pb-item{border-bottom:1px solid var(--border);cursor:pointer;transition:background .1s}.pb-item:hover{background:#f8fafc}.pb-item--selected{background:#eff6ff}.pb-item--selected:hover{background:#dbeafe}.pb-item--elbow .pb-item-icon{color:#0369a1}.pb-item--valve .pb-item-icon{color:#b45309}.pb-item--tee .pb-item-icon{color:#047857}.pb-item--reducer .pb-item-icon{color:#6d28d9}.pb-item>div:first-child,.pb-item-row{display:flex;align-items:center;gap:7px;padding:7px 10px}.pb-item-icon{font-size:1rem;font-family:monospace;font-weight:700;width:20px;text-align:center;flex-shrink:0;color:var(--text-muted)}.pb-item-kind{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);width:80px;flex-shrink:0}.pb-item-summary{flex:1;font-size:.75rem;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pb-item-controls{display:flex;gap:3px;flex-shrink:0}.pb-ctrl{width:22px;height:22px;border:1px solid var(--border);border-radius:3px;background:#fff;color:var(--text-muted);font-size:.72rem;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.pb-ctrl:disabled{opacity:.3;cursor:default}.pb-ctrl:not(:disabled):hover{background:#f1f5f9}.pb-ctrl--del:not(:disabled):hover{background:#fef2f2;color:var(--red);border-color:#fecaca}.pb-editor{padding:8px 10px 10px;background:#fff;border-top:1px dashed var(--border);display:grid;grid-template-columns:1fr 1fr;gap:7px 10px}.pb-field{display:flex;flex-direction:column;gap:3px}.pb-field label{font-size:.68rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.pb-field input,.pb-field select{height:30px;padding:0 7px;border:1px solid var(--border);border-radius:var(--radius);font-size:.78rem;color:var(--text);background:var(--surface)}.pb-field input:focus,.pb-field select:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 2px #2563eb1a}.app-footer{text-align:center;padding:14px;color:var(--text-light);font-size:.72rem;letter-spacing:.02em}@media (max-width: 768px){.app-main{padding:0 8px;margin:10px auto}.workspace,.model-layout{grid-template-columns:1fr}.model-layout__builder{max-height:300px;border-right:none;border-bottom:1px solid var(--border)}.pipeline-3d-canvas{min-height:350px}.workspace__left{border-right:none;border-bottom:1px solid var(--border)}.global-bar__inner{flex-direction:column;gap:12px}.global-bar__sep{display:none}.seg-grid,.results-total{grid-template-columns:1fr 1fr}.cable-selector-bar{flex-direction:column;align-items:stretch}.seg-result-header{flex-wrap:wrap}}@media (max-width: 480px){.seg-grid,.results-total{grid-template-columns:1fr}}.app-header{background:linear-gradient(135deg,#0a1f3a,#0f2540 55%,#1a3a5c);border-bottom:2px solid rgba(37,99,235,.4)}.brand-name{font-size:1.5rem;background:linear-gradient(90deg,#fff,#93c5fd);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.view-tab{position:relative;padding:11px 22px}.view-tab:after{content:"";position:absolute;bottom:0;left:50%;right:50%;height:3px;background:var(--blue);border-radius:3px 3px 0 0;transition:left .2s,right .2s}.view-tab--active:after{left:0;right:0}.view-tab:last-child.view-tab--active{color:#059669}.view-tab:last-child.view-tab--active:after{background:#059669}.eb-form{padding:16px;flex:1;overflow-y:auto}.eb-form-title{font-size:.9rem;font-weight:700;color:var(--text);margin:0 0 16px}.eb-form-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.eb-form-header .eb-form-title{margin:0}.eb-form-subtitle{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:16px 0 10px}.eb-divider{border:none;border-top:1px solid var(--border);margin:16px 0}.eb-capacity-banner{display:flex;gap:10px;align-items:flex-start;padding:8px 12px;margin:0 0 12px;border:1px solid;border-radius:6px;font-size:.85rem;line-height:1.4}.eb-capacity-banner-icon{font-size:1rem;flex-shrink:0;line-height:1.2}.eb-capacity-banner--ok{background:#eff6ff;border-color:#93c5fd;color:#1e40af}.eb-capacity-banner--near{background:#fffbeb;border-color:#fcd34d;color:#92400e}.eb-capacity-banner--over{background:#fef2f2;border-color:#fca5a5;color:#991b1b}.eb-number-wrap{display:flex;align-items:center;gap:6px}.eb-number-wrap .eb-input{flex:1}.eb-unit{font-size:.75rem;color:var(--text-muted);font-weight:500}.eb-btn-primary{font-size:.75rem;font-weight:600;color:#fff;background:#059669;border:none;border-radius:var(--radius);padding:6px 12px;cursor:pointer;transition:background .15s}.eb-btn-primary:hover{background:#047857}.eb-btn-secondary{font-size:.72rem;font-weight:600;color:#059669;background:#ecfdf5;border:1px solid #6ee7b7;border-radius:var(--radius);padding:5px 10px;cursor:pointer;margin-right:6px;margin-top:6px;transition:background .15s}.eb-btn-secondary:hover{background:#d1fae5}.eb-btn-export{font-size:.75rem;font-weight:600;padding:4px 12px;border-radius:5px;border:1px solid #c4b5fd;background:#f5f3ff;color:#6d28d9;cursor:pointer;white-space:nowrap}.eb-btn-export:hover:not(:disabled){background:#ede9fe}.eb-btn-export:disabled{opacity:.45;cursor:not-allowed}.eb-diagram-toolbar{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;border-bottom:1px solid #e5e7eb;background:#f9fafb;gap:8px}.eb-diagram-title{font-size:.78rem;font-weight:600;color:#374151;font-family:monospace}.eb-btn-icon{font-size:1rem;line-height:1;border:none;background:transparent;color:var(--text-muted);cursor:pointer;padding:2px 6px;border-radius:4px}.eb-btn-icon:hover{background:#fef2f2;color:var(--red)}.eb-btn-icon-sm{font-size:.85rem;line-height:1;border:none;background:transparent;color:var(--text-muted);cursor:pointer;padding:2px 4px;border-radius:3px}.eb-btn-icon-sm:hover{background:#fef2f2;color:var(--red)}.eb-circuit-card{border:1px solid var(--border);border-radius:8px;padding:12px;margin-bottom:12px;background:#fff;cursor:pointer;transition:border-color .15s,box-shadow .15s}.eb-circuit-card:hover{border-color:#6ee7b7}.eb-circuit-card--selected{border-color:#059669;box-shadow:0 0 0 3px #0596691a}.eb-circuit-card-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border)}.eb-circuit-number{font-size:.72rem;font-weight:700;font-family:monospace;background:#d1fae5;color:#065f46;padding:2px 8px;border-radius:4px}.eb-circuit-name{flex:1;font-size:.82rem;font-weight:600;color:var(--text)}.eb-jbox-list{margin-top:12px;padding-top:12px;border-top:1px dashed var(--border)}.eb-jbox-item{display:flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--border);border-radius:6px;margin-bottom:6px;background:#f8fafc;cursor:pointer;transition:background .1s,border-color .1s}.eb-jbox-item:hover{background:#f1f5f9}.eb-jbox-item--selected{background:#fef3c7;border-color:#fbbf24}.eb-jbox-icon{font-size:.7rem;font-weight:700;font-family:monospace;background:#334155;color:#fff;padding:1px 5px;border-radius:3px;letter-spacing:.06em}.eb-jbox-name{flex:1;font-size:.78rem;font-weight:600;color:var(--text)}.eb-cable-card{border:1px solid var(--border);border-radius:6px;padding:10px;margin-bottom:10px;background:#f8fafc}.eb-cable-header{display:flex;align-items:center;gap:8px;justify-content:space-between;margin-bottom:10px;font-size:.78rem;font-weight:600;color:var(--text)}.eb-cable-tag-input{font-size:.78rem;font-family:monospace;font-weight:700;border:1px solid var(--border);border-radius:4px;padding:2px 6px;background:#f8fafc;color:var(--text);width:90px;flex-shrink:0}.eb-cables-circuit-group{margin-bottom:14px}.eb-cables-circuit-header{display:flex;align-items:center;gap:6px;padding:4px 6px;background:#f0fdf4;border-radius:5px;margin-bottom:4px;font-size:.78rem}.eb-cable-row{display:grid;grid-template-columns:72px 56px 1fr 14px 1fr 44px 44px;align-items:center;gap:4px;padding:3px 6px;border-radius:4px;font-size:.72rem;font-family:monospace;border:1px solid #e5e7eb;margin-bottom:3px;background:#fff}.eb-cable-row--ht{border-color:#fca5a5;background:#fff8f8}.eb-cable-row--supply{border-color:#bfdbfe;background:#f0f7ff}.eb-cable-row-tag{font-weight:700;color:#1e40af;font-size:.7rem}.eb-cable-row-type{color:#374151;font-weight:600}.eb-cable-row-from,.eb-cable-row-to{color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eb-cable-row-arrow{color:#9ca3af;text-align:center}.eb-cable-row-len{color:#374151;text-align:right}.eb-cable-row-mm{color:#9ca3af;font-size:.68rem}.eb-cable-row-tag-input{font-size:.7rem;font-family:monospace;font-weight:700;border:1px solid #d1d5db;border-radius:3px;padding:1px 4px;background:transparent;color:#1e40af;width:100%}.eb-cable-row-tag-input:focus{outline:none;border-color:var(--blue);background:#eff6ff}.eb-cable-row-len-input{font-size:.7rem;font-family:monospace;border:1px solid #d1d5db;border-radius:3px;padding:1px 3px;background:transparent;width:100%;text-align:right}.eb-cable-row-len-input:focus{outline:none;border-color:var(--blue)}.eb-sched-row--panel{background:#eef2ff}.eb-sched-row--jbox{background:#f8fafc}.eb-sched-row--supply{background:#f0f7ff}.eb-sched-row--ht{background:#fff8f8}.eb-sched-tag{display:inline-block;max-width:100%;font-weight:700;color:#1e40af;overflow:hidden;text-overflow:ellipsis}.eb-sched-input:read-only{color:#334155;background:transparent;border-color:transparent}.metric-card{border-radius:8px;transition:box-shadow .15s}.metric-card:hover{box-shadow:var(--shadow-md)}.calc-button{border-radius:8px;font-size:.92rem;letter-spacing:.02em;background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 2px 8px #2563eb40;transition:transform .1s,box-shadow .15s,background .15s}.calc-button:hover:not(:disabled){background:linear-gradient(135deg,#1d4ed8,#1e40af);box-shadow:0 4px 16px #2563eb66;transform:translateY(-1px)}.calc-button:active:not(:disabled){transform:translateY(0)}.segment-item{border-radius:8px;transition:border-color .15s,box-shadow .15s}.segment-item--active{box-shadow:0 0 0 3px #2563eb1f}.global-bar__inner{padding:14px 20px}.seg-cable-len-bar{margin-top:10px;padding:8px 12px;background:linear-gradient(135deg,#fff7ed,#fef3c7);border:1px solid #fde68a;border-radius:6px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.seg-cable-len-label{font-size:.75rem;color:#92400e;font-weight:500}.seg-cable-len-value{font-size:.82rem;font-weight:700;color:#b45309;font-variant-numeric:tabular-nums;font-family:monospace}.electro-layout{display:grid;grid-template-columns:360px 1fr;min-height:580px}.electro-form-panel{border-right:1px solid var(--border);display:flex;flex-direction:column;overflow-y:auto;max-height:750px}.eb-subtabs{display:flex;border-bottom:1px solid var(--border);background:#f8fafc}.eb-subtab{flex:1;padding:9px 12px;font-size:.78rem;font-weight:600;color:var(--text-muted);background:transparent;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;transition:color .15s,border-color .15s}.eb-subtab:hover{color:var(--text)}.eb-subtab--active{color:#059669;border-bottom-color:#059669;background:#fff}.eb-form-section{flex:1;padding:14px 16px;overflow-y:auto}.eb-section-head{font-size:.67rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:10px}.eb-field{display:flex;flex-direction:column;gap:3px;margin-bottom:8px}.eb-label{font-size:.73rem;font-weight:500;color:var(--text-muted)}.eb-input,.eb-select{height:32px;padding:0 8px;border:1px solid var(--border);border-radius:var(--radius);font-size:.82rem;color:var(--text);background:var(--surface);width:100%;transition:border-color .15s,box-shadow .15s}.eb-input:focus,.eb-select:focus{outline:none;border-color:#059669;box-shadow:0 0 0 3px #0596691a}.eb-row-2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.eb-circuit-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.eb-btn-add{font-size:.75rem;font-weight:600;color:#059669;background:#ecfdf5;border:1px solid #6ee7b7;border-radius:var(--radius);padding:4px 10px;cursor:pointer;transition:background .1s}.eb-btn-add:hover{background:#d1fae5}.eb-circuit-list{display:flex;flex-direction:column;gap:4px;margin-bottom:14px}.eb-circuit-row{display:flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid var(--border);border-radius:6px;cursor:pointer;background:#f8fafc;transition:background .1s,border-color .1s}.eb-circuit-row:hover{background:#f1f5f9}.eb-circuit-row--active{background:#ecfdf5;border-color:#6ee7b7}.eb-circuit-num{font-size:.72rem;font-weight:700;font-family:monospace;background:#d1fae5;color:#065f46;padding:1px 6px;border-radius:4px;flex-shrink:0}.eb-circuit-name{flex:1;font-size:.78rem;font-weight:600;color:var(--text)}.eb-circuit-meta{font-size:.72rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.eb-btn-del{font-size:.68rem;border:none;background:transparent;color:var(--text-muted);cursor:pointer;padding:2px 5px;border-radius:3px}.eb-btn-del:hover{background:#fef2f2;color:var(--red)}.eb-circuit-editor{border:1px solid #d1fae5;border-radius:8px;padding:12px;background:#f0fdf4;margin-bottom:12px}.eb-seg-checks{display:flex;flex-direction:column;gap:5px}.eb-seg-check{display:flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--border);border-radius:6px;cursor:pointer;background:#fff;transition:background .1s,border-color .1s;font-size:0}.eb-seg-check input[type=checkbox]{width:14px;height:14px;accent-color:#059669;cursor:pointer;flex-shrink:0}.eb-seg-check--active{background:#ecfdf5;border-color:#6ee7b7}.eb-seg-check-name{font-size:.78rem;font-weight:600;color:var(--text);flex:1}.eb-seg-check-meta{font-size:.72rem;color:var(--text-muted);font-family:monospace;font-variant-numeric:tabular-nums}.eb-seg-assign{margin-top:10px;padding-top:10px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:4px}.eb-seg-total{font-size:.75rem;color:var(--text-muted);padding:4px 10px;background:#f0fdf4;border-radius:4px;margin-top:4px}.eb-seg-total strong{color:#059669}.eb-vdrop-section{margin:6px 0 4px;padding:8px 10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;font-size:12px}.eb-vdrop-section--empty{color:var(--text-muted);font-style:italic;font-size:11px;padding:6px 10px}.eb-vdrop-row{display:flex;align-items:center;gap:6px;margin-bottom:4px}.eb-vdrop-label{color:#64748b;flex:0 0 52px;font-size:11px}.eb-vdrop-val{font-family:monospace;font-weight:600;flex:1}.eb-vdrop-badge{font-size:10px;font-weight:700;padding:1px 7px;border-radius:10px;letter-spacing:.02em;white-space:nowrap}.eb-vdrop-suggest{display:flex;align-items:center;justify-content:space-between;margin-top:7px;padding-top:6px;border-top:1px solid #e2e8f0;font-size:11px;color:#374151}.eb-btn-suggest{font-size:11px;padding:3px 10px;border-radius:4px;background:#2563eb;color:#fff;border:none;cursor:pointer;font-weight:600}.eb-btn-suggest:hover{background:#1d4ed8}.project-toolbar{display:flex;align-items:center;gap:8px;padding:6px 16px;background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap}.project-name-input{flex:1;min-width:160px;max-width:280px;font-size:.82rem;font-weight:600;border:1px solid var(--border);border-radius:5px;padding:4px 10px;color:var(--text);background:#fff}.project-name-input:focus{outline:none;border-color:var(--blue)}.project-name-input::placeholder{font-weight:400;color:var(--text-light)}.project-meta-input{width:110px;font-size:.78rem;border:1px solid var(--border);border-radius:5px;padding:4px 8px;color:var(--text-muted);background:#fff}.project-meta-input:focus{outline:none;border-color:var(--blue)}.project-toolbar-spacer{flex:1}.project-btn{font-size:.78rem;font-weight:600;padding:5px 14px;border-radius:5px;border:1px solid var(--border);cursor:pointer;background:#fff;color:var(--text);white-space:nowrap;transition:background .15s,border-color .15s}.project-btn:hover{background:#f1f5f9;border-color:#94a3b8}.project-btn--save{background:var(--navy);color:#fff;border-color:var(--navy)}.project-btn--save:hover{background:var(--navy-mid);border-color:var(--navy-mid)}.project-autosave{font-size:.7rem;color:var(--text-light);white-space:nowrap}.eb-totals{padding:12px 16px;border-top:1px solid var(--border);background:#f8fafc;display:flex;flex-direction:column;gap:5px}.eb-total-row{display:flex;justify-content:space-between;align-items:center;font-size:.78rem}.eb-total-row span{color:var(--text-muted)}.eb-total-row strong{font-variant-numeric:tabular-nums;color:var(--text);font-family:monospace}.eb-empty{font-size:.78rem;color:var(--text-muted);padding:10px 0;text-align:center}.electro-diagram-panel{display:flex;flex-direction:column;background:#f8fafc}.eb-diagram-toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;border-bottom:1px solid var(--border);background:#fff}.eb-diagram-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.eb-btn-export{font-size:.75rem;font-weight:600;color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe;border-radius:var(--radius);padding:4px 12px;cursor:pointer;transition:background .1s,border-color .1s}.eb-btn-export:hover{background:#dbeafe;border-color:#93c5fd}.eb-ex-notice{font-size:.72rem;color:#92400e;background:#fffbeb;border:1px dashed #fbbf24;border-radius:var(--radius);padding:6px 10px;margin-bottom:10px}.eb-ex-label{color:#b45309;font-family:monospace}.eb-thermo-badge{font-size:.82rem;flex-shrink:0}.eb-diagram-scroll{flex:1;padding:16px;overflow:auto;display:flex;align-items:flex-start;justify-content:flex-start}.electro-svg{border:1px solid var(--border);border-radius:8px;background:#fff;box-shadow:var(--shadow)}.eb-diagram-hint{padding:8px 16px;font-size:.72rem;color:var(--text-muted);border-top:1px solid var(--border);background:#fff}@media (max-width: 900px){.electro-layout{grid-template-columns:1fr}.electro-form-panel{max-height:400px;border-right:none;border-bottom:1px solid var(--border)}}.circuit-editor{padding:20px;max-width:900px;margin:0 auto}.ckt-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.ckt-toolbar__title{font-size:1rem;font-weight:700;color:var(--text)}.ckt-empty{text-align:center;padding:40px 20px;color:var(--text-muted);background:var(--surface);border:2px dashed var(--border);border-radius:8px}.ckt-empty p{margin-bottom:16px}.stv-root{margin-bottom:4px}.stv-dt-bar{display:flex;align-items:center;gap:12px;margin-bottom:10px;padding:8px 10px;background:var(--surface-2, #f8f9fa);border:1px solid var(--border);border-radius:6px}.stv-dt-toggle{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:.82rem;font-weight:500}.stv-dt-toggle input[type=checkbox]{width:15px;height:15px;cursor:pointer;accent-color:var(--blue)}.stv-dt-warn{font-size:.75rem;background:#fff7ed;border:1px solid #f59e0b;color:#92400e;padding:2px 8px;border-radius:4px;font-weight:600}.stv-dt-active{font-size:.72rem;background:#eff6ff;border:1px solid var(--blue);color:var(--blue);padding:2px 7px;border-radius:4px;font-weight:600}.stv-chain{display:flex;align-items:stretch;gap:0;overflow-x:auto;padding:4px 0 10px;flex-wrap:nowrap}.stv-jb,.stv-es{display:flex;flex-direction:column;align-items:center;gap:2px;flex-shrink:0;min-width:36px}.stv-jb-icon,.stv-es-icon{font-size:1.3rem;line-height:1}.stv-jb-label,.stv-es-label{font-size:.65rem;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.stv-arrow{flex-shrink:0;font-size:.9rem;color:var(--text-muted);padding:16px 4px 0;line-height:1;align-self:flex-start}.stv-seg-group{display:flex;align-items:stretch;flex:1 1 0;min-width:140px;position:relative}.stv-seg-card{display:flex;flex-direction:column;gap:3px;padding:8px 10px;flex:1 1 auto;min-width:0;background:var(--surface);border:1.5px solid var(--border);border-radius:7px;cursor:pointer;text-align:left;transition:border-color .15s,background .15s;font-size:.78rem;line-height:1.3}.stv-seg-card:hover{border-color:var(--blue);background:#f0f7ff}.stv-seg-card--open{border-color:var(--blue);background:#eff6ff}.stv-seg-card--loop{border-color:#9333ea;background:#faf5ff}.stv-seg-card--spiral{border-color:#0891b2;background:#f0fdff}.stv-entry-row{display:flex;align-items:center;gap:4px}.stv-entry-arrow{font-size:.85rem;font-weight:700;line-height:1}.stv-entry-arrow--start{color:#16a34a}.stv-entry-arrow--end{color:#dc2626}.stv-seg-name{font-weight:600;font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.stv-seg-meta{font-size:.7rem;color:var(--text-muted)}.stv-seg-cable{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.stv-routing-badge{font-size:.67rem;font-weight:700;padding:1px 5px;border-radius:3px;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.stv-routing-badge--flat{background:#e5e7eb;color:#374151}.stv-routing-badge--spiral{background:#e0f2fe;color:#0369a1}.stv-routing-badge--loop{background:#ede9fe;color:#7c3aed}.stv-cable-len{font-size:.67rem;color:var(--text-muted);white-space:nowrap}.stv-seg-fittings,.stv-seg-htc{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px;line-height:1.2}.stv-seg-fittings span{background:#f3f4f6;color:var(--text-muted);font-size:.65rem;padding:1px 5px;border-radius:3px;white-space:nowrap}.stv-seg-sensor{margin-top:2px;font-size:.65rem;background:#fff7ed;color:#9a3412;padding:1px 5px;border-radius:3px;white-space:nowrap;align-self:flex-start;line-height:1.2}.stv-htc-badge{font-size:.62rem;font-weight:700;padding:1px 5px;border-radius:3px;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.stv-htc-badge--splice{background:#fef3c7;color:#92400e}.stv-htc-badge--power{background:#dbeafe;color:#1e40af}.stv-htc-badge--tee{background:#ede9fe;color:#6d28d9}.stv-htc-badge--end_seal{background:#fee2e2;color:#991b1b}.stv-inline-editor{position:absolute;top:calc(100% + 4px);left:0;z-index:50;background:var(--surface);border:1.5px solid var(--blue);border-radius:8px;padding:10px 12px;box-shadow:0 4px 16px #0000001f;min-width:240px;display:flex;flex-direction:column;gap:8px}.stv-ie-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.stv-ie-label{font-size:.72rem;color:var(--text-muted);font-weight:600;min-width:90px}.stv-ie-btn{font-size:.72rem;padding:3px 9px;border:1.5px solid var(--border);border-radius:5px;background:var(--surface);cursor:pointer;transition:border-color .12s,background .12s;font-weight:500}.stv-ie-btn:hover{border-color:var(--blue);background:#eff6ff}.stv-ie-btn--active{border-color:var(--blue);background:var(--blue);color:#fff}.stv-ie-btn--active:hover{background:#1d4ed8;border-color:#1d4ed8}.stv-spiral-slider{flex:1;min-width:80px;accent-color:var(--blue)}.stv-ie-val{font-size:.72rem;font-weight:700;min-width:28px}.stv-ie-close{align-self:flex-end;font-size:.7rem;padding:2px 8px;border:1px solid var(--border);border-radius:4px;background:transparent;cursor:pointer;color:var(--text-muted)}.stv-ie-close:hover{background:#fef2f2;border-color:#dc2626;color:#dc2626}.stv-dt-return{display:flex;align-items:center;padding:14px 6px 0;font-size:.75rem;color:#7c3aed;font-weight:600;white-space:nowrap;flex-shrink:0}.stv-hint{font-size:.7rem;color:var(--text-muted);margin-top:4px}.cable-route-section{margin:12px 0 0}.cable-route-section__title{font-size:.8rem;font-weight:600;color:var(--text-muted);display:flex;align-items:center;gap:5px;margin-bottom:4px;padding:0 2px}.cable-route-section__icon{font-size:.85rem}.stv-schematic-wrap{margin-top:14px;border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:10px 8px 6px;overflow:hidden}.stv-schematic-svg{display:block;width:100%;height:auto;overflow:visible}.stv-schematic-hint{font-size:.68rem;color:var(--text-muted);margin:4px 0 0;text-align:center}.ckt-panel{background:var(--surface);border:1px solid var(--border);border-radius:8px;margin-bottom:16px;box-shadow:var(--shadow);overflow:hidden}.ckt-panel__header{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#f8fafc;border-bottom:1px solid var(--border)}.ckt-name-input{flex:1;font-size:.9rem;font-weight:600;border:1px solid transparent;border-radius:4px;padding:4px 8px;color:var(--text);background:transparent}.ckt-name-input:hover{border-color:var(--border);background:#fff}.ckt-name-input:focus{outline:none;border-color:var(--blue);background:#fff}.ckt-body{padding:16px;display:flex;flex-direction:column;gap:16px}.ckt-btn{font-size:.78rem;font-weight:600;border-radius:5px;padding:6px 14px;cursor:pointer;border:1px solid var(--border);transition:background .15s,border-color .15s;white-space:nowrap}.ckt-btn--primary{background:var(--blue);color:#fff;border-color:var(--blue)}.ckt-btn--primary:hover{background:#1d4ed8;border-color:#1d4ed8}.ckt-btn--primary:disabled{opacity:.5;cursor:not-allowed}.ckt-btn--danger{background:#fff;color:var(--red);border-color:#fca5a5}.ckt-btn--danger:hover{background:#fef2f2}.ckt-btn--elektro{background:#fefce8;color:#92400e;border-color:#fde68a;font-weight:600}.ckt-btn--elektro:hover{background:#fef9c3;border-color:#fbbf24}.ckt-elektro-linked{font-size:.78rem;color:#15803d;background:#f0fdf4;border:1px solid #86efac;border-radius:4px;padding:3px 8px;white-space:nowrap}.ckt-btn--add{background:var(--surface);color:var(--blue);border-color:var(--blue)}.ckt-btn--add:hover{background:#eff6ff}.ckt-btn--split{background:#fff;color:var(--text);border-color:var(--border)}.ckt-btn--split:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.ckt-btn--split:disabled{opacity:.5;cursor:not-allowed}.ckt-error{background:#fef2f2;color:var(--red);border:1px solid #fca5a5;border-radius:5px;padding:8px 12px;font-size:.8rem}.ckt-weight-issues{display:flex;flex-direction:column;gap:4px;margin-top:6px}.ckt-weight-issue{padding:6px 10px;border-radius:4px;font-size:.78rem;border:1px solid transparent}.ckt-weight-issue--error{background:#fef2f2;color:#b91c1c;border-color:#fca5a5}.ckt-weight-issue--warning{background:#fffbeb;color:#92400e;border-color:#fcd34d}.ckt-weight-issue--info{background:#eff6ff;color:#1e40af;border-color:#93c5fd}.heat-load-summary{margin:8px 0 12px;border:1px solid #e2e8f0;border-radius:6px;background:#f8fafc;font-size:.82rem}.heat-load-summary__summary{padding:8px 12px;cursor:pointer;font-weight:500;color:#334155}.heat-load-summary__summary:hover{color:#0f172a}.heat-load-summary__table{width:100%;border-collapse:collapse;margin:0;padding:0 12px 8px}.heat-load-summary__table th,.heat-load-summary__table td{padding:4px 8px;text-align:left;border-bottom:1px solid #e2e8f0}.heat-load-summary__table th{font-size:.72rem;text-transform:uppercase;color:#64748b;font-weight:600}.heat-load-summary__row--error td:nth-child(2){color:#b91c1c;font-weight:600}.heat-load-summary__row--warning td:nth-child(2){color:#92400e;font-weight:600}.heat-load-summary__row--info td:nth-child(2){color:#1e40af}.heat-load-summary__chip{display:inline-block;padding:2px 6px;margin:1px 4px 1px 0;border-radius:3px;background:#e2e8f0;color:#334155;font-size:.74rem;white-space:nowrap}.ckt-section{display:flex;flex-direction:column;gap:8px}.ckt-section--inline{flex-direction:row;align-items:center;gap:12px;flex-wrap:wrap}.ckt-section--inline .ckt-section__title{flex-shrink:0}.ckt-seg-list{display:flex;flex-direction:column;gap:4px}.ckt-seg-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:background .1s,border-color .1s;-webkit-user-select:none;user-select:none}.ckt-seg-item:hover{background:#f8fafc}.ckt-seg-item--checked{border-color:var(--blue);background:#eff6ff}.ckt-seg-item input[type=checkbox]{flex-shrink:0;accent-color:var(--blue)}.ckt-seg-name{font-weight:600;font-size:.82rem;flex:1}.ckt-seg-meta{font-size:.75rem;color:var(--text-muted)}.ckt-seg-wpm{font-size:.75rem;font-weight:600;color:var(--blue);font-variant-numeric:tabular-nums}.ckt-hint{font-size:.78rem;color:var(--text-muted);font-style:italic}.ckt-fittings-row{display:flex;flex-wrap:wrap;gap:12px}.ckt-counter{display:flex;align-items:center;gap:6px;background:#f8fafc;border:1px solid var(--border);border-radius:6px;padding:6px 10px}.ckt-counter__label{font-size:.78rem;color:var(--text-muted);font-weight:500;min-width:64px}.ckt-counter__btn{width:24px;height:24px;border:1px solid var(--border);border-radius:4px;background:#fff;font-size:1rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text)}.ckt-counter__btn:hover:not(:disabled){background:#f1f5f9}.ckt-counter__btn:disabled{opacity:.35;cursor:not-allowed}.ckt-counter__val{font-size:.88rem;font-weight:700;font-variant-numeric:tabular-nums;min-width:20px;text-align:center}.ckt-override-row{display:flex;align-items:center;gap:8px;padding:6px 0}.ckt-override-label{font-size:.78rem;color:var(--text-muted);flex:1}.ckt-override-input{width:72px;font-size:.82rem;border:1px solid var(--border);border-radius:4px;padding:4px 6px;text-align:right}.ckt-override-input:focus{outline:none;border-color:var(--blue)}.ckt-override-unit{font-size:.75rem;color:var(--text-muted)}.ckt-valve-adder{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding-top:4px}.ckt-valve-adder__label{font-size:.75rem;color:var(--text-muted);font-weight:500}.ckt-valve-chip{font-size:.72rem;font-weight:600;border:1px solid var(--border);border-radius:12px;padding:3px 10px;background:#fff;cursor:pointer;transition:background .1s,border-color .1s}.ckt-valve-chip:hover{background:#eff6ff;border-color:var(--blue);color:var(--blue)}.ckt-valve-list{display:flex;flex-direction:column;gap:6px}.ckt-valve-row{display:flex;align-items:center;gap:8px;background:#f8fafc;border:1px solid var(--border);border-radius:6px;padding:6px 10px}.ckt-valve-label{font-size:.8rem;font-weight:500;flex:1}.ckt-valve-eq-label{font-size:.72rem;color:var(--text-muted)}.ckt-valve-eq-input{width:60px;font-size:.82rem;border:1px solid var(--border);border-radius:4px;padding:3px 6px;text-align:right}.ckt-valve-eq-input:focus{outline:none;border-color:var(--blue)}.ckt-valve-unit{font-size:.72rem;color:var(--text-muted)}.ckt-valve-del{border:none;background:transparent;color:var(--text-muted);cursor:pointer;font-size:1rem;padding:2px 4px;border-radius:3px}.ckt-valve-del:hover{color:var(--red);background:#fef2f2}.ckt-prerun-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ckt-prerun-input{width:80px;font-size:.88rem;font-weight:600;border:1px solid var(--border);border-radius:5px;padding:5px 8px;text-align:right}.ckt-prerun-input:focus{outline:none;border-color:var(--blue)}.ckt-prerun-unit{font-size:.82rem;color:var(--text-muted)}.ckt-prerun-hint{font-size:.75rem;color:var(--text-muted);font-style:italic}.ckt-results{background:#f0fdf4;border:1px solid #86efac;border-radius:8px;padding:14px;gap:14px}.ckt-results__block{display:flex;flex-direction:column;gap:6px}.ckt-results__subtitle{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#166534}.ckt-overview{display:flex;flex-direction:column;gap:14px;margin-top:12px}.ckt-overview .ckt-section{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:14px 16px;box-shadow:var(--shadow)}.ckt-overview .ckt-breakdown-table thead td{font-weight:600;color:var(--text-muted);border-bottom:1px solid var(--border);padding-bottom:6px}.ckt-overview .ckt-breakdown-table tfoot .ckt-bd-total td{border-top:1px solid var(--border);padding-top:6px;font-weight:700}.ckt-breakdown-table{width:100%;border-collapse:collapse;font-size:.8rem}.ckt-breakdown-table td{padding:3px 0}.ckt-bd-label{color:var(--text-muted)}.ckt-bd-val{text-align:right;font-variant-numeric:tabular-nums;padding-left:12px}.ckt-bd-val--total{font-weight:600;color:var(--text)}.ckt-bd-total td{font-weight:700;color:var(--text);border-top:1px solid #86efac;padding-top:5px}.ckt-bd-total td:last-child{text-align:right}.ckt-results__kpi-row{display:flex;gap:12px;flex-wrap:wrap}.rates-editor{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.rates-editor__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:12px}.rates-editor__title{font-size:1rem;font-weight:600;color:var(--navy)}.rates-editor__profile-select{display:flex;align-items:center;gap:8px}.rates-editor__profile-select select{padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius);font-size:.85rem;background:var(--surface);min-width:160px}.rates-editor__actions{display:flex;gap:6px}.rates-editor__btn{padding:6px 12px;border-radius:var(--radius);font-size:.78rem;cursor:pointer;transition:all .15s;border:1px solid var(--border);background:var(--surface);color:var(--text)}.rates-editor__btn:hover{background:#f1f5f9}.rates-editor__btn--primary{background:var(--blue);color:#fff;border-color:var(--blue)}.rates-editor__btn--primary:hover{background:#1d4ed8}.rates-editor__btn--danger{color:var(--red);border-color:#fecaca}.rates-editor__btn--danger:hover{background:#fef2f2}.rates-editor__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.rates-editor__field{display:flex;flex-direction:column;gap:4px}.rates-editor__label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.rates-editor__input{padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);font-size:.85rem;font-variant-numeric:tabular-nums}.rates-editor__input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 2px #2563eb1a}.rates-editor__hint{font-size:.7rem;color:var(--text-light)}.rates-editor__divider{grid-column:1 / -1;height:1px;background:var(--border);margin:4px 0}.rates-editor__section-title{grid-column:1 / -1;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--blue);margin-top:8px}.rates-editor__footer{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-top:12px;border-top:1px solid var(--border);flex-wrap:wrap;gap:8px}.rates-editor__import-export{display:flex;gap:8px}.mounting-estimate{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.mounting-estimate__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:12px}.mounting-estimate__total{display:flex;flex-direction:column}.mounting-estimate__label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.mounting-estimate__value{font-size:1.75rem;font-weight:700;color:var(--navy);font-variant-numeric:tabular-nums}.mounting-estimate__factor{font-size:.85rem;color:var(--text-muted)}.mounting-estimate__factor strong{color:var(--amber)}.mounting-estimate__inputs{margin-bottom:16px}.mounting-estimate__inputs h4,.mounting-estimate__breakdown h4,.mounting-estimate__crew h4{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:10px}.mounting-estimate__input-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.mounting-estimate__input-item{display:flex;flex-direction:column;padding:8px 10px;background:#f8fafc;border-radius:var(--radius)}.mounting-estimate__input-label{font-size:.68rem;color:var(--text-light)}.mounting-estimate__input-value{font-size:.9rem;font-weight:600;color:var(--navy);font-variant-numeric:tabular-nums}.mounting-estimate__breakdown{margin-bottom:16px}.mounting-estimate__bars{display:flex;flex-direction:column;gap:8px}.mounting-estimate__bar-row{display:flex;align-items:center;gap:10px}.mounting-estimate__bar-label{font-size:.78rem;color:var(--text-muted);min-width:100px;flex-shrink:0}.mounting-estimate__bar-container{flex:1;height:20px;background:#f1f5f9;border-radius:4px;overflow:hidden}.mounting-estimate__bar{height:100%;background:linear-gradient(90deg,var(--blue) 0%,var(--teal) 100%);border-radius:4px;transition:width .3s ease}.mounting-estimate__bar-value{font-size:.8rem;font-weight:600;color:var(--navy);font-variant-numeric:tabular-nums;min-width:50px;text-align:right}.mounting-estimate__crew-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.mounting-estimate__crew-item{display:flex;flex-direction:column;align-items:center;padding:12px 8px;background:#f0fdf4;border:1px solid #86efac;border-radius:var(--radius)}.mounting-estimate__crew-workers{font-size:.85rem;font-weight:600;color:var(--navy)}.mounting-estimate__crew-duration{font-size:.72rem;color:#166534;margin-top:2px}.panel-toggle{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;transition:all .15s;color:var(--text-muted)}.panel-toggle:hover{background:#f1f5f9;color:var(--text)}.panel-toggle--active{background:var(--blue);border-color:var(--blue);color:#fff}.panel-toggle--active:hover{background:#1d4ed8}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a162873;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:drawer-fade-in var(--transition-fast) ease}.modal-content{background:var(--surface);border-radius:var(--radius-lg);max-width:600px;width:100%;max-height:80vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:confirm-pop var(--transition-fast) ease}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid var(--border)}.modal-title{font-size:1.1rem;font-weight:600;color:var(--navy)}.modal-close{width:32px;height:32px;border:none;background:transparent;cursor:pointer;font-size:1.25rem;color:var(--text-muted);border-radius:var(--radius)}.modal-close:hover{background:#f1f5f9;color:var(--text)}.modal-body{padding:16px}.seg-editor-modal{max-width:580px;max-height:90vh}.pipe-schematic-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin:0 0 12px;overflow:hidden}.pipe-schematic-header{display:flex;align-items:center;gap:8px;padding:4px 8px 4px 12px;border-bottom:1px solid var(--border)}.pipe-schematic-header__title{flex:1;font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.pipe-schematic-scroll{overflow-x:auto;overflow-y:hidden;padding:8px 0}.pipe-schematic-wrap{position:relative}.ht-cable-panel{display:flex;flex-direction:column;gap:4px;min-width:110px;max-width:130px;padding:8px 6px;border-right:1px solid var(--border);background:var(--surface);flex-shrink:0}.ht-cable-panel__title{font-size:10px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px}.ht-cable-panel__empty{font-size:10px;color:#94a3b8;font-style:italic;padding:4px 0}.ht-cable-row{display:flex;align-items:center;gap:5px;padding:3px 4px;border-radius:4px;background:#f8fafc;border:1px solid #e2e8f0;cursor:pointer}.ht-cable-row__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.ht-cable-row__name{font-size:11px;font-weight:600;color:#1e293b;flex:1}.ht-cable-row__del{background:none;border:none;cursor:pointer;font-size:13px;color:#94a3b8;padding:0 2px;line-height:1;border-radius:3px}.ht-cable-row__del:hover{color:#ef4444;background:#fee2e2}.ht-cable-row--active{font-weight:700}.ht-cable-panel__hint{font-size:9px;color:#64748b;font-style:italic;padding:3px 2px 0;line-height:1.3}.ht-cable-panel__add{margin-top:4px;font-size:10px;font-weight:600;color:#2563eb;background:#eff6ff;border:1px dashed #93c5fd;border-radius:4px;padding:5px 4px;cursor:pointer;text-align:center;width:100%}.ht-cable-panel__add:hover{background:#dbeafe;border-color:#3b82f6}.schematic-legend{display:flex;flex-wrap:wrap;gap:4px 16px;padding:5px 10px;border-top:1px solid var(--border);background:#f8fafc;font-size:10px;color:#64748b}.schematic-legend__dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#ef4444;margin-right:4px;vertical-align:middle}.schematic-legend__dash{display:inline-block;width:14px;height:0;border-top:1.5px dashed #64748b;margin-right:4px;vertical-align:middle;position:relative;top:-1px}.schematic-legend__line{display:inline-block;width:14px;height:0;border-top:2px solid #64748b;margin-right:4px;vertical-align:middle;position:relative;top:-1px}.pipe-schematic-svg{display:block;min-width:320px}.pipe-schematic-seg{transition:opacity .1s}.pipe-schematic-seg:hover rect:first-child{filter:brightness(1.12)}.ps-insert-btn:hover circle{stroke:#3b82f6}.ps-insert-btn:hover text{fill:#2563eb}.prt-wrap{background:#f8fafc;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:8px 16px;overflow-x:auto}.prt-scroll{display:flex;flex-direction:row;align-items:center;min-height:64px;gap:0}.prt-seg-node{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px;background:#fff;border:1.5px solid #d1d5db;border-radius:8px;padding:6px 12px;cursor:pointer;font-family:inherit;text-align:left;transition:border-color .15s,box-shadow .15s}.prt-seg-node:hover{border-color:#93c5fd}.prt-seg-node--active{border-color:#2563eb;box-shadow:0 0 0 2px #bfdbfe}.prt-seg-node--orphan{opacity:.55;border-style:dashed}.prt-seg-name{font-size:12px;font-weight:600;color:#1e293b;white-space:nowrap}.prt-seg-meta{font-size:11px;color:#64748b;white-space:nowrap}.prt-seg-dir{font-size:13px;color:#2563eb;font-weight:700;margin-top:1px}.prt-seg-dir--orphan{font-size:10px;font-weight:400;color:#94a3b8;font-style:italic}.prt-bend-node{flex-shrink:0;position:relative;width:80px;display:flex;align-items:center;justify-content:center}.prt-connector{position:absolute;top:50%;left:0;right:0;height:0;border-top:1.5px solid #cbd5e1;z-index:0}.prt-bend-chip{position:relative;z-index:1;display:flex;align-items:center;gap:2px;background:#dbeafe;border:1px solid #93c5fd;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:600;color:#1d4ed8;white-space:nowrap}.prt-bend-chip-remove{background:none;border:none;padding:0 2px;cursor:pointer;color:#6b7280;font-size:13px;line-height:1;border-radius:999px}.prt-bend-chip-remove:hover{color:#dc2626}.prt-bend-add{position:relative;z-index:1;background:#fff;border:1.5px dashed #93c5fd;border-radius:999px;padding:3px 8px;font-size:10px;color:#3b82f6;cursor:pointer;white-space:nowrap;font-family:inherit;transition:background .12s}.prt-bend-add:hover,.prt-bend-add--open{background:#eff6ff;border-color:#2563eb}.prt-popover{z-index:9999;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 20px #00000026;padding:10px 12px;min-width:200px}.prt-popover__label{font-size:10px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;margin-bottom:5px}.prt-popover__angles{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:4px}.prt-popover__turns{display:grid;grid-template-columns:1fr 1fr;gap:4px}.prt-popover__btn{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:4px;padding:4px 8px;font-size:11px;cursor:pointer;font-family:inherit;transition:background .1s;white-space:nowrap}.prt-popover__btn:hover{background:#e0f2fe;border-color:#7dd3fc}.prt-popover__btn--sel{background:#2563eb;color:#fff;border-color:#2563eb}.prt-popover__confirm{margin-top:10px;width:100%;background:#2563eb;color:#fff;border:none;border-radius:6px;padding:6px 0;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .12s}.prt-popover__confirm:hover{background:#1d4ed8}.prt-popover__tabs{display:flex;gap:3px;margin-bottom:10px}.prt-popover__tab{flex:1;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:4px;padding:4px 0;font-size:11px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .1s}.prt-popover__tab:hover{background:#e0f2fe}.prt-popover__tab--sel{background:#2563eb;color:#fff;border-color:#2563eb}.prt-tee-chip{background:#dcfce7;border-color:#86efac;color:#166534}.prt-reducer-chip{position:relative;z-index:1;background:#fef9c3;border:1px solid #fde047;border-radius:4px;padding:3px 6px;font-size:10px;font-weight:600;color:#854d0e;white-space:nowrap;cursor:default}.prt-support-counter{display:flex;align-items:center;gap:2px;margin-top:3px}.prt-support-btn{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:3px;width:18px;height:18px;font-size:12px;line-height:1;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;padding:0;transition:background .1s}.prt-support-btn:hover:not(:disabled){background:#dbeafe;border-color:#93c5fd}.prt-support-btn:disabled{opacity:.35;cursor:default}.prt-support-count{font-size:10px;color:#475569;min-width:22px;text-align:center}.prt-insert-slot{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:28px}.prt-seg-insert{background:#fff;border:1.5px solid #d1d5db;border-radius:50%;width:22px;height:22px;font-size:14px;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:0;font-family:inherit;transition:border-color .12s,color .12s,background .12s}.prt-seg-insert:hover{border-color:#2563eb;color:#2563eb;background:#eff6ff}.prt-bend-actions{display:flex;flex-direction:column;align-items:center;gap:3px;position:relative;z-index:1}.prt-circuit-badge{display:inline-flex;align-items:center;gap:2px;margin-top:3px;background:#f0fdf4;border:1px solid #86efac;border-radius:999px;padding:1px 6px;font-size:9px;font-weight:600;color:#166534;white-space:nowrap}.mounting-view{padding:20px}.mounting-view__header{margin-bottom:20px}.mounting-view__header h2{font-size:1.25rem;font-weight:700;color:var(--navy);margin-bottom:4px}.mounting-view__desc{font-size:.85rem;color:var(--text-muted)}.mounting-view__sync{display:flex;align-items:center;gap:12px;margin-bottom:16px}.mounting-sync-ts{font-size:.78rem;color:var(--text-muted)}.sync-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font-size:.82rem;cursor:pointer;transition:all .15s}.sync-btn:hover{background:var(--blue);border-color:var(--blue);color:#fff}.sync-btn__icon{font-size:1rem}.mounting-view__rates-toggle{margin-bottom:12px}.rates-toggle-btn{padding:8px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text-muted);font-size:.82rem;cursor:pointer;transition:all .15s}.rates-toggle-btn:hover{background:#f1f5f9;color:var(--text)}.rates-toggle-btn--active{background:var(--blue);border-color:var(--blue);color:#fff}.rates-toggle-btn--active:hover{background:#1d4ed8}.ckt-kpi{padding:10px 16px;text-align:center;min-width:110px}.ckt-kpi__label{font-size:.68rem;color:#166534;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.ckt-kpi__val{font-size:1.5rem;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums;line-height:1.2;margin:2px 0}.ckt-kpi__unit{font-size:.72rem;color:var(--text-muted)}.ckt-cable-list{display:flex;flex-direction:column;gap:6px}.ckt-cable-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#fff;border:1px solid #86efac;border-radius:6px;font-size:.8rem;flex-wrap:wrap;cursor:pointer;transition:border-color .15s,background .15s}.ckt-cable-item:hover{border-color:var(--blue);background:#f0f7ff}.ckt-cable-item--selected{border-color:var(--blue);background:#eff6ff;box-shadow:0 0 0 2px #bfdbfe}.ckt-cable-check{color:var(--green);font-weight:800;font-size:1rem}.ckt-cable-hint{font-size:.72rem;color:var(--text-muted);font-weight:400;margin-left:6px}.ckt-cable-selected-summary{margin-top:6px;padding:6px 10px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:5px;font-size:.8rem;color:var(--blue)}.ckt-cable-label{font-weight:600;flex:1;min-width:120px}.ckt-cable-eff{color:var(--blue);font-weight:600;font-variant-numeric:tabular-nums}.ckt-cable-margin{font-weight:600;color:var(--text-muted)}.ckt-cable-margin--ok{color:var(--green)}.ckt-cable-len{font-size:.72rem;color:var(--text-muted);margin-left:auto}.ckt-cable-datasheet{font-size:.78rem;color:var(--blue);text-decoration:none;padding:0 4px;border-radius:3px;flex-shrink:0}.ckt-cable-datasheet:hover{text-decoration:underline;background:#eff6ff}.ckt-badge{font-size:.65rem;font-weight:700;padding:2px 6px;border-radius:10px;background:#e2e8f0;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.ckt-badge--norsok{background:#dbeafe;color:#1d4ed8}@media (max-width: 700px){.ckt-fittings-row,.ckt-results__kpi-row{gap:8px}.ckt-kpi{min-width:90px;padding:8px 12px}}.workflow-status{display:flex;align-items:center;gap:0;background:#f8fafc;border-bottom:1px solid var(--border);padding:6px 20px;overflow-x:auto}.ws-step{display:flex;align-items:center;gap:6px;padding:5px 14px;border-radius:20px;border:1.5px solid transparent;font-size:.75rem;font-weight:600;cursor:pointer;background:none;transition:background .15s,border-color .15s;white-space:nowrap;color:var(--text-muted)}.ws-step:hover{background:#e2e8f0}.ws-step--done{color:#16a34a;border-color:#bbf7d0;background:#f0fdf4}.ws-step--done:hover{background:#dcfce7}.ws-step--partial{color:#d97706;border-color:#fde68a;background:#fffbeb}.ws-step--partial:hover{background:#fef3c7}.ws-step--todo{color:var(--text-muted);border-color:var(--border)}.ws-dot{font-size:.85rem;line-height:1}.ws-label{font-weight:700}.ws-detail{font-weight:400;font-size:.7rem;color:inherit;opacity:.75}.ws-arrow{color:var(--text-light);font-size:1.1rem;padding:0 2px;-webkit-user-select:none;user-select:none}.ckt-section__title{display:flex;align-items:center;gap:10px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin-bottom:10px}.ckt-sync-3d-btn{font-size:.68rem;font-weight:600;padding:2px 10px;border-radius:12px;border:1.5px solid #0891b2;background:#ecfeff;color:#0891b2;cursor:pointer;transition:background .12s;margin-left:auto}.ckt-sync-3d-btn:hover{background:#cffafe}.ckt-cached-result{font-size:.78rem;color:var(--text-muted);background:#f8fafc;border-left:3px solid #16a34a;padding:6px 14px;margin:0}.ckt-cached-hint{font-size:.7rem;opacity:.65}.ckt-cached-ok{font-size:.7rem;color:#16a34a;opacity:.85}.ckt-no-results-hint{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:10px 16px;margin:16px 16px 0;font-size:.82rem;color:#92400e;display:flex;align-items:center;gap:10px}.ckt-no-results-hint--loading{background:#f0f9ff;border-color:#bae6fd;color:#0369a1}.auto-circuit-toast{background:#f0fdf4;border:1px solid #86efac;border-radius:8px;padding:8px 16px;margin:12px 16px 0;font-size:.82rem;color:#166534;font-weight:600;animation:fadeOut 4s forwards}@keyframes fadeOut{0%,75%{opacity:1}to{opacity:0}}.field-hint{display:block;font-size:.7rem;color:#6b7280;margin-top:2px}.post-calc-hint{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:10px 20px;margin:8px 0;font-size:.82rem;color:#166534;display:flex;align-items:center;gap:10px}.ckt-hint-link{background:none;border:none;color:var(--blue);font-weight:700;font-size:.82rem;cursor:pointer;padding:0;text-decoration:underline}.ckt-hint-link:hover{color:#1d4ed8}.ckt-suggest-row{display:flex;align-items:center;gap:10px;margin-bottom:12px}.ckt-suggest-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border:1px solid var(--blue);border-radius:var(--radius);background:var(--surface);color:var(--blue);font-size:.82rem;font-weight:600;cursor:pointer;transition:all .15s}.ckt-suggest-btn:hover{background:var(--blue);color:#fff}.ckt-suggest-hint{font-size:.78rem;color:var(--text-muted)}.eb-linked-badge{font-size:.62rem;font-weight:700;padding:2px 8px;border-radius:10px;background:#dbeafe;color:#1d4ed8;white-space:nowrap;margin-left:auto}.eb-computed-summary{display:flex;gap:12px;font-size:.78rem;font-weight:600;color:#16a34a;background:#f0fdf4;border-radius:5px;padding:4px 10px;margin-bottom:6px}.help-tip{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;background:var(--text-muted);color:#fff;font-size:.6rem;font-weight:700;cursor:pointer;position:relative;margin-left:4px;vertical-align:middle;-webkit-user-select:none;user-select:none;flex-shrink:0}.help-tip:hover{background:var(--accent)}.help-tip__box{position:absolute;left:50%;bottom:calc(100% + 6px);transform:translate(-50%);background:#1e293b;color:#f1f5f9;font-size:.72rem;font-weight:400;line-height:1.4;padding:7px 10px;border-radius:6px;width:220px;white-space:normal;z-index:100;box-shadow:0 4px 12px #0000004d;pointer-events:none}.help-tip__box:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#1e293b}.results-segments-header{display:flex;align-items:center;justify-content:space-between;margin:18px 0 8px}.results-segments-title{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.results-view-toggle{display:flex;gap:4px}.view-toggle-btn{padding:4px 10px;font-size:.75rem;border:1px solid var(--border);border-radius:5px;background:transparent;color:var(--text-muted);cursor:pointer}.view-toggle-btn--active{background:var(--accent);color:#fff;border-color:var(--accent)}.seg-result-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:8px;margin-bottom:12px}.seg-result-table{width:100%;border-collapse:collapse;font-size:.82rem}.seg-result-table th{background:var(--surface2);color:var(--text-muted);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:7px 10px;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}.seg-result-table td{padding:7px 10px;border-bottom:1px solid var(--border);vertical-align:middle}.seg-result-table tr:last-child td{border-bottom:none}.seg-result-table tr:hover td{background:var(--surface2)}.seg-row--worst td{background:#fff7ed}.seg-row--worst:hover td{background:#ffedd5}.seg-row__name{font-weight:600}.seg-row__wpm{color:var(--accent)}.seg-row__cable{color:var(--text-secondary)}.seg-row__no-cable{color:var(--text-muted)}.tqs-secondary-field--routing{flex:0 0 auto}.tqs-routing-toggle{display:flex;align-items:center;gap:4px;margin-top:4px}.routing-btn{padding:4px 10px;font-size:.75rem;border:1px solid var(--border);border-radius:5px;background:transparent;color:var(--text-muted);cursor:pointer;white-space:nowrap}.routing-btn--active{background:var(--accent);color:#fff;border-color:var(--accent)}.tqs-spiral-input{width:58px!important;margin-left:4px;padding:3px 6px!important}.seg-routing-badge{display:inline-block;font-size:.65rem;color:var(--accent);font-weight:600;margin-left:4px;vertical-align:middle}.seg-circuit-row{display:flex;align-items:center;gap:8px;margin-top:6px;padding-top:6px;border-top:1px dashed var(--border)}.seg-circuit-label{font-size:.72rem;font-weight:600;color:var(--text-muted);white-space:nowrap;flex-shrink:0}.seg-circuit-select{flex:1;font-size:.8rem;padding:3px 6px;border:1px solid var(--border);border-radius:5px;background:var(--surface);color:var(--text-primary)}.seg-circuit-badge{font-size:.62rem;font-weight:700;color:#854d0e;background:#fef9c3;border:1px solid #fde047;border-radius:4px;padding:1px 5px;margin-left:4px;vertical-align:middle;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block}.resistance-bar-wrap{margin:12px 0 10px}.resistance-bar-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:5px}.resistance-bar{display:block;width:100%;border-radius:4px;overflow:hidden}.resistance-bar-legend{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:5px}.resistance-bar-item{display:flex;align-items:center;gap:4px;font-size:.7rem;color:var(--text-secondary)}.resistance-bar-dot{width:9px;height:9px;border-radius:2px;flex-shrink:0}.ckt-ht-comp-section{margin-top:12px}.ckt-ht-chain{display:flex;flex-direction:column;align-items:flex-start;gap:0;padding-left:8px}.ckt-ht-node{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:6px;background:#f8fafc;border:1.5px solid #e2e8f0;min-width:260px;position:relative}.ckt-ht-node--power{border-color:#1d4ed8;background:#eff6ff}.ckt-ht-node--splice{border-color:#0369a1;background:#f0f9ff}.ckt-ht-node--tee{border-color:#7c3aed;background:#faf5ff}.ckt-ht-node--end_seal{border-color:#374151;background:#f9fafb}.ckt-ht-icon{font-size:16px;width:22px;text-align:center;flex-shrink:0}.ckt-ht-label{font-size:.82rem;font-weight:600;color:#1f2937;white-space:nowrap}.ckt-ht-connector{display:block;width:2px;height:12px;background:#cbd5e1;margin-left:19px}.ckt-ht-seg-group{display:flex;flex-direction:column;align-items:flex-start}.ckt-ht-seg-card{display:flex;align-items:center;gap:8px;padding:5px 10px;border-radius:4px;background:#f1f5f9;border:1px solid #cbd5e1;min-width:200px}.ckt-ht-seg-name{font-size:.82rem;font-weight:600;color:#334155}.ckt-ht-seg-meta{font-size:.76rem;color:#64748b}.ckt-ht-add-row{display:flex;gap:6px;margin-left:10px;margin-top:4px;margin-bottom:2px}.ckt-ht-add-btn{font-size:.75rem;padding:2px 8px;border:1px dashed #94a3b8;border-radius:4px;background:transparent;color:#64748b;cursor:pointer;transition:border-color .15s,color .15s}.ckt-ht-add-btn:hover{border-color:#1d4ed8;color:#1d4ed8}.ckt-ht-del{margin-left:auto;background:none;border:none;color:#9ca3af;font-size:16px;cursor:pointer;padding:0 4px;line-height:1}.ckt-ht-del:hover{color:#ef4444}.ckt-jb-picker{font-size:.78rem;padding:2px 6px;border:1px solid #d1d5db;border-radius:4px;background:#fff;color:#374151;max-width:160px}.iso-view{padding:24px;max-width:1100px;margin:0 auto}.iso-view__header{display:flex;align-items:center;gap:16px;margin-bottom:20px}.iso-view__title{font-size:1.25rem;font-weight:700;color:#111827;margin:0}.iso-circuit-picker{font-size:.9rem;padding:5px 10px;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#374151;cursor:pointer}.iso-empty{padding:48px 24px;text-align:center;color:#6b7280;background:#f9fafb;border-radius:10px;border:1px dashed #d1d5db}.iso-empty p{margin:0;font-size:.95rem}.iso-canvas{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:20px;box-shadow:0 1px 4px #0000000f}.iso-jb-hint{font-size:.82rem;color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:6px;padding:8px 12px;margin-bottom:16px}.iso-svg-wrap{overflow-x:auto;padding-bottom:8px}.iso-legend{display:flex;gap:20px;margin-top:16px;padding-top:12px;border-top:1px solid #f3f4f6;flex-wrap:wrap}.iso-legend__item{display:flex;align-items:center;gap:6px;font-size:.8rem;color:#4b5563}.iso-nudge{font-size:.88rem;color:#6b7280;font-style:italic;padding:12px}.iso-canvas-root{display:flex;flex-direction:column;height:calc(100vh - 140px);background:#f8fafc}.iso-toolbar{display:flex;align-items:center;gap:4px;padding:8px 12px;background:#fff;border-bottom:1px solid #e5e7eb;flex-wrap:wrap;flex-shrink:0}.iso-toolbar__label{font-size:.78rem;color:#6b7280;margin-right:4px;white-space:nowrap}.iso-toolbar-btn{padding:5px 10px;font-size:.8rem;border:1px solid #d1d5db;border-radius:5px;background:#fff;color:#374151;cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s}.iso-toolbar-btn:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.iso-toolbar-btn--pipe{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8;font-weight:600}.iso-toolbar-btn--pipe:hover{background:#dbeafe}.iso-toolbar-btn--cable{background:#fef3c7;border-color:#fbbf24;color:#92400e;font-weight:600}.iso-toolbar-btn--cable:hover{background:#fde68a}.iso-toolbar-btn--pdf:disabled{opacity:.45;cursor:not-allowed}.iso-toolbar-btn--sensor{background:#f0fdf4;border-color:#86efac;color:#15803d;font-weight:600}.iso-toolbar-btn--sensor:hover{background:#dcfce7}.iso-toolbar-btn--export{background:#f5f3ff;border-color:#c4b5fd;color:#6d28d9;font-weight:600}.iso-toolbar-btn--export:hover:not(:disabled){background:#ede9fe}.iso-toolbar-btn--export:disabled{opacity:.45;cursor:not-allowed}.iso-toolbar-btn--zoom{padding:4px 8px;font-size:.85rem}.iso-zoom-label{font-size:.75rem;color:#6b7280;min-width:44px;text-align:center}.iso-toolbar-sep{width:1px;height:22px;background:#e5e7eb;margin:0 4px}.iso-toolbar-dropdown{position:relative}.iso-valve-menu{position:absolute;top:100%;left:0;z-index:50;background:#fff;border:1px solid #d1d5db;border-radius:6px;box-shadow:0 4px 12px #0000001a;display:flex;flex-direction:column;min-width:160px;overflow:hidden;margin-top:4px}.iso-valve-menu button{padding:7px 14px;text-align:left;background:none;border:none;font-size:.82rem;color:#374151;cursor:pointer}.iso-valve-menu button:hover{background:#f3f4f6}.iso-main{display:flex;flex:1;overflow:hidden}.iso-canvas-wrap{flex:1;position:relative;overflow:hidden;background:#fff}.iso-svg{display:block}.iso-empty-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;pointer-events:none;z-index:1}.iso-empty-hint__icon{font-size:48px;color:#d1d5db}.iso-empty-hint__text{font-size:.92rem;color:#9ca3af;text-align:center;line-height:1.6}.iso-empty-hint__text strong{color:#6b7280}.iso-props-panel{width:260px;flex-shrink:0;border-left:1px solid #e5e7eb;background:#fafafa;overflow-y:auto}.iso-props{padding:14px}.iso-props--empty{display:flex;align-items:center;justify-content:center;min-height:120px}.iso-props--empty p{font-size:.82rem;color:#9ca3af;text-align:center;padding:12px}.ckt-dn-warning{display:flex;align-items:center;gap:6px;padding:6px 10px;background:#fefce8;border:1px solid #fde047;border-radius:6px;font-size:.78rem;color:#854d0e;margin-bottom:8px}.ckt-ordered-list{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.ckt-ordered-seg{display:flex;align-items:center;gap:6px;padding:7px 10px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;font-size:.82rem}.ckt-ordered-num{width:18px;height:18px;border-radius:50%;background:#16a34a;color:#fff;font-size:.68rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ckt-ordered-name{font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ckt-ordered-meta{font-size:.74rem;color:var(--text-muted);white-space:nowrap}.ckt-ordered-wpm{font-size:.74rem;color:#2563eb;font-weight:600;white-space:nowrap}.ckt-ordered-weight{display:inline-flex;align-items:center;gap:2px;font-size:.72rem;color:#64748b}.ckt-ordered-weight input{width:48px;padding:1px 4px;font-size:.72rem;border:1px solid #cbd5e1;border-radius:3px;text-align:right}.ckt-available-badge{display:inline-block;padding:1px 5px;font-size:.68rem;font-weight:600;color:#fff;background:#f59e0b;border-radius:8px;margin-left:4px}.ckt-ordered-actions{display:flex;gap:3px;flex-shrink:0}.ckt-order-btn{width:24px;height:24px;border:1px solid #d1d5db;border-radius:4px;background:#fff;cursor:pointer;font-size:.82rem;display:flex;align-items:center;justify-content:center;color:var(--text);padding:0;line-height:1}.ckt-order-btn:hover{background:#f3f4f6}.ckt-order-btn:disabled{opacity:.3;cursor:default}.ckt-order-btn--remove{border-color:#fca5a5;color:#dc2626}.ckt-order-btn--remove:hover{background:#fee2e2}.ckt-reducer-row{display:flex;align-items:center;gap:6px;padding:4px 10px;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:6px;font-size:.76rem;color:#64748b}.ckt-reducer-icon{font-size:.9rem}.ckt-reducer-label{flex:1;font-style:italic}.ckt-reducer-extra{font-size:.72rem;color:#0369a1;font-weight:600}.ckt-available{margin-top:4px}.ckt-available__label{font-size:.74rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px}.ckt-available-seg{display:flex;align-items:center;gap:6px;width:100%;padding:6px 10px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;text-align:left;font-size:.82rem;margin-bottom:4px;transition:background .12s}.ckt-available-seg:hover{background:#f0f9ff;border-color:#93c5fd}.ckt-available-name{font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ckt-available-meta{font-size:.74rem;color:var(--text-muted);white-space:nowrap}.ckt-available-wpm{font-size:.74rem;color:#2563eb;font-weight:600;white-space:nowrap}.iso-props__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #e5e7eb}.iso-props__kind{font-size:.85rem;font-weight:700;color:#1f2937}.iso-del-btn{font-size:.78rem;padding:2px 8px;border:1px solid #fca5a5;border-radius:4px;background:#fff1f2;color:#dc2626;cursor:pointer}.iso-del-btn:hover{background:#fee2e2}.iso-props__fields{display:flex;flex-direction:column;gap:8px}.iso-field{display:flex;flex-direction:column;gap:3px}.iso-field span{font-size:.75rem;color:#6b7280;font-weight:500}.iso-field input,.iso-field select{font-size:.82rem;padding:4px 7px;border:1px solid #d1d5db;border-radius:4px;background:#fff;color:#1f2937;width:100%}.iso-field input:focus,.iso-field select:focus{outline:none;border-color:#3b82f6}.iso-field-divider{border:none;border-top:1px solid #e5e7eb;margin:4px 0}.iso-new-circuit-inline{font-size:.78rem;padding:5px 10px;background:#fef3c7;border:1px solid #fbbf24;border-radius:5px;color:#92400e;cursor:pointer;width:100%;text-align:left}.iso-new-circuit-inline:hover{background:#fde68a}.iso-circuit-overview{padding:14px}.iso-circuit-overview__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.iso-circuit-overview__title{font-size:.78rem;font-weight:700;color:#374151;text-transform:uppercase;letter-spacing:.04em}.iso-circuit-add-btn{font-size:.75rem;padding:4px 10px;background:#fef3c7;border:1px solid #fbbf24;border-radius:5px;color:#92400e;font-weight:600;cursor:pointer}.iso-circuit-add-btn:hover{background:#fde68a}.iso-circuit-empty{font-size:.8rem;color:#9ca3af;text-align:center;padding:12px 0;line-height:1.5}.iso-circuit-list{display:flex;flex-direction:column;gap:6px}.iso-circuit-row{display:flex;align-items:center;gap:6px;padding:6px 8px;background:#fff;border:1px solid #e5e7eb;border-radius:6px}.iso-circuit-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.iso-circuit-name-input{flex:1;font-size:.82rem;border:none;background:transparent;color:#1f2937;font-weight:500;min-width:0}.iso-circuit-name-input:focus{outline:none}.iso-circuit-stats{font-size:.75rem;color:#6b7280;white-space:nowrap}.iso-circuit-del{font-size:.9rem;color:#dc2626;background:none;border:none;cursor:pointer;padding:0 2px;line-height:1}.iso-circuit-del:hover{color:#b91c1c}.iso-props-hint{font-size:.72rem;color:#d1d5db;text-align:center;margin-top:14px;line-height:1.4}.iso-statusbar{display:flex;align-items:center;gap:8px;padding:5px 14px;background:#fff;border-top:1px solid #f3f4f6;font-size:.75rem;color:#6b7280;flex-shrink:0}.iso-statusbar-hint{margin-left:auto;color:#d1d5db;font-style:italic}.iso-statusbar-sep{color:#d1d5db;margin:0 2px}.iso-statusbar-circuit{font-weight:600;font-size:.72rem}.electro-layout{grid-template-columns:clamp(420px,32vw,520px) minmax(0,1fr);min-height:620px;background:#fff}.electro-form-panel{min-width:0;max-height:min(78vh,820px);background:#fff}.electro-diagram-panel{min-width:0;overflow:auto;background:#f6f8fb}.eb-subtabs{position:sticky;top:0;z-index:5}.eb-form.eb-schedule{padding:18px 20px 20px;overflow:auto}.eb-schedule .eb-form-title{margin-bottom:8px}.eb-schedule .eb-hint{max-width:36rem;color:#475569;line-height:1.45}.eb-cables-circuit-group{margin-bottom:18px}.eb-cables-circuit-header{width:100%;border:1px solid transparent;cursor:pointer;justify-content:flex-start;min-height:36px;margin-bottom:8px;padding:6px 8px;transition:background .15s,border-color .15s,box-shadow .15s}.eb-cables-circuit-header:hover,.eb-cables-circuit-header--selected{background:#e8f8ef;border-color:#86efac}.eb-cables-circuit-header--selected{box-shadow:0 0 0 2px #0596691a}.eb-cables-circuit-header .eb-circuit-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eb-schedule .eb-circuit-meta{margin-left:auto;color:#64748b;font-size:.72rem;font-family:monospace;white-space:nowrap}.eb-sched-table{min-width:0;table-layout:fixed;border-color:#d8e0ea;box-shadow:0 1px 2px #0f172a0a}.eb-sched-table th,.eb-sched-table td{padding:7px 9px}.eb-sched-table th{position:sticky;top:0;z-index:2;background:#f8fafc;box-shadow:inset 0 -1px #e2e8f0}.eb-sched-table th:nth-child(1),.eb-sched-table td:nth-child(1){width:33%}.eb-sched-table th:nth-child(2),.eb-sched-table td:nth-child(2){width:14%}.eb-sched-table th:nth-child(3),.eb-sched-table td:nth-child(3){width:25%}.eb-sched-table th:nth-child(4),.eb-sched-table td:nth-child(4){width:18%}.eb-sched-table th:nth-child(5),.eb-sched-table td:nth-child(5){width:10%}.eb-sched-table td:nth-child(3){min-width:0}.eb-sched-row{cursor:pointer;transition:background .12s,box-shadow .12s}.eb-sched-row:hover{background:#f8fcff}.eb-sched-section-row td{padding:8px 10px 5px;background:#fff;border-top:1px solid #d8e0ea;border-bottom:1px solid #e7edf4;color:#64748b;font-size:.64rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.eb-sched-section-row:first-child td{border-top:0}.eb-sched-row--selected td{background:#ecfdf5;box-shadow:inset 0 1px #bbf7d0,inset 0 -1px #bbf7d0}.eb-sched-row--selected td:first-child{box-shadow:inset 3px 0 #059669,inset 0 1px #bbf7d0,inset 0 -1px #bbf7d0}.eb-sched-main,.eb-sched-meta,.eb-sched-route{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis}.eb-sched-main{color:#1f2937;font-weight:600;white-space:nowrap}.eb-sched-badge{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:20px;padding:0 7px;border-radius:999px;font-size:.62rem;font-weight:800;letter-spacing:.05em;border:1px solid transparent}.eb-sched-badge--panel{color:#1e3a8a;background:#e0e7ff;border-color:#c7d2fe}.eb-sched-badge--jbox{color:#92400e;background:#fffbeb;border-color:#fcd34d}.eb-sched-badge--supply{color:#111827;background:#f3f4f6;border-color:#9ca3af}.eb-sched-badge--heat{color:#991b1b;background:#fee2e2;border-color:#fca5a5}.eb-sched-meta{margin-top:2px;color:#64748b;font-size:.66rem;font-weight:500;white-space:nowrap}.eb-sched-route{color:#334155;white-space:nowrap}.eb-sched-route--to{color:#64748b}.eb-sched-route--to:before{content:"→ ";color:#94a3b8}.eb-sched-input{min-width:0;max-width:none;height:28px;overflow:hidden;text-overflow:ellipsis;color:#1e40af;background:#fffc}.eb-sched-input--num{max-width:72px;min-width:54px}.eb-sched-input:focus{border-color:#059669;background:#fff;box-shadow:0 0 0 3px #0596691f}.eb-sched-select{height:26px;font-size:.78rem;border:1px solid #e2e8f0;border-radius:4px;background:#ffffffe6;color:#1e40af;padding:0 4px;min-width:0;max-width:100%;display:block;width:100%}.eb-sched-select--mm2{margin-top:2px;max-width:82px;color:#475569}.eb-sched-select:focus{outline:none;border-color:#059669;box-shadow:0 0 0 2px #0596691f}.eb-sched-add{width:22px;height:22px;padding:0;font-size:1rem;line-height:1;border-radius:4px;border:1px solid #a7f3d0;background:#ecfdf5;color:#047857;cursor:pointer;display:flex;align-items:center;justify-content:center}.eb-sched-add:hover{background:#d1fae5}.eb-sched-del{width:22px;height:22px;padding:0;font-size:1rem;line-height:1;border-radius:4px;border:1px solid #fecaca;background:#fef2f2;color:#dc2626;cursor:pointer;display:flex;align-items:center;justify-content:center}.eb-sched-del:hover{background:#fee2e2}.eb-diagram-toolbar{min-height:52px;padding:9px 16px;background:#fff}.eb-diagram-toolbar>div{min-width:0;display:flex;flex-direction:column;gap:2px}.eb-diagram-subtitle{font-size:.7rem;color:#94a3b8;line-height:1.25}.eb-btn-export{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.eb-btn-export:hover:not(:disabled){background:#d1fae5;border-color:#6ee7b7}.eb-diagram-scroll{flex:1;min-height:0;padding:24px;overflow:auto;align-items:flex-start;justify-content:flex-start}.electro-svg{display:block;max-width:100%;overflow:hidden;border-color:#d8e0ea;border-radius:10px;box-shadow:0 8px 22px #0f172a14}.view-tabs{position:sticky;top:0;z-index:50}.workspace__left{transition:max-width var(--transition-med),opacity var(--transition-med),padding var(--transition-med);overflow:hidden}.workspace__left--collapsed{max-width:0!important;opacity:0;padding:0!important;border-right:none!important}.model-layout__builder{transition:max-width var(--transition-med),opacity var(--transition-med);overflow:hidden}.model-layout__builder--collapsed{max-width:0!important;opacity:0}.model-layout__canvas{transition:max-width var(--transition-med),opacity var(--transition-med)}.model-layout__canvas--collapsed{max-width:0!important;opacity:0;overflow:hidden}.global-bar-body{overflow:hidden;max-height:300px;transition:max-height var(--transition-med),opacity var(--transition-med);opacity:1}.global-bar-body--collapsed{max-height:0;opacity:0}.global-bar-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:8px 20px;background:var(--surface-raised);border:none;border-bottom:1px solid var(--border);font-size:.75rem;font-weight:600;color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;text-align:left;transition:background var(--transition-fast),color var(--transition-fast)}.global-bar-toggle:hover{background:#eef2f7;color:var(--text)}.global-bar-toggle__chevron{margin-left:auto;font-size:.7rem;transition:transform var(--transition-fast)}.global-bar-toggle--open .global-bar-toggle__chevron{transform:rotate(180deg)}.workspace--with-right-toggle{position:relative}.workspace__right{transition:max-width var(--transition-med),opacity var(--transition-med),padding var(--transition-med);overflow:hidden}.workspace__right--collapsed{max-width:0!important;opacity:0;padding:0!important}.right-panel-toggle{position:absolute;right:0;top:50%;transform:translateY(-50%);width:20px;height:48px;background:var(--surface);border:1px solid var(--border);border-right:none;border-radius:6px 0 0 6px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.65rem;color:var(--text-muted);z-index:10;transition:background var(--transition-fast),color var(--transition-fast);box-shadow:var(--shadow-sm)}.right-panel-toggle:hover{background:#eef2f7;color:var(--text)}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a162873;z-index:1000;animation:drawer-fade-in var(--transition-fast) ease}@keyframes drawer-fade-in{0%{opacity:0}to{opacity:1}}.drawer-panel{position:fixed;top:0;right:0;bottom:0;width:480px;max-width:100vw;background:var(--surface);box-shadow:var(--shadow-lg);z-index:1001;display:flex;flex-direction:column;animation:drawer-slide-in var(--transition-med) ease}@keyframes drawer-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.drawer-header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--border);background:var(--surface-raised);flex-shrink:0}.drawer-title{font-size:1rem;font-weight:600;color:var(--navy)}.drawer-close{width:32px;height:32px;border:none;background:transparent;cursor:pointer;font-size:1.2rem;color:var(--text-muted);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;transition:background var(--transition-fast),color var(--transition-fast)}.drawer-close:hover{background:#fee2e2;color:var(--red)}.drawer-body{flex:1;overflow-y:auto;padding:16px}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a162880;display:flex;align-items:center;justify-content:center;z-index:1100;padding:20px;animation:drawer-fade-in var(--transition-fast) ease}.confirm-dialog{background:var(--surface);border-radius:var(--radius-lg);max-width:420px;width:100%;box-shadow:var(--shadow-lg);animation:confirm-pop var(--transition-fast) ease}@keyframes confirm-pop{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.confirm-dialog__header{padding:18px 20px 0}.confirm-dialog__title{font-size:1.05rem;font-weight:700;color:var(--text)}.confirm-dialog__title--danger{color:var(--red)}.confirm-dialog__body{padding:10px 20px 18px;font-size:.9rem;color:var(--text-muted);line-height:1.6}.confirm-dialog__footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--border);background:var(--surface-raised);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.confirm-btn{padding:7px 18px;border-radius:var(--radius);font-size:.85rem;font-weight:600;cursor:pointer;border:1px solid transparent;transition:background var(--transition-fast),border-color var(--transition-fast)}.confirm-btn--cancel{background:var(--surface);border-color:var(--border);color:var(--text-muted)}.confirm-btn--cancel:hover{background:var(--surface-raised)}.confirm-btn--confirm{background:var(--blue);color:#fff}.confirm-btn--confirm:hover{background:#1d4ed8}.confirm-btn--danger{background:var(--red);color:#fff}.confirm-btn--danger:hover{background:#b91c1c}.toast-container{position:fixed;bottom:24px;right:24px;z-index:1200;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:flex-start;gap:10px;padding:12px 16px;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-width:280px;max-width:380px;font-size:.88rem;position:relative;overflow:hidden;animation:toast-in var(--transition-med) ease}@keyframes toast-in{0%{transform:translate(110%);opacity:0}to{transform:translate(0);opacity:1}}.toast--leaving{animation:toast-out var(--transition-med) ease forwards}@keyframes toast-out{0%{transform:translate(0);opacity:1}to{transform:translate(110%);opacity:0}}.toast--success{background:#f0fdf4;border:1px solid #86efac;color:#166534}.toast--error{background:#fef2f2;border:1px solid #fca5a5;color:#991b1b}.toast--warning{background:#fffbeb;border:1px solid #fcd34d;color:#92400e}.toast--info{background:#eff6ff;border:1px solid #93c5fd;color:#1e40af}.toast__icon{font-size:1rem;flex-shrink:0;margin-top:1px}.toast__body{flex:1}.toast__title{font-weight:700;margin-bottom:2px}.toast__msg{font-weight:400;line-height:1.4}.toast__close{background:transparent;border:none;cursor:pointer;font-size:1rem;line-height:1;opacity:.5;padding:0;color:inherit;flex-shrink:0;align-self:center;transition:opacity var(--transition-fast)}.toast__close:hover{opacity:1}.toast__progress{position:absolute;bottom:0;left:0;height:3px;background:currentColor;opacity:.25;animation:toast-progress linear forwards}@keyframes toast-progress{0%{width:100%}to{width:0%}}.ctx-menu{position:fixed;z-index:1300;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-width:180px;padding:4px 0;animation:confirm-pop var(--transition-fast) ease}.ctx-item{display:flex;align-items:center;gap:10px;padding:8px 16px;font-size:.85rem;color:var(--text);cursor:pointer;border:none;background:transparent;width:100%;text-align:left;transition:background var(--transition-fast)}.ctx-item:hover{background:var(--surface-raised)}.ctx-item--danger{color:var(--red)}.ctx-item--danger:hover{background:#fef2f2}.ctx-item__icon{font-size:.9rem;opacity:.7}.ctx-separator{height:1px;background:var(--border);margin:4px 0}.drag-handle{display:flex;align-items:center;justify-content:center;width:20px;flex-shrink:0;cursor:grab;color:var(--text-light);font-size:1rem;opacity:.5;transition:opacity var(--transition-fast),color var(--transition-fast);-webkit-user-select:none;user-select:none;touch-action:none}.drag-handle:hover{opacity:1;color:var(--text-muted)}.drag-handle:active{cursor:grabbing}.drag-placeholder{border:2px dashed var(--blue-light);border-radius:var(--radius);background:#eff6ff;opacity:.6}@media (max-width: 1100px){.electro-layout{grid-template-columns:clamp(390px,38vw,460px) minmax(0,1fr)}}@media (max-width: 900px){.electro-layout{grid-template-columns:1fr}.electro-form-panel{max-height:520px;border-right:none;border-bottom:1px solid var(--border)}.eb-diagram-scroll{padding:16px}}@media (max-width: 560px){.eb-form.eb-schedule{padding:14px}.eb-sched-table{min-width:560px}.eb-diagram-toolbar{align-items:flex-start;gap:10px}}.ckt-validation-list{display:flex;flex-direction:column;gap:6px}.ckt-validation{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border-radius:6px;border:1px solid #bbf7d0;background:#f7fee7;font-size:.78rem}.ckt-validation--info{border-color:#bfdbfe;background:#eff6ff}.ckt-validation--warning{border-color:#fcd34d;background:#fffbeb}.ckt-validation--fail{border-color:#fca5a5;background:#fef2f2}.ckt-validation__severity{min-width:58px;font-size:.68rem;font-weight:800;color:#166534;letter-spacing:.04em}.ckt-validation--info .ckt-validation__severity{color:#1d4ed8}.ckt-validation--warning .ckt-validation__severity{color:#b45309}.ckt-validation--fail .ckt-validation__severity{color:#b91c1c}.ckt-validation__body{display:flex;flex-direction:column;gap:2px;color:var(--text);line-height:1.35}.ckt-validation__body em{color:var(--text-muted);font-style:normal;font-size:.72rem}
