:root{--bg-obsidian: #080c14;--bg-glass-card: rgba(13, 19, 33, .82);--bg-glass-hover: rgba(30, 41, 59, .85);--border-glass: rgba(255, 255, 255, .08);--border-glass-accent: rgba(56, 189, 248, .4);--color-cyan: #38bdf8;--color-blue: #0284c7;--color-green: #10b981;--color-amber: #eab308;--color-red: #ef4444;--color-purple: #c084fc;--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body{width:100%;height:100%;overflow:hidden;background-color:var(--bg-obsidian);color:var(--text-primary);font-family:var(--font-family);user-select:none;-webkit-user-select:none}#cad-app{position:relative;width:100%;height:100%;display:flex;flex-direction:column}#cad-viewport{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}#cad-map{width:100%;height:100%}.maplibregl-ctrl-attrib{background-color:#080c1499!important;color:var(--text-muted)!important;font-size:10px!important;border-radius:4px}.maplibregl-ctrl-attrib a{color:var(--text-secondary)!important}.cad-top-bar{position:absolute;top:calc(10px + var(--safe-top));left:10px;right:10px;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:8px;pointer-events:none}.cad-top-bar>*{pointer-events:auto}.cad-nav-left{display:flex;align-items:center;gap:8px}.cad-brand-pill{display:flex;align-items:center;gap:8px;background:var(--bg-glass-card);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-glass);padding:6px 12px;border-radius:9999px;box-shadow:0 4px 20px #0006}.cad-logo-img{width:20px;height:20px;object-fit:contain}.cad-brand-name{font-size:13px;font-weight:700;letter-spacing:.5px;color:#fff;white-space:nowrap}.cad-brand-badge{font-size:10px;font-weight:800;background:#38bdf82e;color:var(--color-cyan);padding:2px 6px;border-radius:4px;border:1px solid rgba(56,189,248,.3);letter-spacing:.5px}.cad-nav-btn{display:flex;align-items:center;gap:6px;background:var(--bg-glass-card);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-glass);color:var(--text-secondary);font-size:12px;font-weight:600;padding:7px 12px;border-radius:9999px;text-decoration:none;cursor:pointer;transition:all .15s ease;box-shadow:0 4px 15px #0000004d}.cad-nav-btn:hover,.cad-nav-btn:active{background:var(--bg-glass-hover);color:#fff;border-color:#fff3}.cad-project-wrapper{position:relative}.cad-project-pill{display:flex;align-items:center;gap:8px;background:var(--bg-glass-card);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-glass);color:#fff;padding:7px 14px;border-radius:9999px;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease;box-shadow:0 4px 15px #0000004d;max-width:220px}.cad-project-pill:hover,.cad-project-pill:active{border-color:var(--border-glass-accent)}.project-icon{color:var(--color-cyan);display:flex;align-items:center}.cad-project-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-chevron{font-size:10px;color:var(--text-muted)}.cad-project-dropdown{position:absolute;top:calc(100% + 8px);left:0;width:280px;max-height:340px;overflow-y:auto;background:#0d1321f2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-glass);border-radius:12px;padding:6px;display:none;flex-direction:column;gap:4px;box-shadow:0 12px 32px #0009;z-index:50}.cad-project-dropdown.visible{display:flex}.project-item-btn{display:flex;align-items:center;justify-content:space-between;width:100%;background:transparent;border:none;border-radius:8px;padding:8px 10px;color:var(--text-primary);text-align:left;cursor:pointer;transition:background .15s}.project-item-btn:hover,.project-item-btn:active{background:#ffffff14}.project-item-btn.active{background:#38bdf826;border:1px solid rgba(56,189,248,.3)}.project-item-info{display:flex;flex-direction:column;gap:2px}.project-item-name{font-size:13px;font-weight:600;color:#fff}.project-item-meta{font-size:11px;color:var(--text-muted)}.project-item-check{color:var(--color-cyan);font-weight:700}.cad-nav-right{display:flex;align-items:center;gap:6px}.kpi-ticker-chip{display:flex;align-items:center;gap:6px;background:var(--bg-glass-card);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-glass);padding:6px 12px;border-radius:9999px;font-size:12px;font-weight:700;box-shadow:0 4px 15px #0000004d;white-space:nowrap}.kpi-ticker-chip.mw{color:var(--color-cyan);border-color:#38bdf840}.kpi-ticker-chip.gsf{color:#fff}.kpi-ticker-chip.capex{color:var(--color-purple);border-color:#c084fc40}.icon-pill-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--bg-glass-card);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-glass);color:var(--text-secondary);border-radius:50%;cursor:pointer;box-shadow:0 4px 15px #0000004d;transition:all .15s ease}.icon-pill-btn:hover,.icon-pill-btn:active{background:var(--bg-glass-hover);color:#fff}.icon-pill-btn.active{background:#38bdf833;border-color:var(--color-cyan);color:var(--color-cyan)}.cad-tools-dock{position:absolute;top:calc(70px + var(--safe-top));right:12px;z-index:10;display:flex;flex-direction:column;gap:8px;background:var(--bg-glass-card);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-glass);padding:6px;border-radius:16px;box-shadow:0 8px 32px #00000080}.tool-group{display:flex;flex-direction:column;gap:4px}.tool-divider{height:1px;background:var(--border-glass);margin:2px 4px}.dock-btn{width:40px;height:40px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:transparent;border:1px solid transparent;border-radius:10px;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.dock-btn:hover,.dock-btn:active{background:#ffffff14;color:#fff}.dock-btn.active{background:#38bdf833;border-color:#38bdf880;color:var(--color-cyan)}.dock-btn-label{font-size:8px;font-weight:800;letter-spacing:.5px}.tool-icon-txt{font-size:11px;font-weight:800}.elev-menu-wrapper{position:relative}.elev-menu{position:absolute;right:calc(100% + 8px);top:0;background:#0d1321f2;backdrop-filter:blur(16px);border:1px solid var(--border-glass);border-radius:10px;padding:4px;display:none;flex-direction:column;gap:3px;box-shadow:0 8px 24px #00000080}.elev-menu.visible{display:flex}.elev-opt-btn{background:transparent;border:none;color:var(--text-secondary);font-size:11px;font-weight:700;padding:6px 12px;border-radius:6px;cursor:pointer;text-align:left;white-space:nowrap}.elev-opt-btn:hover,.elev-opt-btn:active{background:#ffffff1a;color:#fff}.cad-sun-panel{position:absolute;right:calc(100% + 12px);top:140px;width:220px;background:#0d1321f2;backdrop-filter:blur(20px);border:1px solid var(--border-glass);border-radius:14px;padding:12px;display:none;flex-direction:column;gap:8px;box-shadow:0 12px 32px #0009;z-index:20}.cad-sun-panel.visible{display:flex}.sun-panel-header{display:flex;align-items:center;justify-content:space-between}.sun-panel-title{font-size:11px;font-weight:700;color:var(--color-amber);letter-spacing:.5px}.sun-time-label{font-size:12px;font-weight:700;color:#fff}.sun-slider{width:100%;accent-color:var(--color-amber);cursor:pointer}.cad-measure-callout{position:absolute;top:calc(70px + var(--safe-top));left:50%;transform:translate(-50%);z-index:15;display:none;align-items:center;gap:8px;background:#0d1321eb;backdrop-filter:blur(16px);border:1px solid var(--color-cyan);padding:8px 16px;border-radius:9999px;box-shadow:0 6px 24px #38bdf840}.measure-text{font-size:13px;font-weight:700;color:#fff}.measure-clear-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:12px;padding:2px 6px;border-radius:4px}.measure-clear-btn:hover{color:#fff;background:#ffffff1a}.cad-cam-pad-wrapper{position:absolute;left:14px;bottom:calc(85px + var(--safe-bottom));z-index:10;display:flex;flex-direction:column;gap:6px}.cam-pad-toggle-btn{width:38px;height:38px;border-radius:50%;background:var(--bg-glass-card);backdrop-filter:blur(16px);border:1px solid var(--border-glass);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 16px #0006}.cad-cam-pad{display:none;flex-direction:column;gap:4px;background:var(--bg-glass-card);backdrop-filter:blur(20px);border:1px solid var(--border-glass);padding:6px;border-radius:14px;box-shadow:0 8px 24px #00000080}.cad-cam-pad.visible{display:flex}.cam-pad-row{display:flex;gap:4px}.cam-btn{width:36px;height:36px;border-radius:8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.06);color:var(--text-primary);display:flex;align-items:center;justify-content:center;cursor:pointer}.cam-btn:active{background:#38bdf833;border-color:var(--color-cyan)}.cad-filter-bar{position:absolute;left:12px;right:12px;bottom:calc(68px + var(--safe-bottom));z-index:10;display:flex;align-items:center;gap:6px;overflow-x:auto;padding:4px 2px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.cad-filter-bar::-webkit-scrollbar{display:none}.filter-chip{display:flex;align-items:center;gap:6px;background:var(--bg-glass-card);backdrop-filter:blur(16px);border:1px solid var(--border-glass);color:var(--text-secondary);font-size:11px;font-weight:600;padding:6px 12px;border-radius:9999px;white-space:nowrap;cursor:pointer;transition:all .15s ease}.filter-chip:active,.filter-chip:hover{background:var(--bg-glass-hover);color:#fff}.filter-chip.active{background:#38bdf833;border-color:#38bdf866;color:var(--color-cyan)}.chip-count{font-size:9px;font-weight:800;background:#ffffff1a;padding:1px 5px;border-radius:9999px}.filter-chip.active .chip-count{background:#38bdf84d}.cad-bottom-sheet{position:absolute;left:0;right:0;bottom:0;z-index:20;background:#0d1321f0;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-top:1px solid var(--border-glass);border-radius:20px 20px 0 0;box-shadow:0 -8px 32px #0009;padding-bottom:var(--safe-bottom);max-height:65vh;display:flex;flex-direction:column;transition:transform .28s cubic-bezier(.16,1,.3,1);transform:translateY(calc(100% - 60px))}.cad-bottom-sheet.expanded{transform:translateY(0)}.sheet-handle-bar{width:100%;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer}.sheet-handle{width:40px;height:4px;background:#ffffff40;border-radius:2px}.sheet-content{overflow-y:auto;padding:0 16px 16px;display:flex;flex-direction:column;gap:14px}.sheet-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.sheet-title-info{display:flex;flex-direction:column;gap:4px}.sheet-badge-row{display:flex;align-items:center;gap:6px}.component-category-badge{font-size:9px;font-weight:800;padding:2px 8px;border-radius:4px;letter-spacing:.5px}.component-phase-badge{font-size:9px;font-weight:700;color:var(--text-muted);letter-spacing:.5px}.sheet-subhead{font-size:10px;font-weight:800;letter-spacing:.75px;color:var(--color-cyan)}.sheet-title{font-size:18px;font-weight:700;color:#fff;line-height:1.25}.sheet-close-btn,.sheet-action-icon-btn{width:32px;height:32px;border-radius:50%;background:#ffffff14;border:1px solid var(--border-glass);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer}.sheet-close-btn:hover,.sheet-action-icon-btn:hover{background:#ffffff26;color:#fff}.spec-grid-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.kpi-box{background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:8px 10px;display:flex;flex-direction:column;gap:2px}.kpi-box-label{font-size:9px;font-weight:700;color:var(--text-muted);letter-spacing:.5px}.kpi-box-val{font-size:14px;font-weight:800;color:#fff;white-space:nowrap}.kpi-box-val.cyan{color:var(--color-cyan)}.kpi-box-val.amber{color:var(--color-amber)}.kpi-box-val.green{color:var(--color-green)}.kpi-box-val.purple{color:var(--color-purple)}.sheet-desc-box{background:#ffffff08;border-left:2px solid var(--color-cyan);padding:8px 12px;border-radius:0 6px 6px 0;font-size:12px;color:var(--text-secondary);line-height:1.4}.sheet-meta-rows{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--border-glass);padding-top:10px}.meta-item{display:flex;justify-content:space-between;font-size:12px}.meta-k{color:var(--text-muted)}.meta-v{font-weight:600;color:var(--text-primary)}.sheet-action-buttons{display:flex;gap:10px;margin-top:6px}.sheet-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 14px;border-radius:10px;font-size:12px;font-weight:700;cursor:pointer;border:none;transition:all .15s ease}.sheet-btn.primary{background:var(--color-blue);color:#fff}.sheet-btn.primary:hover{background:#0369a1}.sheet-btn.secondary{background:#ffffff14;border:1px solid var(--border-glass);color:#fff}.sheet-btn.secondary:hover{background:#ffffff26}.sheet-hint{font-size:11px;color:var(--text-muted);font-style:italic}@media(max-width:640px){.cad-top-bar{left:8px;right:8px}.cad-brand-badge,.kpi-ticker-chip.gsf,.kpi-ticker-chip.capex{display:none}.cad-project-pill{max-width:140px}.spec-grid-kpis{grid-template-columns:repeat(2,1fr)}.cad-tools-dock{top:auto;bottom:calc(120px + var(--safe-bottom));right:8px}.cad-sun-panel{right:56px;top:auto;bottom:0}}
