@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Space+Grotesk:wght@600;700&display=swap";:root{--ink:#102033;--muted:#607084;--line:#d7e1ea;--paper:#f6f0e6;--card:#ffffffc7;--navy:#0d1b2a;--amber:#f59e0b;--blue:#2f80ed;--green:#2e7d5b;--rose:#b45359;color:var(--ink);background:radial-gradient(circle at 12% 8%,#fff6d7 0 18%,#0000 38%),linear-gradient(135deg,#edf4f8 0%,#f8efe1 46%,#e8f1ee 100%);font-family:Manrope,sans-serif}*{box-sizing:border-box}body{min-width:1120px;margin:0;font-size:16px}button,input,select{font:inherit}.app{grid-template-columns:370px minmax(0,1fr);min-height:100vh;display:grid}.app.sidebarCollapsed{grid-template-columns:0 minmax(0,1fr)}.sidebar{color:#fff;background:#0d1b2aeb;min-width:0;max-height:100vh;padding:22px;transition:opacity .18s,transform .18s;overflow-y:auto}.sidebarCollapsed .sidebar{opacity:0;pointer-events:none;padding-left:0;padding-right:0;overflow:hidden;transform:translate(-16px)}.sidebarToggle{z-index:20;color:#0d1b2a;cursor:pointer;background:#f59e0b;border:0;border-radius:0 16px 16px 0;width:34px;height:50px;font-size:30px;font-weight:900;line-height:1;position:fixed;top:16px;left:356px;box-shadow:0 12px 28px #0f172a3d}.sidebarCollapsed .sidebarToggle{left:0}.brand{align-items:center;gap:12px;margin-bottom:20px;display:flex}.brand .mark{background:var(--amber);width:48px;height:48px;color:var(--navy);border-radius:16px;place-items:center;font-family:Space Grotesk;font-size:20px;font-weight:800;display:grid}.brand strong{font-size:18px;display:block}.brand span{color:#9fb0c2;font-size:12px;display:block}.workspace{padding:14px 18px 24px;overflow:auto}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--amber);font-size:11px;font-weight:800}.primary,.ghost{cursor:pointer;border:0;border-radius:999px;align-items:center;gap:8px;padding:11px 16px;font-weight:800;display:inline-flex}.primary{color:var(--navy);background:#fff}.ghost{color:var(--ink);background:#edf3f7}.panel{background:var(--card);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid #ffffffa6;border-radius:26px;box-shadow:0 18px 45px #2f40521f}.sidebar .panel{box-shadow:none;background:#ffffff13;border-color:#ffffff1c}.compact{margin-bottom:14px;padding:16px}.sectionTitle{color:inherit;align-items:center;gap:8px;margin-bottom:12px;font-size:17px;font-weight:850;display:flex}.grid.two{grid-template-columns:1fr 1fr;gap:10px;display:grid}.projectLocationGrid{margin:10px 0}.projectLocationGrid .field:last-child{grid-column:1/-1}.chooseLocationButton{color:#fbbf24;cursor:pointer;background:#f59e0b26;border:1px solid #f59e0b7a;border-radius:13px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:42px;margin:0 0 10px;font-size:12px;font-weight:900;display:inline-flex}.chooseLocationButton:hover{background:#f59e0b3d}.field{gap:5px;display:grid}.field span{color:#b4c3d2;font-size:13px;font-weight:750}.workspace .field span{color:var(--muted)}.checkboxField{align-content:end}.checkboxField input{width:42px;height:38px;accent-color:var(--amber);padding:0}.generationPanel{overflow:hidden}.designFilesPanel{gap:10px;display:grid}.saveStatus{background:#0f172a47;border-radius:16px;gap:2px;padding:11px 12px;display:grid;box-shadow:inset 0 0 0 1px #ffffff14}.saveStatus strong{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:950;overflow:hidden}.saveStatus span{color:#cbd5e1;font-size:11px;font-weight:850}.saveStatus.dirty{background:#f59e0b29;box-shadow:inset 0 0 0 1px #f59e0b52}.saveStatus.dirty span{color:#fbbf24}.saveStatus.clean span{color:#86efac}.cloudStorageStatus{color:#cbd5e1;align-items:center;gap:7px;font-size:10px;font-weight:850;display:flex}.cloudStorageStatus>span{background:#f59e0b;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 3px #f59e0b24}.cloudStorageStatus.synced{color:#86efac}.cloudStorageStatus.synced>span{background:#22c55e;box-shadow:0 0 0 3px #22c55e24}.cloudStorageStatus.offline>span{background:#94a3b8;box-shadow:0 0 0 3px #94a3b824}.designFileActions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.designFileActions.primaryActions{grid-template-columns:repeat(3,minmax(0,1fr))}.designFileActions button,.restoreAutosave{color:#102033;cursor:pointer;background:#ffffffeb;border:0;border-radius:13px;justify-content:center;align-items:center;gap:6px;min-height:38px;font-size:12px;font-weight:950;display:inline-flex;box-shadow:inset 0 0 0 1px #d7e1eae6}.designFileActions.primaryActions button{background:#f8fafc}.designFileActions button:hover,.restoreAutosave:hover{background:#fff7dc}.designFileActions button:disabled{opacity:.45;cursor:not-allowed}.designFileActions .dangerMini{color:#991b1b}.restoreAutosave{color:#fef3c7;background:#f59e0b2e;width:100%;box-shadow:inset 0 0 0 1px #f59e0b57}.designFilesHint{color:#9fb0c2;margin:0;font-size:11px;font-weight:750;line-height:1.35}.savedFileBrowser{background:#0f172a33;border-radius:15px;gap:6px;max-height:230px;padding:8px;display:grid;overflow:auto;box-shadow:inset 0 0 0 1px #ffffff12}.savedFileBrowserHead{color:#dbeafe;justify-content:space-between;align-items:center;font-size:11px;display:flex}.savedFileBrowserHead span{color:#fbbf24;text-align:center;background:#f59e0b33;border-radius:999px;min-width:24px;padding:3px 7px}.savedFileBrowser button{color:#f8fafc;text-align:left;cursor:pointer;background:#ffffff12;border:0;border-radius:12px;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:9px 10px;display:flex}.savedFileBrowser button.active{background:#f59e0b33;box-shadow:inset 0 0 0 1px #f59e0b73}.savedFileBrowser button span{min-width:0}.savedFileBrowser button strong,.savedFileBrowser button small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.savedFileBrowser button strong{font-size:11px}.savedFileBrowser button small{color:#9fb0c2;margin-top:2px;font-size:9px}.savedFileBrowser button em{color:#fbbf24;font-size:10px;font-style:normal;font-weight:900}.savedFileBrowser p{color:#9fb0c2;margin:3px;font-size:10px;line-height:1.4}.openFileManager{color:#fef3c7;cursor:pointer;background:#f59e0b24;border:1px solid #f59e0b70;border-radius:13px;justify-content:center;align-items:center;gap:7px;width:100%;min-height:38px;font-size:11px;font-weight:950;display:inline-flex}.openFileManager:hover{background:#f59e0b3d}.generationStats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px;display:grid}.generationStats div{background:linear-gradient(135deg,#f59e0b2e,#ffffff14);border-radius:16px;padding:10px;box-shadow:inset 0 0 0 1px #ffffff14}.generationStats span{color:#b4c3d2;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:900;display:block}.generationStats strong{color:#fff;margin-top:3px;font-size:14px;font-weight:950;display:block}.databasePicker{gap:8px;margin-bottom:12px;display:grid}.panelSearchResults{gap:6px;max-height:220px;padding-right:3px;display:grid;overflow:auto}.panelSearchResults button{text-align:left;color:#eff6ff;cursor:pointer;background:#ffffff14;border:1px solid #94a3b842;border-radius:14px;grid-template-columns:1fr auto;gap:2px 8px;padding:8px 10px;display:grid}.panelSearchResults button.active{background:#f59e0b2e;border-color:#f59e0be0}.panelSearchResults button span{color:#fbbf24;font-weight:950}.panelSearchResults button small{color:#b4c3d2;grid-column:1/-1;font-size:11px;font-weight:800}.almmRevisionBadge{color:#dcfce7;background:#22c55e1f;border-radius:14px;gap:2px;margin:0 0 10px;padding:10px 11px;display:grid;box-shadow:inset 0 0 0 1px #22c55e47}.almmRevisionBadge strong{font-size:11px}.almmRevisionBadge span{color:#a7f3d0;font-size:9px;font-weight:800}.databaseNotice,.lossExplanation,.datasheetStatus{color:#b4c3d2;margin:8px 0 12px;font-size:10px;font-weight:750;line-height:1.45}.lossExplanation{background:#ffffff12;border-radius:13px;padding:9px 10px}.datasheetActions{grid-template-columns:1fr 1fr;gap:7px;margin:8px 0;display:grid}.datasheetActions button,.datasheetReviewActions button{color:#eff6ff;cursor:pointer;background:#ffffff1a;border:0;border-radius:12px;justify-content:center;align-items:center;gap:6px;min-height:38px;padding:8px 10px;font-size:10px;font-weight:900;display:inline-flex;box-shadow:inset 0 0 0 1px #94a3b83d}.datasheetReview{background:#0f172a42;border-radius:16px;gap:10px;margin:10px 0 14px;padding:11px;display:grid;box-shadow:inset 0 0 0 1px #f59e0b57}.datasheetReviewActions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.datasheetReviewActions button.primary{color:#111827;box-shadow:none;background:#f59e0b}.stringSizing{color:#e5eef7;background:#ffffff14;border:1px solid #94a3b847;border-radius:16px;margin-top:12px;padding:10px}.stringSizing.ok{border-color:#22c55e73}.stringSizing.warn{border-color:#f59e0bb8}.stringSizingHead{color:#fff;justify-content:space-between;gap:8px;font-size:12px;font-weight:950;display:flex}.stringSizingHead span,.stringSizing p,.stringSizing li{color:#cbd5e1;font-size:11px;line-height:1.35}.stringChips{flex-wrap:wrap;gap:6px;margin-top:7px;display:flex}.stringChips span{color:#e2e8f0;background:#0f172a52;border-radius:999px;padding:5px 7px;font-size:10px;font-weight:850}.stringSizing ul{margin:8px 0 0 17px;padding:0}.monthlyBars{background:#0f172a2e;border-radius:16px;grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:4px;height:86px;margin-top:12px;padding:8px;display:grid}.monthlyBars div{place-items:end center;gap:3px;min-width:0;display:grid}.monthlyBars i{background:linear-gradient(#fbbf24,#f59e0b);border-radius:999px 999px 3px 3px;width:100%;max-width:13px;display:block}.monthlyBars span{color:#b4c3d2;font-size:8px;font-weight:900}.generationNote{color:#b4c3d2;margin-top:9px;font-size:11px;font-weight:750;line-height:1.35;display:block}.inputWrap{position:relative}input,select{width:100%;color:var(--ink);background:#ffffffed;border:1px solid #94a3b859;border-radius:13px;outline:none;padding:10px 11px;font-size:15px}.inputWrap em{color:var(--muted);font-size:11px;font-style:normal;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.inputWrap input{padding-right:42px}.computedPlantSize{background:linear-gradient(135deg,#ffc10729,#ffffffe6);border-radius:14px;gap:3px;padding:11px 12px;display:grid;box-shadow:inset 0 0 0 1px #f59e0b3d}.computedPlantSize span{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:900}.computedPlantSize strong{color:#102033;font:950 22px Space Grotesk,sans-serif}.computedPlantSize small{color:#64748b;font-size:10px;font-weight:750}.panelHeader{justify-content:space-between;align-items:flex-start;padding:20px 22px 0;display:flex}.panelHeader h2{letter-spacing:-.03em;margin:2px 0 0;font:800 24px Space Grotesk}.viewTabs{background:#edf3f7;border-radius:999px;gap:6px;padding:5px;display:flex}.viewTabs button{color:var(--ink);background:#fff;border:0;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:850}.canvasMock{padding:14px 18px 20px}.canvasMock svg{background:#fff;border-radius:24px;width:100%;min-height:420px;box-shadow:inset 0 0 0 1px #d8e3ec}dl{gap:10px;margin:0;display:grid}dl div{border-bottom:1px dashed var(--line);justify-content:space-between;gap:12px;padding:11px 0;display:flex}dt{color:var(--muted);font-size:13px;font-weight:700}dd{margin:0;font-weight:900}.bom{margin-top:0;overflow:hidden}.bomHint{color:var(--muted);padding:8px 22px 0;font-size:12px;font-weight:800}.bomHeaderActions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.editableBomCell{cursor:text;min-width:74px}.bomReviewRow td{border-bottom-color:#efd78b;background:#fff7d6!important}.bomReviewRow .editableBomCell:nth-child(3){color:#6d4700;font-weight:900;background:#ffe6a0!important}.bomReviewFlag{color:#3f2b00;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;background:#f3b51b;border-radius:999px;margin:5px 0 0 7px;padding:3px 7px;font-size:9px;font-weight:950;display:inline-flex}.manualBomRow td{background:#eef8ff!important}.bomRowAction{text-align:center;width:44px}.bomRowAction button{color:#b42318;cursor:pointer;background:#fff5f5;border:1px solid #f1c7c7;border-radius:9px;place-items:center;width:30px;height:30px;display:inline-grid}.editableBomCell:hover{background:#fff7dc!important}.editableBomCell input{width:100%;min-width:70px;color:var(--ink);font:inherit;background:#fff;border:1px solid #f59e0b;border-radius:8px;padding:7px 8px}.autoRaiseField{grid-column:1/-1}.tableShell{padding:16px 18px 22px;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:980px;font-size:13px}th{background:var(--navy);color:#fff;text-align:left;letter-spacing:.02em;padding:12px 10px;font-size:12px}td{vertical-align:top;border-bottom:1px solid #e1e9f0;padding:10px}tbody tr:not(.group):nth-child(2n) td{background:#f8fafcb8}tr.group td{color:var(--navy);background:#dde8f2;padding:10px;font-size:13px;font-weight:900}@media (width<=1180px){body{min-width:0}.app{grid-template-columns:1fr}.sidebar{max-height:unset}}.brandLogo{object-fit:cover;object-position:center top;background:0 0;border-radius:13px;width:58px;height:58px;padding:0;box-shadow:0 10px 28px #0000002e}.viewTabs button.active{background:var(--navy);color:#fff}.fileCountBadge{background:#94a3b838;border-radius:999px;place-items:center;min-width:20px;margin-left:4px;padding:2px 6px;font-size:10px;line-height:1.25;display:inline-grid}.viewTabs button.active .fileCountBadge{background:#ffffff2e}.fileManagerWorkspace{align-content:start;gap:18px;min-height:calc(100vh - 98px);padding:24px;display:grid;overflow:hidden}.fileManagerHeader,.fileManagerToolbar{justify-content:space-between;align-items:flex-end;gap:18px;display:flex}.fileManagerHeader>div{min-width:0}.fileManagerHeader span{color:#b45309;letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:950}.fileManagerHeader h2{color:var(--navy);margin:3px 0 2px;font:950 28px Space Grotesk,sans-serif}.fileManagerHeader p,.fileManagerStorageNote{color:var(--muted);margin:0;font-size:12px;font-weight:750}.fileManagerNew{background:var(--amber);color:#111827;cursor:pointer;border:0;border-radius:13px;justify-content:center;align-items:center;gap:7px;min-height:42px;padding:10px 15px;font-weight:950;display:inline-flex;box-shadow:0 12px 24px #f59e0b38}.fileManagerToolbar{background:#f5f8fb;border-radius:16px;justify-content:flex-start;align-items:end;padding:14px;box-shadow:inset 0 0 0 1px #e1e9f0}.fileManagerToolbar label{gap:6px;display:grid}.fileManagerToolbar label:first-child{width:min(560px,100%)}.fileManagerToolbar label:last-child{width:210px}.fileManagerToolbar span{color:var(--muted);font-size:11px;font-weight:900}.fileManagerToolbar input,.fileManagerToolbar select{min-height:42px}.fileManagerTableWrap{border-radius:17px;overflow:auto;box-shadow:0 12px 36px #0f172a14,inset 0 0 0 1px #dbe4ec}.fileManagerTable{min-width:900px}.fileManagerTable th:last-child{width:330px}.fileManagerTable tbody tr.active td{background:#fff7dc}.fileManagerTable td strong,.fileManagerTable td small{display:block}.fileManagerTable td strong{color:var(--navy);font-size:13px}.fileManagerTable td small{color:var(--muted);margin-top:4px;font-size:10px;font-weight:750}.fileRowActions{flex-wrap:wrap;gap:6px;display:flex}.fileRowActions button{min-height:32px;color:var(--navy);cursor:pointer;background:#fff;border:1px solid #d7e1ea;border-radius:10px;padding:6px 10px;font-size:11px;font-weight:900}.fileRowActions button.primary{border-color:var(--navy);background:var(--navy);color:#fff}.fileRowActions button.danger{color:#991b1b}.fileManagerEmpty{min-height:260px;color:var(--muted);text-align:center;border:1px dashed #cbd5e1;border-radius:18px;place-content:center;justify-items:center;gap:8px;display:grid}.fileManagerEmpty strong{color:var(--navy);font-size:16px}.fileManagerEmpty span{font-size:12px}.engineeringWorkspace{align-content:start;gap:16px;min-height:calc(100vh - 98px);padding:20px;display:grid;overflow:hidden}.engineeringHeader{justify-content:space-between;align-items:flex-end;gap:18px;display:flex}.engineeringHeader h2{color:var(--navy);margin:3px 0 2px;font:950 26px Space Grotesk,sans-serif}.engineeringHeader p{color:var(--muted);margin:0;font-size:12px;font-weight:750}.engineeringViewTabs{background:#edf3f7;border-radius:15px;gap:7px;padding:5px;display:flex;box-shadow:inset 0 0 0 1px #d7e1ea}.engineeringViewTabs button{min-height:38px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:11px;padding:8px 13px;font-size:11px;font-weight:950}.engineeringViewTabs button.active{background:var(--navy);color:#fff;box-shadow:0 8px 18px #0f172a2b}.engineeringSheetShell{background:#e9eef1;border-radius:18px;padding:14px;overflow:auto;box-shadow:inset 0 0 0 1px #d4dee6}.engineeringSheet{aspect-ratio:12/7;background:#fff;border:1px solid #475569;width:100%;min-width:860px;height:auto;display:block;box-shadow:0 16px 38px #0f172a1f}.engineeringSheetBackground{fill:#fff}.engineeringDrawingHeading text{fill:#111827;letter-spacing:.08em;font-size:13px;font-weight:900}.engineeringDrawingDivider{stroke:#cbd5e1;stroke-width:.8px}.engineeringRoof{fill:#fcfdfe;stroke:#64748b;stroke-width:1.4px}.engineeringObstructionPlan{fill:#f1f5f9;stroke:#94a3b8;stroke-width:1.1px}.engineeringWallPlan{fill:#e8edf2;stroke:#64748b;stroke-width:1.4px}.engineeringParapetPlan{fill:none;stroke:#64748b;stroke-width:1.4px}.engineeringIgnoredShape{opacity:.45;stroke-dasharray:7 4}.engineeringShapeLabel,.engineeringShapeLevel{fill:#334155;text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-width:3px;font-size:8px;font-weight:900}.engineeringShapeLevel{font-size:7.5px;font-weight:700}.engineeringPanelPlan{fill:#94a3b806;stroke:#cbd5e1;stroke-width:.65px;stroke-dasharray:7 5}.engineeringRafterPlan{stroke:#94a3b8;stroke-width:.8px;stroke-dasharray:8 6;opacity:.32}.engineeringPurlinPlan{stroke:#cbd5e1;stroke-width:.65px;stroke-dasharray:4 5;opacity:.28}.engineeringLegPlan>rect,.engineeringLegPlan>circle:not(.legCore){fill:#fff;stroke:#0f172a;stroke-width:1.45px}.engineeringLegPlan .legCore{fill:#0f172a;stroke:#fff;stroke-width:1px}.engineeringLegPlan text{fill:#334155;paint-order:stroke;stroke:#fff;stroke-width:4px;font-size:8.5px;font-weight:850}.engineeringDimension line{fill:none;stroke:#334155;stroke-width:.8px}.engineeringDimension line.witness{stroke:#cbd5e1;stroke-width:.65px;marker-start:none;marker-end:none}.engineeringDimension text{fill:#1f2937;text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-width:5px;font-size:8.5px;font-weight:850}.engineeringDimension.gridDim line{stroke:#334155}.engineeringDimension.overallDim line{stroke:#334155;stroke-width:1px}.engineeringDimension.overallDim text{font-size:9.5px}.engineeringDimension.boundaryDim line{stroke:#334155;stroke-width:.9px}.engineeringDimension.boundaryDim text{fill:#111827;font-size:9.5px}.engineeringDimension.siteDim line{stroke:#475569;stroke-width:.9px}.engineeringDimension.siteDim text{fill:#334155;font-size:9.5px}.engineeringDimension.nearestReferenceDim line{stroke:#64748b;stroke-width:.75px}.engineeringDimension.nearestReferenceDim text{fill:#334155;stroke-width:4px;font-size:7.5px}.engineeringDimension.legSpacingDim line{stroke:#0f766e;stroke-width:.85px}.engineeringDimension.legSpacingDim text{fill:#0f766e;stroke-width:4px;font-size:8px}.engineeringDimension.legSpacingDim.secondary line{stroke:#2563eb;stroke-width:.65px;opacity:.74}.engineeringDimension.legSpacingDim.secondary text{fill:#1d4ed8;font-size:7.4px}.engineeringSheet marker path{fill:#111827}.engineeringGridBubble circle{fill:#fff;stroke:#64748b;stroke-width:1px}.engineeringGridBubble text{fill:#111827;text-anchor:middle;font-size:9px;font-weight:900}.engineeringKeyPlan>rect{fill:#fff;stroke:#111827;stroke-width:1.2px}.engineeringKeyPanel{fill:#94a3b814;stroke:#475569;stroke-width:.8px;stroke-dasharray:4 2}.engineeringKeyLeg rect{fill:#fff;stroke:#111827;stroke-width:.9px}.engineeringKeyLeg circle{fill:#111827}.engineeringKeyLeg text{fill:#111827;paint-order:stroke;stroke:#fff;stroke-width:2px;font-size:5.5px;font-weight:900}.engineeringKeyPlanTitle{fill:#111827;letter-spacing:.08em;font-size:9px;font-weight:900}.northArrow path{fill:#0f172a}.northArrow text{fill:#0f172a;text-anchor:middle;font-size:18px;font-weight:950}.northArrow.compact text{font-size:12px}.engineeringDrawingMeta text{fill:#334155;letter-spacing:.015em;font-size:8.5px;font-weight:750}.engineeringDrawingMeta .metaHeading{fill:#111827;letter-spacing:.07em;font-size:9px;font-weight:950}.engineeringDrawingMeta line{stroke:#94a3b8;stroke-width:.8px}.engineeringDrawingMeta .legendPedestal{fill:#f8fafc;stroke:#64748b;stroke-width:1.1px}.engineeringDrawingMeta .legendRafter{stroke:#64748b;stroke-width:1.7px;stroke-dasharray:10 4 2 4}.engineeringDrawingMeta .legendPurlin{stroke:#94a3b8;stroke-width:1.2px;stroke-dasharray:5 3}.engineeringDrawingMeta .legendPanel{fill:#94a3b80a;stroke:#94a3b8;stroke-width:1px;stroke-dasharray:5 3}.engineeringRoofElevation .roofDatum{stroke:#94a3b8;stroke-width:1.5px}.engineeringRoofElevation .roofObject{fill:#f1f5f9;stroke:#94a3b8;stroke-width:1.1px}.engineeringRoofElevation .parapetSection{fill:#e8edf2;stroke:#94a3b8;stroke-width:1.1px}.engineeringElevationShapeLabel{fill:#334155;text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-width:3px;font-size:7.5px;font-weight:800}.engineeringLegElevation>line{stroke:#111827;stroke-width:5px;stroke-linecap:square}.engineeringLegElevation .pedestal{fill:#eef2f6;stroke:#64748b;stroke-width:1.1px}.engineeringLegElevation .pedestal.cylindrical{stroke-dasharray:5 2}.engineeringLegElevation text{fill:#334155;paint-order:stroke;stroke:#fff;stroke-width:4px;font-size:8.5px;font-weight:900}.engineeringLegElevation .pedestalLabel{fill:#64748b;font-size:7.5px}.engineeringLegBody{fill:#475569;stroke:#475569;stroke-width:.5px}.engineeringRafterBody{fill:#64748b;stroke:#475569;stroke-width:.6px}.engineeringPurlinBody{fill:#94a3b8;stroke:#64748b;stroke-width:.5px}.engineeringPanelBody{fill:#f8fafc;stroke:#64748b;stroke-width:.8px}.engineeringSectionProfile{fill:#64748b;stroke:#475569;stroke-width:1px}.engineeringSectionProfile .sectionVoid{fill:#fff;stroke:#64748b;stroke-width:.7px}.engineeringSectionProfile .sectionOpen{fill:none;stroke:#64748b;stroke-width:2px;stroke-linejoin:miter;stroke-linecap:square}.engineeringSectionProfile text{fill:#111827;stroke:none;text-anchor:middle;font-size:8px;font-weight:900}.engineeringSectionProfile .sectionSpec{fill:#64748b;font-size:6.5px;font-weight:800}.engineeringMemberSchedule .scheduleHeading{fill:#111827;text-anchor:middle;letter-spacing:.08em;font-size:8px;font-weight:950}.engineeringViewNote text{fill:#334155;letter-spacing:.06em;font-size:10px;font-weight:900}.engineeringTitleBlock{background:#fff;border:1px solid #94a3b8;grid-template-columns:1.4fr 1.3fr repeat(4,minmax(0,1fr));min-width:860px;margin-top:8px;display:grid}.engineeringTitleBlock div{border-right:1px solid #cbd5e1;min-width:0;padding:9px 10px}.engineeringTitleBlock div:last-child{border-right:0}.engineeringTitleBlock span,.engineeringTitleBlock strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.engineeringTitleBlock span{color:#64748b;letter-spacing:.08em;text-transform:uppercase;font-size:8px;font-weight:950}.engineeringTitleBlock strong{color:#0f172a;margin-top:3px;font-size:11px}.engineeringNotes{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.engineeringNotes div{background:#f8fafc;border-radius:14px;padding:12px;box-shadow:inset 0 0 0 1px #dbe4ec}.engineeringNotes strong,.engineeringNotes span{display:block}.engineeringNotes strong{color:var(--navy);font-size:11px}.engineeringNotes span{color:var(--muted);margin-top:4px;font-size:10px;font-weight:750;line-height:1.4}.reportEngineeringCapture{z-index:-1;visibility:hidden;pointer-events:none;width:1200px;position:fixed;top:0;left:-20000px}.reportEngineeringCapture .engineeringWorkspace{width:1200px;min-height:0}.shareDialogBackdrop{z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172a9e;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.shareDialog{background:#fff;border-radius:24px;width:min(560px,100%);padding:26px;position:relative;box-shadow:0 30px 90px #0f172a52}.shareDialogClose{width:36px;height:36px;color:var(--navy);cursor:pointer;background:#edf3f7;border:0;border-radius:999px;place-items:center;display:grid;position:absolute;top:14px;right:14px}.shareDialogIcon{color:#b45309;background:#fef3c7;border-radius:16px;place-items:center;width:48px;height:48px;margin-bottom:14px;display:grid}.shareDialog h2{color:var(--navy);margin:4px 0 5px;font:950 24px Space Grotesk,sans-serif}.shareDialog>p{color:var(--muted);margin:0 0 18px;font-size:12px;font-weight:750}.shareLinkField{background:#f3f6f8;border-radius:15px;grid-template-columns:1fr auto;gap:8px;padding:7px;display:grid;box-shadow:inset 0 0 0 1px #d7e1ea}.shareLinkField input{color:#334155;background:0 0;border:0;min-width:0;font-size:12px}.shareLinkField button{background:var(--navy);color:#fff;cursor:pointer;border:0;border-radius:11px;justify-content:center;align-items:center;gap:6px;min-width:94px;font-weight:950;display:inline-flex}.shareDialogActions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.shareDialogActions a,.shareDialogActions button{min-height:43px;color:var(--navy);cursor:pointer;background:#fff;border:1px solid #d7e1ea;border-radius:12px;justify-content:center;align-items:center;gap:7px;padding:9px 11px;font-size:11px;font-weight:950;text-decoration:none;display:inline-flex}.shareDialogActions a:first-child{color:#166534;background:#f0fdf4;border-color:#86efac}.locationPickerBackdrop{z-index:1100;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#0f172ab8;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.locationPickerDialog{width:min(880px,100%);max-height:calc(100vh - 36px);color:var(--ink);background:#fff;border-radius:26px;padding:24px;position:relative;overflow-y:auto;box-shadow:0 34px 100px #0f172a6b}.locationPickerClose{z-index:3;width:38px;height:38px;color:var(--navy);cursor:pointer;background:#edf3f7;border:0;border-radius:999px;place-items:center;display:grid;position:absolute;top:15px;right:15px}.locationPickerHeading{align-items:center;gap:13px;padding-right:46px;display:flex}.locationPickerIcon{color:#b45309;background:#fef3c7;border-radius:16px;flex:none;place-items:center;width:48px;height:48px;display:grid}.locationPickerHeading h2{color:var(--navy);margin:2px 0 0;font:950 24px Space Grotesk,sans-serif}.locationPickerDialog>p{color:var(--muted);margin:10px 0 14px;font-size:13px;font-weight:700;line-height:1.5}.locationPickerMap{background:#e5e7eb;border:1px solid #cbd8e3;border-radius:19px;width:100%;height:min(50vh,470px);min-height:330px;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffffb8}.locationPickerSelection{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;display:grid}.locationPickerSelection span{color:#334155;background:#f8fafc;border:1px solid #d7e1ea;border-radius:13px;justify-content:space-between;gap:12px;padding:11px 13px;font-size:13px;font-weight:850;display:flex}.locationPickerSelection strong{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.locationPickerDialog .locationPickerStatus{color:#2e7d5b;margin:8px 2px 0;font-size:11px}.locationPickerActions{grid-template-columns:1fr 1fr 1fr;gap:9px;margin-top:13px;display:grid}.locationPickerActions button,.locationPickerActions a{min-height:44px;color:var(--navy);text-align:center;cursor:pointer;background:#fff;border:1px solid #d7e1ea;border-radius:13px;justify-content:center;align-items:center;gap:7px;padding:10px 12px;font-size:11px;font-weight:950;text-decoration:none;display:inline-flex}.locationPickerActions .locationCurrentButton{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.locationPickerActions .locationApplyButton{color:#fff;background:var(--navy);border-color:var(--navy)}.drawingPanel{grid-template-rows:1fr;min-height:calc(100vh - 28px);margin-top:0;display:grid}.mainCanvasSwitch{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-bottom:8px;display:flex}.mainCanvasSwitch .viewTabs{margin-right:auto;overflow-x:auto}.reportExportButton{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0f766e,#0b5f58);border:0;border-radius:999px;align-items:center;gap:7px;padding:10px 15px;font-size:13px;font-weight:950;display:inline-flex;box-shadow:0 12px 26px #0f766e38}.reportExportButton:hover{background:linear-gradient(135deg,#11877e,#0f6c64)}.reportShareButton{color:#115e59;cursor:pointer;background:#ecfdf5;border:1px solid #99f6e4;border-radius:999px;align-items:center;gap:7px;padding:10px 14px;font-size:13px;font-weight:950;display:inline-flex;box-shadow:0 10px 22px #0f766e1f}.reportShareButton:hover{background:#d1fae5}.reportShareButton:disabled{cursor:wait;opacity:.68}.clientShareButton{color:#111827;cursor:pointer;background:#f59e0b;border:0;border-radius:999px;align-items:center;gap:7px;padding:10px 14px;font-size:13px;font-weight:950;display:inline-flex;box-shadow:0 12px 26px #f59e0b3d,inset 0 0 0 1px #92400e33}.clientShareButton:hover{background:#f7ad22}.clientPublishButton{color:#fff;cursor:pointer;background:#102033;border:0;border-radius:999px;align-items:center;gap:7px;padding:10px 14px;font-size:13px;font-weight:950;display:inline-flex;box-shadow:0 12px 26px #0f172a2e}.clientPublishButton:hover{background:#18304a}.userManagementButton{color:#102033;cursor:pointer;background:#fff;border:1px solid #cbd8e3;border-radius:999px;align-items:center;gap:7px;padding:9px 14px;font-size:13px;font-weight:950;display:inline-flex;box-shadow:0 9px 22px #2f40521a}.userManagementButton:hover{background:#fff8e6;border-color:#f59e0b}.accountMenu{z-index:80;position:relative}.accountMenuTrigger{color:#102033;cursor:pointer;background:#fff;border:1px solid #cbd8e3;border-radius:999px;align-items:center;gap:9px;min-height:42px;padding:5px 10px 5px 6px;display:inline-flex;box-shadow:0 9px 22px #2f40521a}.accountAvatar{color:#102033;background:#fbbf24;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-size:11px;font-weight:950;display:grid}.accountAvatar.large{width:42px;height:42px;font-size:13px}.accountIdentity{text-align:left;max-width:150px;line-height:1.1;display:grid}.accountIdentity strong,.accountMenuSummary strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.accountIdentity small,.accountMenuSummary small{text-overflow:ellipsis;white-space:nowrap;color:#748397;font-size:10px;overflow:hidden}.accountMenuPopover{background:#fff;border:1px solid #d8e1e9;border-radius:17px;width:292px;padding:9px;position:absolute;top:calc(100% + 9px);right:0;box-shadow:0 22px 55px #0f203333}.accountMenuSummary{border-bottom:1px solid #e5ebf0;align-items:center;gap:11px;min-width:0;padding:8px 8px 12px;display:flex}.accountMenuSummary>div{min-width:0;display:grid}.accountMenuPopover>a{color:#102033;border-radius:11px;align-items:center;gap:11px;margin-top:5px;padding:10px;text-decoration:none;display:flex}.accountMenuPopover>a:hover{background:#f3f6f8}.accountMenuPopover>a>span{display:grid}.accountMenuPopover>a strong{font-size:12px}.accountMenuPopover>a small{color:#748397;font-size:10px}.accountMenuPopover .logoutMenuItem{color:#9f1239}.mainCanvasSwitch strong{letter-spacing:-.02em;margin-top:2px;font:800 18px Space Grotesk,sans-serif;display:block}.canvasShortcut{color:var(--muted);margin-top:3px;font-size:11px;font-weight:750;display:block}.modelControls{justify-content:space-between;align-items:center;gap:14px;padding:10px 14px 0;display:flex}.modelCanvasControls{z-index:6;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:auto;background:#ffffff9e;border-radius:24px;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:8px;display:flex;position:absolute;top:22px;left:230px;right:28px;box-shadow:0 16px 42px #0f172a1f,inset 0 0 0 1px #e2e8f0c7}.visibilityControls{background:#0d1b2a14;border-radius:999px;align-items:center;gap:8px;padding:5px;display:flex}.visibilityControls span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;padding:0 5px 0 8px;font-size:13px;font-weight:900}.toggleButton{color:var(--ink);cursor:pointer;background:#fff;border:0;border-radius:999px;padding:8px 13px;font-size:13px;font-weight:800;box-shadow:inset 0 0 0 1px #d8e3ec}.toggleButton.active{color:#111827;background:#f59e0b;box-shadow:inset 0 0 0 1px #d97706}.toggleButton.structureOnly{color:#fff;box-shadow:none;background:#102033}.toggleButton.irradianceStudioToggle.active{color:#fff;background:#166534;box-shadow:inset 0 0 0 1px #14532d}.mapControls{background:#0d1b2a14;border-radius:999px;align-items:center;gap:5px;padding:5px;display:flex}.mapControls button{min-width:34px;height:34px;color:var(--ink);cursor:pointer;background:#fff;border:0;border-radius:999px;font-weight:900;box-shadow:inset 0 0 0 1px #d8e3ec}.mapControls button.active{color:#fff;box-shadow:none;background:#102033}.modelCanvas{padding:10px 14px 14px;position:relative}.sunClockOverlay{z-index:4;pointer-events:none;color:#fff;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(135deg,#0f172ae0,#1e293bad);border-radius:18px;gap:2px;min-width:178px;padding:13px 16px 14px;display:grid;position:absolute;top:28px;left:34px;box-shadow:0 18px 38px #0f172a47,inset 0 0 0 1px #ffffff2e}.sunClockOverlay span{color:#ffffffad;letter-spacing:.16em;text-transform:uppercase;font-size:10px;font-weight:900}.sunClockOverlay strong{letter-spacing:-.04em;font-variant-numeric:tabular-nums;text-shadow:0 2px 12px #0000003d;font:900 34px/1 Space Grotesk,sans-serif}.memberEditPanel{z-index:6;width:min(360px,100% - 68px);color:var(--ink);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffe6;border-radius:18px;gap:10px;padding:14px;display:grid;position:absolute;top:98px;right:34px;box-shadow:0 22px 54px #0f172a2e,inset 0 0 0 1px #d7e1eaeb}.memberEditPanel>div:first-child{gap:2px;display:grid}.memberEditPanel span,.memberEditPanel small{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:900}.memberEditPanel strong{font:900 18px Space Grotesk,sans-serif}.memberEditPanel .field span{letter-spacing:0;text-transform:none}.memberEditPanel button{color:#fff;cursor:pointer;background:#102033;border:0;border-radius:12px;padding:10px 12px;font-weight:900}.memberEditPanel button:disabled{opacity:.35;cursor:not-allowed}.memberQuickEdit{background:#edf3f7d1;border-radius:14px;gap:9px;padding:10px;display:grid;box-shadow:inset 0 0 0 1px #cbd5e1b8}.nudgeGrid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.nudgeGrid button:first-child{grid-column:2}.nudgeGrid button:nth-child(2){grid-column:1}.nudgeGrid button:nth-child(3){grid-column:3}.nudgeGrid button:nth-child(4){grid-column:2}.resizeButtons{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.resizeButtons button,.nudgeGrid button{background:#18304a;border-radius:10px;padding:8px 9px;font-size:12px}.canvasPlayback{z-index:5;color:#ffffffeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;opacity:0;pointer-events:none;background:#0f172a57;border:0;border-radius:999px;align-content:center;place-items:center;gap:2px;width:138px;height:138px;transition:opacity .18s,transform .18s,background .14s;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 22px 70px #0f172a47,inset 0 0 0 1px #ffffff38}.canvasPlayback span{letter-spacing:.08em;text-transform:uppercase;font-size:13px;font-weight:950}.canvasPlayback:hover{opacity:.9;background:#0f172a85;transform:translate(-50%,-50%)scale(1.04)}.canvasPlayback.visible{opacity:.5;pointer-events:auto}.webglCanvas{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;overscroll-behavior:contain;contain:layout paint style;will-change:contents;outline:none;min-height:calc(100vh - 224px)}.webglCanvas:focus-visible{border-radius:24px;box-shadow:0 0 0 3px #f59e0b47}.webglCanvas.panMode{cursor:grab}.webglCanvas.selectableHover{cursor:pointer}.webglCanvas.panMode.selectableHover{cursor:grab}.webglCanvas canvas{image-rendering:auto;backface-visibility:hidden;border-radius:24px;min-height:560px;display:block;transform:translateZ(0);box-shadow:inset 0 0 0 1px #d8e3ec;width:100%!important;height:calc(100vh - 238px)!important}.webglCanvas:active{cursor:grabbing}.roofTool{overflow:hidden}.roofToolLarge{grid-template-rows:auto auto minmax(520px,1fr) auto auto;min-height:calc(100vh - 104px);padding:16px;display:grid}.toolStrip{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;margin-bottom:10px;display:flex}.toolStripMain,.toolStripActions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.toolStripActions{justify-content:flex-end;margin-left:auto}.toolStrip button{color:var(--ink);text-transform:capitalize;cursor:pointer;background:#ffffffeb;border:0;border-radius:999px;padding:7px 10px;font-size:13px;font-weight:850;box-shadow:inset 0 0 0 1px #d7e1eaeb}.toolStrip button:disabled{opacity:.38;cursor:not-allowed}.toolStrip .iconTool{border-radius:14px;place-items:center;width:44px;height:44px;padding:0;font-size:18px;line-height:1;display:inline-grid}.toolStrip button.active{background:var(--amber);color:#111827;box-shadow:inset 0 0 0 1px #d97706}.toolStripActions button{text-transform:none;background:#edf3f7f0;padding:9px 13px}.toolDivider{background:#94a3b873;width:1px;min-height:30px;margin:0 4px}.toolStrip button.subtleActive{color:#102033;background:#dbeafe;box-shadow:inset 0 0 0 1px #93c5fd}.toolStrip .miniTool{text-transform:none;border-radius:13px;min-height:38px;padding:8px 12px;font-size:12px}.toolStrip .mapToggleTool{align-items:center;gap:6px;display:inline-flex}.roofCanvasArea{flex-direction:column;gap:8px;min-height:0;display:flex}.roofCanvasFrame{background:#f8fbfd;border-radius:18px;height:255px;min-height:0;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #c7d5e2e6,0 14px 38px #0f172a0f}.roofContextMenu{z-index:18;background:#fffffffa;border:1px solid #94a3b87a;border-radius:12px;gap:3px;min-width:205px;padding:6px;display:grid;position:absolute;box-shadow:0 18px 44px #0f172a38}.roofContextMenu button{text-align:left;color:#0f2033;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:9px 11px;font-weight:800}.roofContextMenu button:first-child:hover{background:#fff4cc}.roofContextMenu button:last-child{color:#64748b}.roofSatelliteMap{z-index:0;pointer-events:none;background:#d8dde0;position:absolute;inset:0}.roofSatelliteMap.livePicker{z-index:4;pointer-events:auto}.mapCropPicker{z-index:5;border-radius:20px;position:absolute;inset:0;overflow:hidden}.mapCropOverlay{z-index:6;pointer-events:none;background:linear-gradient(#0f172a29,#0f172a29);position:absolute;inset:0}.mapCropBox{aspect-ratio:1;border:4px solid #fffffff5;border-radius:10px;width:min(62%,640px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 9999px #0f172a38,0 12px 34px #0f172a52,inset 0 0 0 1px #0f172a4d}.mapCropPin{color:#ef4444;filter:drop-shadow(0 6px 9px #0f172a73);position:absolute;top:50%;left:50%;transform:translate(-50%,calc(-50% - 20px))}.mapCropPin svg{fill:#ef4444;stroke:#fff;stroke-width:2.8px;width:42px;height:42px}.mapCropHint{z-index:7;color:#fff;text-align:center;background:#0f2033db;border-radius:999px;max-width:min(720px,100% - 32px);padding:10px 15px;font-size:12px;font-weight:850;position:absolute;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 14px 34px #0f172a38}.roofCanvasFrame.mapPicking .roofCanvas{pointer-events:none}.roofMapToolbar{color:var(--ink);background:#f8fafcf0;border:1px solid #cbd8e3;border-radius:15px;flex-wrap:wrap;align-items:center;gap:9px;padding:9px 11px;display:flex}.roofMapToolbar>div{align-items:center;gap:8px;margin-right:auto;display:flex}.roofMapToolbar>div>span{gap:1px;display:grid}.roofMapToolbar strong{font-size:11px}.roofMapToolbar small{color:var(--muted);font-size:9px;font-weight:750}.roofMapToolbar label{color:var(--muted);align-items:center;gap:7px;font-size:10px;font-weight:850;display:flex}.roofMapToolbar input[type=range]{width:110px;accent-color:var(--amber)}.mapSearchForm{flex:330px;align-items:center;gap:6px;min-width:min(430px,100%);display:flex}.mapSearchBox{flex:260px;min-width:210px;position:relative}.mapSearchForm input{width:100%;min-width:190px;height:34px;color:var(--ink);background:#fffffff5;border:1px solid #cbd8e3;border-radius:10px;outline:none;padding:0 11px;font-size:11px;font-weight:800}.mapSearchForm input:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b29}.mapSuggestions{z-index:12;background:#fffffffa;border:1px solid #cbd8e3;border-radius:13px;gap:4px;padding:7px;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0;box-shadow:0 16px 36px #0f20332e}.mapSuggestions button{text-align:left;background:0 0;border:0;justify-content:flex-start;width:100%;min-height:34px;font-size:10px;line-height:1.25}.mapSuggestions button:hover{background:#fff7ed}.roofMapToolbar button,.roofMapToolbar a{min-height:34px;color:var(--navy);cursor:pointer;background:#fff;border:1px solid #d7e1ea;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:7px 10px;font-size:10px;font-weight:900;text-decoration:none;display:inline-flex}.roofMapToolbar .selectAreaButton{color:#fff;background:#047857;border-color:#047857;box-shadow:0 8px 18px #04785738}.roofCanvas{z-index:1;touch-action:none;-webkit-user-select:none;user-select:none;cursor:default;overscroll-behavior:contain;contain:layout paint style;backface-visibility:hidden;background:radial-gradient(circle at 18% 12%,#fffffff2,#f8fbfdb8 42%,#f1f6fad1),#f8fbfd;border-radius:18px;width:100%;height:100%;display:block;position:relative;transform:translateZ(0);box-shadow:inset 0 0 0 1px #c7d5e2e6}.toolGlyph{place-items:center;min-width:18px;font-size:18px;font-weight:950;line-height:1;display:inline-grid}.roofCanvas .tankPlanDetail{pointer-events:none}.roofCanvas .tankPlanDetail circle{fill:none;stroke:#47556994;stroke-width:24px}.roofCanvas .treePlanDetail,.roofCanvas .towerPlanDetail{pointer-events:none}.roofCanvas .treePlanDetail circle{fill:#15803d2e;stroke:#14532db3;stroke-width:22px}.roofCanvas .treePlanDetail .treeTrunkPlan{fill:#784924d1;stroke:#5f3a1b;stroke-width:12px}.roofCanvas .towerPlanDetail path,.roofCanvas .towerPlanDetail rect{fill:none;stroke:#0f172ab8;stroke-width:26px;stroke-linecap:round;stroke-linejoin:round}.roofCanvas .rampPlanArrow{fill:none;stroke:#334155;stroke-width:36px;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.roofCanvas .object-metroSheet>rect{stroke:#47697d}.roofCanvas .object-waterTank>circle{stroke:#657681}.roofCanvas .object-ramp>rect{stroke:#5f6971}.roofCanvas .object-tree>circle{stroke:#14532d}.roofCanvas .object-tower>rect{stroke:#334155}.roofCanvas .alignmentGuides{pointer-events:none}.roofCanvas .alignmentGuides line{stroke:#e11d48;stroke-width:18px;stroke-dasharray:70 42;opacity:.9}.roofCanvas .alignmentGuides circle{fill:#fff;fill-opacity:1;stroke:#e11d48;stroke-width:18px}.roofCanvas.panMode{cursor:grab}.roofCanvas.panMode:active{cursor:grabbing}.roofToolLarge .roofCanvasArea{height:calc(100vh - 340px);min-height:560px}.roofToolLarge .roofCanvasFrame{flex:auto;height:auto;min-height:0}.roofCanvasFrame.mapActive .roofCanvas{background:0 0}.roofCanvasFrame.mapActive .roofCanvas .drawnShape>g>rect,.roofCanvasFrame.mapActive .roofCanvas .drawnShape>g>circle,.roofCanvasFrame.mapActive .roofCanvas .drawnShape>g>polygon{fill-opacity:.1;stroke:#071526;stroke-width:54px}.roofCanvasFrame.mapActive .roofCanvas .drawnShape.selectedShape>g>rect,.roofCanvasFrame.mapActive .roofCanvas .drawnShape.selectedShape>g>circle,.roofCanvasFrame.mapActive .roofCanvas .drawnShape.selectedShape>g>polygon{fill-opacity:.16;stroke:#b45309;stroke-width:68px}.roofCanvasFrame.mapActive .roofCanvas .draftShape{fill:#ffd60a1f;stroke:#ff8a00;stroke-width:120px;stroke-dasharray:100 52}.roofCanvasFrame.mapActive .roofCanvas .shapeHandles circle,.roofCanvasFrame.mapActive .roofCanvas .draftHandles circle{fill:#fff;fill-opacity:1;stroke:#020617;stroke-width:38px;filter:drop-shadow(0 0 9px #fff)}.roofCanvasFrame.mapActive .roofCanvas .moduleFootprint .modulePanel{fill-opacity:.78}.roofCanvas rect,.roofCanvas circle,.roofCanvas polygon{stroke:#38536a;stroke-width:24px;fill-opacity:1;cursor:pointer}.roofCanvas .gridLayer{stroke:none;fill-opacity:1;cursor:crosshair}.roofCanvas .gridLayer path{stroke:#cbd5e1b8;stroke-width:9px}.roofCanvas text{fill:#102033;pointer-events:none;font:750 210px Manrope,sans-serif}.roofCanvas .selectedShape>g>rect,.roofCanvas .selectedShape>g>circle,.roofCanvas .selectedShape>g>polygon{stroke:#f59e0b;stroke-width:38px;filter:drop-shadow(0 0 5px #f59e0b57)}.roofCanvas .ignoredShape>g>rect,.roofCanvas .ignoredShape>g>circle,.roofCanvas .ignoredShape>g>polygon{stroke-dasharray:90 70;opacity:.62}.roofCanvas .parapetPlan{fill:#b4530929;fill-opacity:1;stroke:#b45309;stroke-width:22px;stroke-dasharray:80 60;pointer-events:none}.roofCanvas .draftShape{fill:#ffd60a29;stroke:#ff8a00;stroke-width:120px;stroke-dasharray:80 60;pointer-events:none}.roofCanvas .selectionMarquee{fill:#2563eb1f;fill-opacity:1;stroke:#2563eb;stroke-width:22px;stroke-dasharray:82 48;pointer-events:none}.roofCanvas polyline.draftShape{fill:none}.roofCanvas .moduleFootprint>rect,.roofCanvas .moduleFootprint>polygon{fill:#14b8a61a;stroke:#0f766e;stroke-width:42px;stroke-dasharray:90 64;cursor:move}.roofCanvas .moduleFootprint .modulePanel{fill:#0ea5e93d;stroke:#0369a1;stroke-width:22px;cursor:move}.roofCanvas .moduleFootprint .modulePanel.selectedPanel{fill:#f59e0b42;stroke:#f59e0b;stroke-width:48px;filter:drop-shadow(0 0 8px #f59e0b5c)}.roofCanvas .tablePreviewGhost{pointer-events:none;opacity:.72;filter:drop-shadow(0 18px 18px #0f172a29)}.roofCanvas .tablePreviewGhost>rect{fill:#f59e0b1f;stroke:#f59e0b;stroke-width:54px;stroke-dasharray:120 70}.roofCanvas .tablePreviewGhost .tablePreviewPanel{fill:#0ea5e933;stroke:#0284c7;stroke-width:22px}.roofCanvas .panelMoveGhost{pointer-events:none;opacity:.62}.roofCanvas .panelMoveGhost rect{fill:#f59e0b47;stroke:#f59e0b;stroke-width:52px;stroke-dasharray:95 55;filter:drop-shadow(0 12px 14px #f59e0b3d)}.roofCanvas .moduleFootprint.selectedModule>rect,.roofCanvas .moduleFootprint.selectedModule>polygon{stroke:#f59e0b;stroke-width:58px}.roofCanvas .tableGridControls{cursor:default}.roofCanvas .tableGridControls>g>rect{fill:#0f2033f0;stroke:#ffffffeb;stroke-width:18px;filter:drop-shadow(0 18px 24px #0f172a3d)}.roofCanvas .tableGridControls .tableGridSide{fill:#102033;stroke:#fffffff2;stroke-width:22px;paint-order:stroke;text-anchor:middle;font:950 150px Manrope,sans-serif}.roofCanvas .tableGridControls .tableGridAction{cursor:pointer}.roofCanvas .tableGridControls .tableGridAction circle{fill:#f59e0b;stroke:#fff;stroke-width:14px}.roofCanvas .tableGridControls .tableGridAction text{fill:#102033;stroke:none;text-anchor:middle;pointer-events:none;font:950 185px Manrope,sans-serif}.azimuthQuickControls{grid-template-columns:auto auto minmax(0,1fr) auto auto;align-items:center;gap:6px;margin-top:10px;display:grid}.azimuthQuickControls span{color:#64748b;text-align:center;font-size:10px;font-weight:750}.azimuthQuickControls button,.drawingAzimuthControls button,.alignTableButton{color:#0f172a;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:9px;min-height:34px;font-weight:800}.drawingAzimuthControls{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;display:grid}.alignTableButton{color:#9a3412;background:#fff7ed;border-color:#f59e0b;justify-content:center;align-items:center;gap:7px;display:inline-flex}.roofCanvas .moduleFootprint .moduleLabel{fill:#0f172a;pointer-events:none;font:850 310px Manrope,sans-serif}.roofCanvas .structurePlanLayer{pointer-events:auto}.roofCanvas .structurePlanHitLayer line{fill:none;stroke:#0000;stroke-width:240px;stroke-linecap:round;pointer-events:stroke;cursor:move}.roofCanvas .structurePlanHitLayer circle{fill:#0000;pointer-events:all;cursor:move}.roofCanvas .planMember line{fill:none;stroke-linecap:round;cursor:move;pointer-events:stroke}.roofCanvas .planMember text{fill:#102033;stroke:#ffffffe0;stroke-width:18px;paint-order:stroke;font:950 145px Manrope,sans-serif}.roofCanvas .planRafter line{stroke:#7058c3e6;stroke-width:72px}.roofCanvas .planPurlin line{stroke:#228b50db;stroke-width:54px}.roofCanvas .planLeg circle{fill:#ef4444;fill-opacity:1;stroke:#fff;stroke-width:28px;cursor:move;pointer-events:auto}.roofCanvas .planMember:hover line,.roofCanvas .planMember:hover circle{filter:drop-shadow(0 0 10px #f59e0b73)}.roofCanvas .selectedPlanMember line{stroke:#f59e0b;stroke-width:92px}.roofCanvas .selectedPlanMember.planPurlin line{stroke-width:76px}.roofCanvas .selectedPlanMember.planLeg circle{fill:#f59e0b;stroke:#0f172a;stroke-width:34px}.roofCanvas .groupSelectedPlanMember line{stroke-dasharray:160 85}.roofCanvas .humanMarker{cursor:move}.roofCanvas .humanMarker circle{fill:#fef3c7;fill-opacity:.95;stroke:#111827;stroke-width:24px}.roofCanvas .humanMarker path{fill:#f59e0b;stroke:#111827;stroke-width:20px}.roofCanvas .humanMarker text{fill:#111827;stroke:#ffffffdb;stroke-width:18px;paint-order:stroke;pointer-events:none;font:900 230px Manrope,sans-serif}.roofCanvas .humanMarker.selectedHuman circle{stroke:#f59e0b;stroke-width:40px}.roofCanvas .shapeDimensions .dimensionText{fill:#0f172a;stroke:#ffffffe6;stroke-width:18px;paint-order:stroke;dominant-baseline:central;text-anchor:middle;pointer-events:none;font:900 260px Manrope,sans-serif}.roofCanvas .shapeDimensions .editableDimension{pointer-events:auto;cursor:text}.roofCanvas .shapeDimensions .editableDimension:hover{fill:#b45309}.roofCanvas .referenceDimension line{stroke:#0f766e;stroke-width:16px;stroke-dasharray:45 34;pointer-events:none}.roofCanvas .referenceDimension circle{fill:#ecfeff;fill-opacity:1;stroke:#0f766e;stroke-width:15px;pointer-events:none}.roofCanvas .referenceDimension text{fill:#064e3b;paint-order:stroke;stroke:#ecfdf5f5;stroke-width:26px;dominant-baseline:central;text-anchor:middle;cursor:text;pointer-events:auto;font:950 260px Manrope,sans-serif}.roofCanvas .referenceDimension text:hover{fill:#b45309}.roofCanvas .shapeHandles circle{fill:#fff7ed;fill-opacity:1;stroke:#f59e0b;stroke-width:22px;cursor:grab;pointer-events:auto}.ignoredToggle{color:var(--ink);cursor:pointer;background:#edf3f7;border:0;border-radius:13px;grid-column:1/-1;padding:11px 12px;font-weight:900;box-shadow:inset 0 0 0 1px #d7e1eaeb}.ignoredToggle.active{color:#92400e;background:#fef3c7;box-shadow:inset 0 0 0 2px #f59e0b}.ignoredToggle:disabled{opacity:.45;cursor:not-allowed}.roofCanvas .shapeHandles circle:hover{fill:#f59e0b}.roofCanvas .shapeHandles circle.selectedVertex{fill:#e11d48;stroke:#fff;stroke-width:38px;filter:drop-shadow(0 0 10px #e11d4899)}.roofCanvasFrame.mapActive .roofCanvas .shapeHandles circle.selectedVertex{fill:#e11d48;stroke:#fff;stroke-width:31px}.staticMapPlate,.staticMapPlate image{pointer-events:none}.mapPin path{fill:#ef4444;stroke:#fff;stroke-width:52px;filter:drop-shadow(0 18px 20px #0f172a59)}.mapPin circle{fill:#fff;stroke:#991b1b;stroke-width:28px}.roofCanvasFrame.mapActive .roofCanvas .roofShape,.roofCanvasFrame.mapActive .roofCanvas .draftShape,.roofCanvasFrame.mapActive .roofCanvas .moduleFootprint,.roofCanvasFrame.mapActive .roofCanvas .planStructureLayer line{stroke-width:120px}.roofCanvas .draftHandles circle{fill:#fff;stroke:#2563eb}.roofCanvas .draftHandles circle:hover{fill:#dbeafe}.roofCanvas .shapeHandles circle:active{cursor:grabbing}.roofCanvas .shapeRotationControl line{stroke:#f59e0b;stroke-width:34px;stroke-dasharray:100 55;pointer-events:none}.roofCanvas .shapeRotationControl circle{fill:#0f172a;stroke:#fbbf24;stroke-width:34px;cursor:crosshair;pointer-events:auto;filter:drop-shadow(0 0 12px #0f172a6b)}.roofCanvas .shapeRotationControl circle:hover{fill:#f59e0b}.roofCanvas .shapeRotationControl text{fill:#92400e;text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-width:24px;font-weight:950}.rotationHint{color:#64748b;grid-column:1/-1;font-weight:700}.roofCanvas .roofCompass{pointer-events:none}.compassFace{fill:#090d12;stroke:#ffffffeb;stroke-width:24px}.compassTick{stroke:#fff;stroke-width:18px;stroke-linecap:round}.compassTick.major{stroke-width:28px}.compassNorthNeedle{fill:#f43f5e}.compassCardinal{fill:#fff;text-anchor:middle;dominant-baseline:middle;font:900 190px Manrope,sans-serif}.compassCardinal.north{fill:#ff304f}.compassCross{stroke:#ffffff80;stroke-width:18px;stroke-linecap:round}.compassHub{fill:#f8fafc}.roofCanvas .roofCompass text{text-anchor:middle;pointer-events:none}.roofCanvas .planPedestal{fill:#b4803e47;stroke:#7c4a17;stroke-width:28px}.modelCompass{z-index:7;filter:drop-shadow(0 10px 18px #0f172a47);pointer-events:none;border-radius:50%;width:92px;height:92px;position:absolute;top:160px;right:34px}.modelCompass svg{width:100%;height:100%;display:block;overflow:visible}.studioIrradianceLegend{z-index:7;color:#334155;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:none;background:#ffffffe6;border-radius:14px;gap:7px;width:190px;padding:11px 12px;display:grid;position:absolute;top:265px;right:28px;box-shadow:0 12px 28px #0f172a29}.studioIrradianceLegend strong{text-transform:uppercase;letter-spacing:.05em;font-size:11px}.studioIrradianceLegend i{background:linear-gradient(90deg,#dc2626,#facc15 72%,#16a34a);border-radius:999px;height:9px}.studioIrradianceLegend span{color:#64748b;justify-content:space-between;font-size:9px;display:flex}.roofHints{color:#b4c3d2;margin:7px 0 10px;font-size:11px;line-height:1.35}.selectedPlanEditor{background:#ffffffe0;border-radius:16px;gap:10px;margin:8px 0 12px;padding:12px;display:grid;box-shadow:inset 0 0 0 1px #d7e1eaeb}.selectedPlanEditor>div:first-child{gap:2px;display:grid}.selectedPlanEditor span{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:900}.selectedPlanEditor strong{font:900 16px Space Grotesk,sans-serif}.selectedPlanEditor button{color:#fff;cursor:pointer;background:#102033;border:0;border-radius:12px;padding:10px 12px;font-weight:900}.memberQuickActions{flex-wrap:wrap;gap:7px!important;display:flex!important}.memberQuickActions button{justify-content:center;align-items:center;gap:6px;display:inline-flex}.metroSheetEditor{background:linear-gradient(145deg,#eff6fff5,#ffffffeb);border:1px solid #2563eb2e}.treeEditor{background:linear-gradient(145deg,#f0fdf4f5,#ffffffeb);border:1px solid #15803d33}.towerEditor{background:linear-gradient(145deg,#f8fafcfa,#ffffffeb);border:1px solid #64748b3d}.metroSheetEditor>small{color:#64748b;font-size:10px;font-weight:700}.colorInputWrap{grid-template-columns:46px minmax(0,1fr);align-items:center;gap:6px;display:grid}.colorInputWrap input[type=color]{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:9px;width:46px;height:38px;padding:3px}.colorInputWrap input[type=text]{min-width:0}.sheetColourPresets{margin-top:5px;gap:5px!important;display:flex!important}.sheetColourPresets button{color:#334155;background:#fff;border:1px solid #cbd5e1;border-radius:8px;flex:1 1 0;min-height:30px;padding:5px 7px;font-size:10px}.sheetColourPresets button.active{border-color:#2563eb;box-shadow:inset 0 0 0 1px #2563eb}.sheetColourPresets i{border:1px solid #94a3b8;border-radius:50%;width:13px;height:13px}.sunReadout{color:#92400e;background:#fff7edf2;border-radius:13px;grid-column:1/-1;padding:9px 11px;font-size:12px;font-weight:850;box-shadow:inset 0 0 0 1px #fbbf2459}.shadowPanel{background:#ffffffe6;border-radius:18px;grid-column:1/-1;gap:12px;padding:14px;display:grid;box-shadow:inset 0 0 0 1px #d7e1eaeb}.modelSunPanel{z-index:7;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffe0;gap:10px;width:auto;margin:0;padding:12px 14px;position:absolute;bottom:30px;left:30px;right:30px;box-shadow:0 20px 50px #0f172a2e,inset 0 0 0 1px #d7e1eaeb}.shadowHeader{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.shadowHeader div{gap:2px;display:grid}.shadowHeader strong{font:900 15px Space Grotesk,sans-serif}.shadowHeader small{color:var(--muted);font-size:11px;font-weight:800}.shadowHeader span{color:var(--muted);font-size:12px;font-weight:800}.sunControlGrid{grid-template-columns:minmax(180px,1fr) minmax(180px,1fr);align-items:end;gap:12px;display:grid}.sunLocationGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.sunLocationGrid .field{margin:0}.sunLocationGrid .field label{font-size:10px}.sunLocationGrid .inputWrap input{min-height:34px;padding:7px 9px}.shadowRange{gap:5px;display:grid}.shadowRangeTop{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;justify-content:space-between;font-size:11px;font-weight:900;display:flex}.shadowRange input[type=range]{accent-color:#2f80ed;padding:0}.rangeLabels{color:#8a97a5;justify-content:space-between;font-size:11px;font-weight:850;display:flex}.quickSun{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.quickSun button{color:var(--ink);cursor:pointer;background:#f8fafc;border:0;border-radius:12px;padding:10px;font-size:12px;font-weight:900;box-shadow:0 8px 18px #2f405214,inset 0 0 0 1px #e2e8f0}.quickSun button.active{color:#fff;background:#102033;box-shadow:inset 0 0 0 1px #102033}@media (width<=1180px){.sunControlGrid{grid-template-columns:1fr}.quickSun{grid-template-columns:1fr 1fr}.modelSunPanel{width:auto;max-height:46%;bottom:16px;left:16px;right:16px;overflow-y:auto}.fileManagerWorkspace{min-height:720px;padding:18px}.engineeringWorkspace{min-height:720px;padding:16px}}@media (width<=720px){.accountIdentity{display:none}.accountMenuPopover{width:auto;position:fixed;top:72px;left:12px;right:12px}.fileManagerHeader,.fileManagerToolbar{flex-direction:column;align-items:stretch}.fileManagerNew,.fileManagerToolbar label,.fileManagerToolbar label:first-child,.fileManagerToolbar label:last-child{width:100%}.fileManagerWorkspace{padding:14px}.engineeringHeader{flex-direction:column;align-items:stretch}.engineeringViewTabs{overflow-x:auto}.engineeringViewTabs button{flex:1 0 auto}.engineeringNotes{grid-template-columns:1fr}.shareDialog{padding:22px 18px 18px}.shareDialogActions{grid-template-columns:1fr}.locationPickerBackdrop{padding:10px}.locationPickerDialog{border-radius:20px;max-height:calc(100vh - 20px);padding:18px 14px 14px}.locationPickerHeading h2{font-size:20px}.locationPickerMap{border-radius:15px;height:48vh;min-height:280px}.locationPickerSelection,.locationPickerActions{grid-template-columns:1fr}}
