:root{--bg-app: #0d0f13;--bg-sidebar: #13161c;--bg-panel: rgba(22, 26, 34, .85);--bg-panel-solid: #161921;--bg-card: rgba(27, 32, 42, .85);--border-subtle: #232833;--border-medium: #323947;--border-active: #4a5568;--text-primary: #f3f4f6;--text-secondary: #9ca3af;--text-muted: #6b7280;--color-accent-red: #ef4444;--color-accent-blue: #38bdf8;--color-accent-amber: #f59e0b;--color-accent-green: #10b981;--color-accent-purple: #a855f7;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", monospace;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 9999px}*{box-sizing:border-box;margin:0;padding:0}html,body{overflow-x:hidden;max-width:100vw}body{font-family:var(--font-sans);background-color:var(--bg-app);color:var(--text-primary);overflow:hidden;height:100vh;width:100vw;max-width:100%;-webkit-user-select:none;user-select:none;-webkit-font-smoothing:antialiased}.app-layout{display:flex;flex-direction:column;height:100vh;width:100vw;max-width:100%;overflow-x:hidden}.app-header{min-height:52px;height:52px;background-color:#111318;border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between;padding:0 16px;z-index:20;flex-shrink:0;min-width:0;max-width:100%}.scope-ribbon{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 16px;background:#1c150c;border-bottom:1px solid #92400e;color:#fbbf24;font-size:.68rem;line-height:1.4;z-index:20;flex-shrink:0}.scope-ribbon-text{color:#fcd34d}.scenario-invalid-badge{flex-shrink:0;background:#7f1d1d;color:#fecaca;font-weight:800;letter-spacing:.08em;font-size:.64rem;padding:3px 8px;border-radius:4px;border:1px solid #ef4444}.scenario-invalid-badge.hidden{display:none}.header-left{display:flex;align-items:center;gap:12px}.brand-logo{display:flex;align-items:center;justify-content:center}.brand-logo-img{width:28px;height:28px;border-radius:var(--radius-sm);border:1px solid var(--border-medium);box-shadow:0 0 10px #38bdf840;display:block}.header-app-name{font-size:.85rem;font-weight:700;letter-spacing:.08em;color:var(--text-primary)}.header-sub{font-size:.72rem;color:var(--text-secondary)}.viewport-tabs{display:flex;background-color:#1a1e27;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:2px;gap:2px}.viewport-tab{background:none;border:none;color:var(--text-secondary);font-family:var(--font-sans);font-size:.72rem;font-weight:600;letter-spacing:.06em;padding:6px 14px;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease}.viewport-tab:hover{color:var(--text-primary);background-color:#ffffff0d}.viewport-tab.active{color:#0f1115;background-color:#f3f4f6;box-shadow:0 1px 3px #0006}.header-actions{display:flex;align-items:center;gap:8px}.icon-btn{background:none;border:1px solid var(--border-subtle);color:var(--text-secondary);padding:6px;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.icon-btn:hover{color:var(--text-primary);border-color:var(--border-medium);background-color:#ffffff0f}.icon-btn.active{color:var(--color-accent-blue);border-color:#38bdf880;background-color:#38bdf81f;box-shadow:0 0 10px #38bdf840}.workspace-body{flex:1;display:flex;position:relative;overflow:hidden}.sidebar-container{width:380px;min-width:340px;max-width:440px;background-color:var(--bg-sidebar);border-right:1px solid var(--border-subtle);overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;padding:20px;gap:20px;z-index:15}.sidebar-container::-webkit-scrollbar{width:5px}.sidebar-container::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:4px}.sidebar-header{border-bottom:1px solid var(--border-subtle);padding-bottom:16px}.sidebar-tag{font-size:.68rem;font-weight:700;letter-spacing:.08em;color:var(--text-muted);margin-bottom:6px}.sidebar-title{font-size:1.18rem;font-weight:700;color:var(--text-primary);line-height:1.35;margin-bottom:10px}.sidebar-desc{font-size:.8rem;color:var(--text-secondary);line-height:1.5}.control-section{display:flex;flex-direction:column;gap:14px;padding-bottom:18px;border-bottom:1px solid var(--border-subtle)}.section-title-row{display:flex;align-items:center;gap:8px}.section-title{font-size:.72rem;font-weight:700;letter-spacing:.08em;color:var(--text-secondary)}.tag-badge{font-size:.62rem;font-weight:700;padding:1px 6px;border-radius:var(--radius-sm);font-family:var(--font-mono)}.tag-sample{background-color:#94a3b82e;color:#cbd5e1;border:1px solid rgba(148,163,184,.4)}.tag-meas{background-color:#38bdf826;color:var(--color-accent-blue);border:1px solid rgba(56,189,248,.35)}.app-toast{position:fixed;top:64px;right:16px;z-index:80;max-width:28rem;background:#1e293b;color:#f8fafc;border:1px solid #64748b;border-radius:6px;padding:10px 14px;font-size:.82rem;line-height:1.4;box-shadow:0 8px 24px #00000059}.app-toast.hidden{display:none}.about-copy{font-size:.78rem;color:var(--text-secondary);line-height:1.5;margin:8px 0 0}#about-aifab>summary{cursor:pointer}.scope-status-row{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.inspector-include{margin:8px 0 0}.bend-withheld,.bend-step-withheld{color:#fecaca}.dwg-purpose{font-size:.78rem;color:#0f172a;margin:6px 0;font-weight:600}.dwg-nts-banner{font-size:.8rem;font-weight:700;color:#0f172a}.dwg-titleblock{align-items:flex-start}.tag-est{background-color:#f59e0b26;color:var(--color-accent-amber);border:1px solid rgba(245,158,11,.35)}.control-group{display:flex;flex-direction:column;gap:6px}.slider-header{display:flex;justify-content:space-between;align-items:center;font-size:.8rem}.slider-label{color:var(--text-secondary)}.slider-value{font-family:var(--font-mono);font-weight:600;color:var(--text-primary)}.slider{-webkit-appearance:none;width:100%;height:4px;background:#2a303c;border-radius:2px;outline:none}.slider::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:#38bdf8;cursor:pointer;box-shadow:0 0 0 3px #38bdf840;transition:all .15s ease}.slider::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 0 0 5px #38bdf859}.section-caption{font-size:.72rem;color:var(--text-muted);line-height:1.4;margin-top:-4px}.segmented-control{display:grid;grid-template-columns:1fr 1fr 1fr;background-color:#1a1e27;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:3px;gap:3px}.segment-btn{background:none;border:none;color:var(--text-secondary);font-size:.68rem;font-weight:600;padding:8px 4px;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease;text-align:center}.segment-btn:hover{color:var(--text-primary);background-color:#ffffff0a}.segment-btn.active{color:#0f1115;background-color:#ef4444;color:#fff;font-weight:700}.filter-pills{display:flex;flex-wrap:wrap;gap:6px}.filter-pill{background-color:#1a1e27;border:1px solid var(--border-subtle);color:var(--text-secondary);font-size:.7rem;padding:5px 10px;border-radius:var(--radius-full);cursor:pointer;transition:all .15s ease}.filter-pill:hover{border-color:var(--border-medium);color:var(--text-primary)}.filter-pill.active{background-color:#38bdf826;border-color:var(--color-accent-blue);color:var(--color-accent-blue);font-weight:600}.run-select-dropdown{width:100%;background-color:#1a1e27;border:1px solid var(--border-subtle);color:var(--text-primary);font-family:var(--font-sans);font-size:.78rem;padding:8px 10px;border-radius:var(--radius-sm);outline:none;cursor:pointer}.run-select-dropdown:focus{border-color:var(--color-accent-blue)}.toggle-row{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:.8rem;color:var(--text-secondary)}.toggle-row input[type=checkbox]{accent-color:var(--color-accent-blue);width:15px;height:15px}.legend-list{display:flex;flex-direction:column;gap:8px;margin-top:6px;font-size:.72rem;color:var(--text-secondary)}.legend-item{display:flex;align-items:center;gap:8px}.legend-color-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.legend-grid-icon{font-size:.9rem;color:var(--text-muted)}.voltage-legend{padding:8px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background-color:#151821}.finding-list{display:flex;flex-direction:column;gap:6px;max-height:240px;overflow-y:auto}.finding-empty{font-size:.72rem;color:var(--text-muted);padding:8px;border:1px dashed var(--border-subtle);border-radius:var(--radius-sm)}.finding{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:6px 8px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:#151821;font-size:.68rem}.finding-section{grid-column:1;font-family:var(--font-mono);font-size:.58rem;letter-spacing:.04em;color:var(--text-muted)}.finding-status{font-size:.58rem;font-weight:700;letter-spacing:.06em;text-align:right}.finding-label{grid-column:1 / -1;font-weight:600;color:var(--text-primary)}.finding-detail{grid-column:1 / -1;color:var(--text-secondary);line-height:1.35}.finding-pass{border-color:#10b98166}.finding-pass .finding-status,.finding-pass .finding-label{color:var(--color-accent-green)}.finding-flag{border-color:#ef444473}.finding-flag .finding-status,.finding-flag .finding-label{color:#f87171}.finding-info{border-color:#38bdf859}.finding-info .finding-status,.finding-info .finding-label{color:var(--color-accent-blue)}.finding-not_evaluated{border-color:#f59e0b66}.finding-not_evaluated .finding-status,.finding-not_evaluated .finding-label{color:var(--color-accent-amber)}.finding-assumption_required{border-color:#a855f766}.finding-assumption_required .finding-status,.finding-assumption_required .finding-label{color:#c084fc}.finding-not_applicable{border-color:#94a3b873}.finding-not_applicable .finding-status,.finding-not_applicable .finding-label{color:#94a3b8}.guided-demo-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:42;display:flex;align-items:flex-start;justify-content:flex-end;padding:60px 16px 16px}.guided-demo-overlay.hidden{display:none}.guided-demo-card{width:min(440px,100%);max-height:calc(100vh - 80px);overflow:auto;background:#141820;border:1px solid #334155;border-radius:8px;padding:14px}.guided-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.guided-title{font-size:1.05rem;margin:2px 0 8px}.guided-nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.guided-contact{margin-top:10px;font-weight:700;font-size:.9rem}.guided-contact a{color:var(--color-accent-blue);text-decoration:underline}@media(prefers-reduced-motion:reduce){.guided-demo-overlay,.scenario-panel-overlay,.why-flagged-panel{transition:none}}.sidebar-footer{display:flex;flex-direction:column;gap:10px;margin-top:6px}.btn-estimate{width:100%;background:none;border:1px solid var(--color-accent-amber);color:var(--color-accent-amber);font-family:var(--font-sans);font-size:.75rem;font-weight:700;letter-spacing:.08em;padding:10px;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease}.btn-estimate:hover{background-color:#f59e0b1a}.btn-estimate:disabled,.btn-export:disabled{opacity:.45;cursor:not-allowed}.btn-export{width:100%;background-color:#2563eb;border:none;color:#fff;font-family:var(--font-sans);font-size:.75rem;font-weight:700;letter-spacing:.08em;padding:10px;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease}.btn-export:hover{background-color:#1d4ed8}.btn-export:disabled,.btn-secondary:disabled,.icon-btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.viewport-container{flex:1;position:relative;overflow:hidden;background-color:#101216}.viewport-container canvas{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;width:100%!important;height:100%!important;display:block}.viewport-hint{position:absolute;bottom:8px;right:18px;font-size:.65rem;font-weight:700;letter-spacing:.1em;color:#4b5563;pointer-events:none;z-index:13}.takeoff-card-container{position:absolute;top:18px;right:18px;width:360px;background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:16px 18px;box-shadow:0 10px 25px -5px #00000080;z-index:12;display:flex;flex-direction:column;gap:8px;pointer-events:auto}.takeoff-card-container.hidden{display:none}.takeoff-header{display:flex;justify-content:space-between;align-items:center}.takeoff-category{font-size:.68rem;font-weight:700;letter-spacing:.08em;color:var(--text-muted)}.takeoff-mode-btn{background:none;border:none;color:var(--color-accent-blue);font-size:.64rem;font-weight:700;letter-spacing:.05em;cursor:pointer;text-decoration:underline}.takeoff-main-metric{font-size:1.85rem;font-weight:700;font-family:var(--font-mono);color:var(--text-primary);letter-spacing:-.02em;line-height:1.1}.takeoff-sub-metric{font-size:.78rem;color:var(--text-secondary)}.takeoff-scope{font-size:.72rem;color:var(--color-accent-amber)}.takeoff-invalid{font-size:.68rem;font-weight:800;letter-spacing:.06em;color:#fecaca;background:#7f1d1d8c;border:1px solid #ef4444;border-radius:var(--radius-sm);padding:6px 8px;margin-bottom:4px}.takeoff-cut-plans{display:flex;flex-direction:column;gap:4px;max-height:140px;overflow-y:auto}.takeoff-cut-row{font-size:.68rem;color:var(--text-secondary);font-family:var(--font-mono);line-height:1.4}.highlight-text{color:var(--color-accent-amber);font-family:var(--font-mono);font-weight:600}.takeoff-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.chip{font-size:.65rem;font-weight:600;padding:3px 7px;border-radius:var(--radius-sm);font-family:var(--font-mono)}button.chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:inherit;cursor:pointer;text-align:left;max-width:100%;line-height:1.35}.chip-accent{background-color:#ef444426;color:var(--color-accent-red);border:1px solid rgba(239,68,68,.35)}.chip-success{background-color:#10b98126;color:var(--color-accent-green);border:1px solid rgba(16,185,129,.35)}.chip-warning{background-color:#f59e0b26;color:var(--color-accent-amber);border:1px solid rgba(245,158,11,.35)}.chip-danger{background-color:#ef444433;color:#f87171;border:1px solid rgba(239,68,68,.4)}.chip-neutral{background-color:#20242e;color:var(--text-secondary);border:1px solid var(--border-subtle)}.hud-overlay-container{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:11}.hud-pin{pointer-events:none;position:absolute;display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:var(--radius-sm);font-size:.7rem;font-weight:600;white-space:nowrap;background:#101319e0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.12);box-shadow:0 4px 12px #0006;transition:transform .05s ease-out}.hud-pin-dot{width:6px;height:6px;border-radius:50%}.hud-pin-badge{font-size:.6rem;font-family:var(--font-mono);padding:1px 4px;border-radius:2px;background-color:#ffffff1a}.hud-default .hud-pin-dot{background-color:var(--text-secondary)}.hud-blue{border-color:#38bdf866;color:var(--color-accent-blue)}.hud-blue .hud-pin-dot{background-color:var(--color-accent-blue);box-shadow:0 0 6px var(--color-accent-blue)}.hud-red{border-color:#ef444499;color:#f55;background:#240c0ce6}.hud-red .hud-pin-dot{background-color:var(--color-accent-red);box-shadow:0 0 8px var(--color-accent-red)}.hud-amber{border-color:#f59e0b80;color:var(--color-accent-amber)}.hud-amber .hud-pin-dot{background-color:var(--color-accent-amber);box-shadow:0 0 6px var(--color-accent-amber)}.run-inspector-container{position:absolute;left:12px;right:12px;bottom:28px;width:auto;max-width:none;z-index:12;transition:all .2s ease;pointer-events:none}.run-inspector-container.hidden{display:none;opacity:0;pointer-events:none;transform:none}.inspector-card{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-medium);border-radius:var(--radius-md);padding:12px 16px;display:flex;flex-direction:column;gap:10px;box-shadow:0 12px 30px #0009;max-height:240px;overflow-y:auto;pointer-events:auto}.inspector-dock-body{display:grid;grid-template-columns:minmax(220px,1.1fr) minmax(200px,.9fr) minmax(240px,1.2fr);gap:12px;align-items:start}.inspector-col{display:flex;flex-direction:column;gap:8px;min-width:0}.inspector-schedule{display:flex;flex-direction:column;gap:2px}.inspector-findings{display:flex;flex-direction:column;gap:6px;max-height:170px;overflow-y:auto}@media(max-width:1100px){.inspector-dock-body{grid-template-columns:1fr 1fr}}.inspector-header{display:flex;justify-content:space-between;align-items:center}.inspector-title-group{display:flex;align-items:center;gap:8px}.inspector-badge{background-color:var(--color-accent-red);color:#fff;font-family:var(--font-mono);font-size:.72rem;font-weight:700;padding:2px 6px;border-radius:var(--radius-sm)}.inspector-title{font-size:.92rem;font-weight:700;color:var(--text-primary)}.inspector-close{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1.1rem;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:8px;position:relative;z-index:6;flex-shrink:0}.inspector-close:hover{color:var(--text-primary)}.inspector-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;background-color:#12151b;padding:10px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle)}.inspector-field{display:flex;flex-direction:column;gap:2px}.field-label{font-size:.65rem;color:var(--text-muted)}.field-val{font-size:.8rem;font-weight:600;font-family:var(--font-mono);color:var(--text-primary)}.field-val.highlight{color:var(--color-accent-amber)}.text-success{color:var(--color-accent-green)}.text-danger{color:#f87171}.inspector-route{display:flex;flex-direction:column;gap:4px;font-size:.74rem;color:var(--text-secondary)}.route-point{display:flex;align-items:center;gap:6px}.route-icon{font-size:.8rem}.route-line{width:2px;height:6px;background-color:var(--border-medium);margin-left:6px}.inspector-bends{display:flex;flex-direction:column;gap:6px}.bends-header{display:flex;justify-content:space-between;font-size:.68rem;font-weight:700;letter-spacing:.06em;color:var(--text-muted)}.bends-total{font-family:var(--font-mono);color:var(--color-accent-blue)}.bends-list{display:flex;flex-direction:column;gap:6px;max-height:140px;overflow-y:auto}.bend-step{display:flex;align-items:center;gap:8px;background-color:#151821;padding:5px 8px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle)}.bend-step-num{width:18px;height:18px;border-radius:50%;background-color:#272d3b;color:var(--color-accent-blue);display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;font-family:var(--font-mono)}.bend-step-title{font-size:.72rem;font-weight:600;color:var(--text-primary)}.bend-step-sub{font-size:.65rem;color:var(--text-secondary)}.no-bends{font-size:.72rem;color:var(--text-muted);padding:8px}.inspector-hardware{font-size:.7rem;color:var(--text-muted);border-top:1px solid var(--border-subtle);padding-top:8px}.fab-unavailable{font-size:.68rem;color:var(--text-muted);line-height:1.4;margin-top:8px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000000bf;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.modal-overlay.hidden{display:none}.modal-dialog{background-color:var(--bg-panel-solid);border:1px solid var(--border-medium);border-radius:var(--radius-lg);width:580px;max-width:95vw;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 40px #000c;overflow:hidden}.modal-large{width:900px}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:18px 22px;border-bottom:1px solid var(--border-subtle)}.modal-badge{font-size:.65rem;font-weight:700;letter-spacing:.08em;color:var(--color-accent-amber);margin-bottom:4px;display:block}.modal-title{font-size:1.15rem;font-weight:700;color:var(--text-primary)}.modal-close-btn{background:none;border:none;color:var(--text-muted);font-size:1.1rem;cursor:pointer}.modal-close-btn:hover{color:var(--text-primary)}.modal-content{padding:22px;overflow-y:auto;font-size:.82rem;line-height:1.6;color:var(--text-secondary);display:flex;flex-direction:column;gap:16px}.assumption-block{background-color:#12141a;padding:14px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle)}.assumption-tag{font-size:.68rem;font-weight:700;margin-bottom:6px}.meas-tag{color:var(--color-accent-blue)}.est-tag{color:var(--color-accent-amber)}.assumption-list{padding-left:18px;margin-top:8px;display:flex;flex-direction:column;gap:6px}.modal-footer{padding:14px 22px;border-top:1px solid var(--border-subtle);display:flex;justify-content:flex-end;gap:10px}.btn-primary{background-color:#2563eb;border:none;color:#fff;font-family:var(--font-sans);font-size:.78rem;font-weight:600;padding:8px 18px;border-radius:var(--radius-sm);cursor:pointer}.btn-secondary{background:none;border:1px solid var(--border-medium);color:var(--text-primary);font-family:var(--font-sans);font-size:.78rem;font-weight:600;padding:8px 18px;border-radius:var(--radius-sm);cursor:pointer}.table-scroll{overflow-x:auto;max-height:420px}.cutsheet-table{width:100%;border-collapse:collapse;font-size:.74rem}.cutsheet-table th{background-color:#1a1e27;color:var(--text-secondary);font-weight:600;text-align:left;padding:8px 10px;border-bottom:1px solid var(--border-medium);position:sticky;top:0}.cutsheet-table td{padding:8px 10px;border-bottom:1px solid var(--border-subtle);color:var(--text-primary)}.cutsheet-table tr:hover td{background-color:#ffffff05}.td-id{color:var(--color-accent-amber)}.font-mono{font-family:var(--font-mono)}.text-right{text-align:right}.text-center{text-align:center}.chip-sm{font-size:.65rem;font-family:var(--font-mono);background-color:#212632;padding:2px 6px;border-radius:var(--radius-sm)}.findings-cell{font-size:.65rem;color:var(--text-secondary);max-width:220px}.hud-green{border-color:#10b98180;color:var(--color-accent-green)}.hud-green .hud-pin-dot{background-color:var(--color-accent-green);box-shadow:0 0 6px var(--color-accent-green)}.modal-intro{font-size:.82rem;color:var(--text-secondary);line-height:1.5;margin-bottom:12px}.scope-ribbon-inline{font-size:.72rem;color:#fbbf24;background:#1c150c;border:1px solid #92400e;border-radius:var(--radius-sm);padding:8px 10px;line-height:1.4;margin-bottom:10px}.export-blocked{font-size:.78rem;font-weight:600;color:#fecaca;background:#7f1d1d66;border:1px solid #ef4444;border-radius:var(--radius-sm);padding:8px 10px;margin-bottom:10px}.modal-subtitle{font-size:.78rem;font-weight:700;letter-spacing:.04em;color:var(--text-primary);margin:8px 0 6px}.app-layout.mobile-simple .sidebar-container,.app-layout.mobile-simple .viewport-tabs,.app-layout.mobile-simple .scope-ribbon,.app-layout.mobile-simple .header-actions,.app-layout.mobile-simple .header-sub,.app-layout.mobile-simple #three-status-header,.app-layout.mobile-simple #btn-open-rule-report,.app-layout.mobile-simple #btn-preview-report{display:none!important}.app-layout.mobile-simple .takeoff-card-container{display:flex;top:8px;left:8px;right:8px;width:auto;max-height:28vh;overflow:auto;padding:10px 12px;z-index:18}.app-layout.mobile-simple .takeoff-card-container.hidden{display:none}.app-layout.mobile-simple .run-inspector-container{display:block;left:8px;right:8px;bottom:8px;z-index:18}.app-layout.mobile-simple .run-inspector-container.hidden{display:none;opacity:0}.app-layout.mobile-simple .inspector-card{max-height:42vh}.app-layout.mobile-simple .inspector-dock-body{grid-template-columns:1fr}.app-layout.mobile-simple .app-header{height:48px}.app-layout.mobile-simple .hud-pin{font-size:.62rem;padding:3px 6px;max-width:46vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-layout.mobile-simple .viewport-hint{left:12px;right:12px;text-align:center}.mobile-notice-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:24px 16px}.mobile-notice-overlay.hidden{display:none}.mobile-notice-dialog{background:var(--bg-panel-solid);border:1px solid var(--border-medium);border-radius:var(--radius-lg);padding:22px 20px 20px;max-width:420px;width:100%;box-shadow:0 20px 40px #000c}.mobile-notice-badge{font-size:.65rem;font-weight:700;letter-spacing:.1em;color:var(--color-accent-amber);margin-bottom:8px}.mobile-notice-title{font-size:1.15rem;font-weight:700;color:var(--text-primary);margin-bottom:10px}.mobile-notice-body{font-size:.84rem;line-height:1.55;color:var(--text-secondary);margin-bottom:18px}.mobile-notice-btn{width:100%;border:none;border-radius:var(--radius-sm);background:#2563eb;color:#fff;font-weight:700;font-size:.85rem;padding:12px 14px;cursor:pointer}.mobile-notice-btn:hover{background:#1d4ed8}.takeoff-header-actions{display:flex;align-items:center;gap:6px}.takeoff-close{border:1px solid var(--border-subtle);background:transparent;color:var(--text-secondary);width:26px;height:26px;border-radius:4px;cursor:pointer}.why-flagged-panel{position:absolute;left:16px;bottom:88px;width:min(420px,calc(100% - 32px));max-height:48vh;overflow:auto;z-index:16;background:#141820;border:1px solid #334155;border-radius:8px;padding:12px 14px;box-shadow:0 12px 32px #00000059}.why-flagged-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.why-kicker{font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:#94a3b8}.why-title{font-size:.95rem;margin:2px 0 8px}.why-lead,.why-note,.why-dl dd{font-size:.78rem;color:var(--text-secondary);line-height:1.45}.why-dl{margin:8px 0}.why-dl dt{font-size:.68rem;font-weight:700;margin-top:8px;color:#e2e8f0}.why-sliders,.why-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.why-slider-btn,.why-apply-btn,.why-hide-btn,.why-close{border:1px solid #475569;background:#1e293b;color:#e2e8f0;border-radius:4px;padding:5px 8px;font-size:.72rem;cursor:pointer}.why-conflict-list{padding-left:16px;font-size:.78rem;color:var(--text-secondary)}.rule-check-summary-wrap{flex-shrink:0;height:32vh;min-height:88px;max-height:46vh;background:#0f131a;border-top:1px solid var(--border-subtle);position:relative;overflow:hidden;z-index:24}.rule-check-summary-wrap.hidden{display:none}.rcs-resize-handle{height:8px;cursor:ns-resize;background:linear-gradient(#1f2937,#111827)}#rule-check-summary{height:calc(100% - 8px);overflow:auto;padding:8px 14px 12px}.rcs-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;position:sticky;top:0;z-index:3;background:#0f131a;padding:2px 0 6px}.rcs-head-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.rcs-close{background:#1e293b;border:1px solid #475569;border-radius:6px;color:#e2e8f0}.rcs-title{font-size:.92rem;margin:2px 0 6px}.rcs-table{width:100%;border-collapse:collapse;font-size:.74rem}.rcs-table th,.rcs-table td{border-bottom:1px solid #1f2937;padding:5px 6px;text-align:left;vertical-align:top}.rcs-cite{font-size:.62rem;color:#94a3b8}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.scenario-panel-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:40;display:flex;align-items:flex-start;justify-content:flex-end;padding:60px 16px 16px}.scenario-panel-overlay.hidden{display:none}.scenario-panel-card{width:min(420px,100%);max-height:calc(100vh - 80px);overflow:auto;background:#141820;border:1px solid #334155;border-radius:8px;padding:14px}.scenario-source-row,.scenario-row{display:flex;gap:8px;align-items:center;justify-content:space-between;margin:8px 0}.scenario-row-actions{display:flex;gap:6px;flex-shrink:0}.scenario-delta-table{width:100%;font-size:.74rem}.scenario-delta-table th{text-align:left}.dwg-modal{max-width:min(920px,96vw);max-height:92vh;overflow:auto}.dwg-scroll{max-height:min(78vh,calc(100vh - 8rem));overflow:auto}.dwg-sheet-block{margin-bottom:20px;break-after:page;break-inside:avoid;page-break-after:always;page-break-inside:avoid}.dwg-titleblock{display:flex;justify-content:space-between;gap:12px}.dwg-svg{width:100%;background:#f8fafc;border:1px solid #cbd5e1}.dwg-room{fill:none;stroke:#0f172a}.dwg-gear{fill:#94a3b8;stroke:#0f172a}.dwg-ws{fill:#eab3082e;stroke:#ca8a04}.dwg-door{fill:none;stroke:#2563eb}.dwg-label,.dwg-dim,.dwg-clash{font-size:11px;fill:#0f172a}.dwg-deck{stroke:#64748b}.dwg-trap{stroke:#0ea5e9}.dwg-table{width:100%;font-size:.75rem;border-collapse:collapse}.dwg-table th,.dwg-table td{border:1px solid #cbd5e1;padding:4px 6px}.dwg-disclaimer{font-size:.72rem;color:#92400e}.scenario-invalid-badge{cursor:pointer}.app-layout.mobile-simple .rule-check-summary-wrap,.app-layout.mobile-simple .why-flagged-panel,.app-layout.mobile-simple .scenario-panel-overlay,.app-layout.mobile-simple .guided-demo-overlay{display:none!important}.route-blocker-status{flex-shrink:0;background:#7f1d1d;color:#fecaca;font-weight:800;letter-spacing:.04em;font-size:.64rem;padding:4px 8px;border-radius:4px;border:1px solid #ef4444;cursor:pointer}.route-blocker-status.hidden{display:none}.text-report-btn{font-size:.62rem;font-weight:700;letter-spacing:.04em;background:transparent;color:var(--text-primary);border:1px solid var(--border-medium);border-radius:4px;padding:4px 7px;cursor:pointer}.three-status{display:flex;flex-wrap:wrap;gap:6px 10px;font-size:.72rem;color:var(--text-secondary);max-width:360px;cursor:pointer;border-radius:4px;padding:2px 4px}.three-status:focus{outline:2px solid var(--color-accent-blue)}.sidebar-scope-expander .sidebar-proto{margin:8px 0 0;font-size:.68rem;color:#fbbf24;line-height:1.35}.sidebar-details>summary{cursor:pointer}.sidebar-scope-expander{background:#1c150c;border:1px solid #92400e;border-radius:var(--radius-sm);padding:8px 10px;color:#fbbf24}.sidebar-scope-expander>summary{font-size:.72rem;font-weight:700;letter-spacing:.04em;color:#fbbf24}.sidebar-scope-expander p{margin:8px 0 0;font-size:.72rem;line-height:1.4;color:#fcd34d}.takeoff-compact{width:280px}.preview-watermark{position:absolute;top:30%;right:10%;bottom:30%;left:10%;font-size:3rem;font-weight:900;color:#ef44442e;transform:rotate(-18deg);pointer-events:none;text-align:center}.modal-preview-blocked{position:relative}.dwg-run{stroke-width:1.4}.dwg-leader{stroke:#64748b;stroke-width:.6}.dwg-pipe{fill:#f8fafc66;stroke:#94a3b8}.dwg-duct{fill:#64748b40;stroke:#475569}.dwg-issue-dot{fill:#ef4444}.dwg-issue-n{fill:#fff;font-size:8px;text-anchor:middle}.print-root{display:none}.why-row-actions{margin-top:4px}@media print{@page{size:letter;margin:.5in}body{background:#fff!important}body.print-sketches .app-layout,body.print-sketches .modal-overlay,body.print-sketches .mobile-notice-overlay{display:none!important}body.print-sketches .print-root,body.print-sketches #print-root{display:block!important;position:static;background:#fff;color:#111}body.print-sketches .dwg-sheet-block{break-after:page;break-inside:avoid;page-break-after:always;page-break-inside:avoid}.scope-ribbon,.scope-ribbon-inline{color:#111!important;background:#fff!important;border-color:#111!important}.sidebar-container,.app-header,.viewport-hint,.header-actions,.rule-check-summary-wrap,.why-flagged-panel{display:none!important}}.scope-lines{margin:8px 0 0}.scope-lines>div{margin:4px 0}.scope-lines dt{font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#94a3b8}.scope-lines dd{font-size:.72rem;color:var(--text-secondary);line-height:1.4}.scope-expander>summary{cursor:pointer;font-size:.72rem;font-weight:700}.sidebar-scope-expander .scope-lines dd{color:#fcd34d}.sidebar-scope-expander .scope-lines dt{color:#fbbf24}.mobile-handoff{display:none;align-items:center;gap:8px;flex-wrap:wrap}.mobile-handoff.hidden{display:none!important}.app-layout.mobile-simple .mobile-handoff:not(.hidden){display:flex}#mobile-status-pill{font-size:.68rem;font-weight:700;color:#fecaca}.hud-pin-num{padding:2px 6px;min-width:22px;justify-content:center}.hud-pin-selected{z-index:5}.why-stepper{display:flex;align-items:center;gap:8px;margin:6px 0}.why-row-selected{background:#ef44441f;border-radius:4px;padding:4px}.dwg-scope{font-size:.72rem;color:#334155;margin:8px 0}.dwg-scope dt{color:#0f172a}.rcs-resize-handle:focus{outline:2px solid var(--color-accent-blue)}@media(max-width:1400px){.app-header{height:auto;flex-wrap:wrap;row-gap:8px;padding:8px 16px}.header-actions{width:100%;justify-content:flex-end;flex-wrap:wrap}.viewport-tabs{order:3;max-width:100%;overflow-x:auto}}@media(max-width:1100px){.header-sub{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewport-tabs{overflow-x:auto;max-width:100%;flex-wrap:nowrap}.viewport-tab{padding:6px 8px;font-size:.64rem;white-space:nowrap}}@media(max-width:920px){.app-header,.header-actions,.header-left,.viewport-tabs{min-width:0;max-width:100%}}.text-input{width:100%;background-color:#1a1e27;border:1px solid var(--border-subtle);color:var(--text-primary);font-family:var(--font-sans);font-size:.78rem;padding:6px 8px;border-radius:var(--radius-sm)}.project-chrome-actions{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.display-toggles>.toggle-row{margin-top:6px}.schedule-root{margin-top:10px}.schedule-toolbar,.schedule-bulk{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:8px 0}.schedule-search{flex:1 1 140px}.schedule-repeat{width:64px}.schedule-scroll{max-height:240px;overflow:auto;border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.schedule-head,.schedule-row{display:grid;grid-template-columns:28px 52px 1fr 48px 72px 36px 32px;gap:4px;align-items:center;padding:4px 6px;font-size:.68rem}.schedule-head{position:sticky;top:0;background:#141820;font-weight:700;letter-spacing:.04em;color:var(--text-muted)}.schedule-row{cursor:pointer;border-top:1px solid var(--border-subtle)}.schedule-row.is-selected{background:#38bdf81f}.schedule-row.is-unresolved{background:#f59e0b14}.schedule-row:focus{outline:2px solid var(--color-accent-blue)}.schedule-unresolved{color:#fbbf24;font-size:.72rem;margin:6px 0}.schedule-detail{margin-top:8px;padding:8px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.schedule-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.schedule-field{display:flex;flex-direction:column;gap:4px;font-size:.72rem;color:var(--text-secondary)}.field-error{color:#fca5a5}.schedule-bom{margin-top:10px}.prefab-root{margin-bottom:10px}.prefab-shop-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0}.prefab-holds{margin:6px 0 8px 1.1em;font-size:.72rem;color:#fbbf24;line-height:1.4}.prefab-fab-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.segment-btn:disabled{opacity:.4;cursor:not-allowed}
