@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}.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}.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}.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}.editableBomCell{cursor:text;min-width:74px}.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 #94a3b8;width:100%;min-width:860px;height:auto;display:block;box-shadow:0 16px 38px #0f172a1f}.engineeringGrid path{fill:none;stroke:#e8edf2;stroke-width:.8px}.engineeringRoof{fill:#f4f6f7;stroke:#475569;stroke-width:2.2px}.engineeringPanelPlan{fill:#0ea5e91a;stroke:#0284c7;stroke-width:2px;stroke-dasharray:8 5}.engineeringRafterPlan{stroke:#7c3aed;stroke-width:3px;stroke-dasharray:8 4}.engineeringPurlinPlan{stroke:#15803d;stroke-width:2.5px;stroke-dasharray:5 4}.engineeringLegPlan>rect,.engineeringLegPlan>circle:not(.legCore){fill:#f59e0b3d;stroke:#b45309;stroke-width:2px}.engineeringLegPlan .legCore{fill:#991b1b;stroke:#fff;stroke-width:1.5px}.engineeringLegPlan text{fill:#7f1d1d;paint-order:stroke;stroke:#fff;stroke-width:3px;font-size:9px;font-weight:900}.engineeringDimension line{fill:none;stroke:#334155;stroke-width:1.25px}.engineeringDimension text{fill:#0f172a;text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-width:3px;font-size:10px;font-weight:900}.engineeringDimension.gridDim line{stroke:#b45309;stroke-dasharray:4 3}.engineeringDimension.boundaryDim line{stroke:#0f766e;stroke-width:1.7px;stroke-dasharray:7 4}.engineeringDimension.boundaryDim text{fill:#0f766e;font-size:11px}.engineeringSheet marker path{fill:#334155}.northArrow path{fill:#0f172a}.northArrow text{fill:#0f172a;text-anchor:middle;font-size:18px;font-weight:950}.engineeringRoofElevation line{stroke:#64748b;stroke-width:4px}.engineeringLegElevation>line{stroke:#475569;stroke-width:8px;stroke-linecap:round}.engineeringLegElevation .pedestal{fill:#d6c2a1;stroke:#7c6342;stroke-width:2px}.engineeringLegElevation text{fill:#334155;paint-order:stroke;stroke:#fff;stroke-width:3px;font-size:9px;font-weight:900}.engineeringRafterElevation{stroke:#7c3aed;stroke-width:8px;stroke-linecap:round}.engineeringPurlinElevation{fill:#15803d;stroke:#15803d;stroke-width:6px;stroke-linecap:round}.engineeringPanelElevation{stroke:#0369a1;stroke-width:4px}.engineeringViewNote text{fill:#334155;letter-spacing:.05em;font-size:13px;font-weight:950}.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}.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}.drawingPanel{grid-template-rows:1fr;min-height:calc(100vh - 28px);margin-top:0;display:grid}.mainCanvasSwitch{justify-content:flex-end;align-items:center;gap:10px;margin-bottom:8px;display:flex}.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}.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}.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;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{border-radius:24px;min-height:560px;display:block;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}.roofCanvas{touch-action:none;-webkit-user-select:none;user-select:none;cursor:default;background:radial-gradient(circle at 18% 12%,#fffffff2,#f8fbfdb8 42%,#f1f6fad1),#f8fbfd;border-radius:18px;width:100%;height:255px;display:block;box-shadow:inset 0 0 0 1px #c7d5e2e6,0 14px 38px #0f172a0f}.roofCanvas.panMode{cursor:grab}.roofCanvas.panMode:active{cursor:grabbing}.roofToolLarge .roofCanvas{height:calc(100vh - 340px);min-height:560px}.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>rect,.roofCanvas .selectedShape>circle,.roofCanvas .selectedShape>polygon{stroke:#f59e0b;stroke-width:38px;filter:drop-shadow(0 0 5px #f59e0b57)}.roofCanvas .ignoredShape>rect,.roofCanvas .ignoredShape>circle,.roofCanvas .ignoredShape>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:#f59e0b38;stroke:#f59e0b;stroke-width:24px;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{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{stroke:#f59e0b;stroke-width:58px}.roofCanvas .moduleFootprint .moduleLabel{fill:#0f172a;pointer-events:none;font:850 310px Manrope,sans-serif}.roofCanvas .structurePlanLayer{pointer-events:auto}.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 210px 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 190px 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 .draftHandles circle{fill:#fff;stroke:#2563eb}.roofCanvas .draftHandles circle:hover{fill:#dbeafe}.roofCanvas .shapeHandles circle:active{cursor:grabbing}.roofCanvas .roofCompass{pointer-events:none}.roofCanvas .roofCompass circle{fill:#ffffffd1;fill-opacity:1;stroke:#0f172a;stroke-width:42px}.roofCanvas .roofCompass line{stroke:#334155;stroke-width:34px}.roofCanvas .roofCompass path{fill:#f59e0b;stroke:#0f172a;stroke-width:28px}.roofCanvas .roofCompass text{fill:#0f172a;text-anchor:middle;pointer-events:none;font:900 300px Manrope,sans-serif}.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}.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){.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}}
