:root{color:#16201c;background:#eef2f0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}.loginShell{display:grid;min-height:100vh;place-items:center;background:#edf2ef;padding:18px}.loginPanel{display:grid;gap:18px;width:min(420px,100%);border:1px solid #c7d2cd;border-radius:12px;background:#fff;box-shadow:0 24px 70px #13221b24;padding:24px}.loginBrand{display:flex;align-items:center;gap:12px}.loginBrand h1{margin:0;color:#16201c;font-size:26px;line-height:1}.loginBrand span,.loginNote{color:#61706a;font-size:13px}.loginForm{display:grid;gap:12px}.loginForm label{display:grid;gap:6px;color:#43534c;font-size:13px;font-weight:700}.loginForm input{min-height:40px;border:1px solid #cfdad5;border-radius:8px;background:#fff;color:#17231e;padding:0 11px}.loginForm button{min-height:40px;border:1px solid #174c3c;border-radius:8px;background:#174c3c;color:#fff;font-weight:800}.loginForm button:disabled{cursor:wait;opacity:.68}.loginError{margin:0;border:1px solid #e3b5b5;border-radius:8px;background:#fff4f4;color:#8b2424;font-size:13px;padding:9px 10px}.loginNote{margin:0}body.nodeDragActive{cursor:grabbing;-webkit-user-select:none;user-select:none}body.nodeDragActive *{-webkit-user-select:none!important;user-select:none!important}button,input,select,textarea{font:inherit}button{cursor:pointer}.shell{display:grid;grid-template-columns:270px minmax(0,1fr);min-height:100vh;background:#edf2ef}.dashboardShell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh;background:#edf2ef}.dashboardNav{display:flex;flex-direction:column;gap:14px;border-right:1px solid #cfd8d3;background:#f7f9f8;padding:16px}.dashboardBrand{margin-bottom:8px}.newFileButton,.dashboardHeaderActions button,.createCards button,.dashboardMenu button,.dashboardTabs button,.fileActionsCell>button,.fileMenu button,.modalActions button,.shareFooter button,.inviteRow button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:34px;border:1px solid #cfdad5;border-radius:8px;background:#fff;color:#1d2d26;padding:0 10px}.newFileButton,.dashboardHeaderActions button:last-child,.modalActions .primary{border-color:#174c3c;background:#174c3c;color:#fff;font-weight:700}.dashboardMenu{display:grid;gap:6px}.dashboardMenu button{justify-content:flex-start;border-color:transparent;background:transparent}.dashboardMenu button:hover,.dashboardMenu button.active{border-color:#c8d8d0;background:#e8f4ef;color:#12372c}.dashboardMain{display:grid;grid-template-rows:auto auto auto minmax(0,1fr);gap:14px;min-width:0;padding:18px}.dashboardHeader,.fileToolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.dashboardHeader h1{margin:0;color:#16201c;font-size:28px;line-height:1.1}.dashboardHeader p{margin:5px 0 0;color:#61706a}.dashboardHeaderActions,.dashboardTabs{display:flex;flex-wrap:wrap;gap:8px}.createCards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.createCards button{align-items:flex-start;justify-content:flex-start;min-height:112px;flex-direction:column;text-align:left;padding:14px}.createCards button:hover,.dashboardHeaderActions button:hover,.dashboardTabs button:hover,.fileActionsCell>button:hover{border-color:#2d6d5c;background:#e8f4ef}.createCards strong{color:#16201c}.createCards span{color:#61706a;font-size:13px;line-height:1.35}.dashboardSearch{display:flex;align-items:center;gap:8px;width:min(430px,100%);min-height:38px;border:1px solid #cfdad5;border-radius:8px;background:#fff;color:#61706a;padding:0 10px}.dashboardSearch input{width:100%;border:0;outline:0;color:#16201c}.dashboardTabs button.active{border-color:#174c3c;background:#174c3c;color:#fff}.fileTable{min-width:0;overflow:auto;border:1px solid #cfd8d3;border-radius:8px;background:#fff}.fileTableHeader,.fileRow{display:grid;grid-template-columns:minmax(240px,1.4fr) minmax(120px,.7fr) 110px 110px 80px 100px 46px;gap:10px;align-items:center;min-width:900px;padding:0 12px}.fileTableHeader{min-height:38px;border-bottom:1px solid #dfe6e3;color:#61706a;font-size:10px;font-weight:800;text-transform:uppercase}.fileRow{position:relative;min-height:48px;border-bottom:1px solid #edf2ef;color:#24352e}.fileRow:hover{background:#f5faf8}.fileNameCell{display:flex;align-items:center;gap:8px;min-width:0}.fileNameCell button{min-width:0;overflow:hidden;border:0;background:transparent;color:#17231e;font-weight:700;padding:0;text-align:left;text-overflow:ellipsis;white-space:nowrap}.fileNameCell input{width:100%;min-height:30px;border:1px solid #9db4aa;border-radius:7px;padding:0 8px}.fileActionsCell{position:relative}.fileActionsCell>button{width:34px;padding:0}.fileMenu{position:absolute;right:0;top:38px;z-index:30;display:grid;gap:4px;min-width:150px;border:1px solid #cfdad5;border-radius:10px;background:#fff;box-shadow:0 18px 38px #1e2d2629;padding:6px}.fileMenu button{justify-content:flex-start;border:0}.emptyFiles{display:grid;gap:4px;padding:40px;text-align:center}.emptyFiles span{color:#61706a}.shell.rightPanelOpen{grid-template-columns:270px minmax(0,1fr) 260px}.sidebar,.propertiesPanel{display:flex;flex-direction:column;gap:14px;overflow:auto;background:#f7f9f8;padding:14px}.sidebar{border-right:1px solid #cfd8d3}.propertiesPanel{border-left:1px solid #cfd8d3}.brand{display:flex;align-items:center;gap:10px}.logoButton{display:block;border:0;background:transparent;color:#16201c;font-size:19px;font-weight:800;padding:0}.brand span{display:block;color:#61706a;font-size:13px}.panel h2,.propertiesPanel h2{margin:6px 0 10px;color:#43534c;font-size:13px;letter-spacing:0;text-transform:uppercase}.panelHeader{display:flex;align-items:center;justify-content:space-between;gap:8px}.panelHeaderActions{display:inline-flex;align-items:center;gap:6px;color:#43534c}.panelHeaderActions button{display:inline-flex;align-items:center;justify-content:center;width:28px;min-height:28px;border:1px solid #cbd8d2;border-radius:8px;background:#fff;color:#23352d;padding:0}.stencilSearch{width:100%;min-height:34px;margin-bottom:8px;border:1px solid #d2ddd8;border-radius:8px;background:#fff;color:#18251f;outline:0;padding:0 10px}.componentShelf{display:grid;gap:12px}.componentShelf section{display:grid;gap:7px}.componentShelf h3{margin:0;color:#52635b;font-size:10px;font-weight:850;letter-spacing:0;text-transform:uppercase}.quickStencilGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.quickStencilGrid button{display:flex;min-height:32px;align-items:center;gap:6px;border:1px solid #d4dfda;border-radius:8px;background:#fff;color:#21302a;font-size:10px;font-weight:700;padding:6px 7px;text-align:left}.quickStencilGrid button:hover,.compactCategories button:hover{border-color:#94b9aa;background:#f2f8f5}.compactCategories{grid-template-columns:repeat(2,minmax(0,1fr))}.categoryList{display:grid;gap:6px}.categoryList button,.workspaceList button{min-height:34px;border:1px solid #d7dfdb;border-radius:8px;background:#fff;color:#21302a;text-align:left;padding:7px 9px}.categoryList button.active,.uploadListItem.activeUpload{border-color:#2d6d5c;background:#e8f4ef;color:#12372c;font-weight:700}.stencilItems,.workspaceList{border-top:1px solid #dfe6e3;padding-top:7px}.stencilPanel{display:grid;gap:4px}.sidebar.stencilsCollapsed .stencilPanel{border:1px solid #d8e2dd;border-radius:10px;background:#fff;padding:8px 10px}.chipList{display:flex;flex-wrap:wrap;gap:8px}.chipList button{border:1px solid #d3ddd8;border-radius:5px;background:#fff;color:#263a32;font-size:12px;padding:6px 9px}.chipList button:hover{border-color:#2d6d5c;background:#e8f4ef;color:#12372c}.workspaceList{display:grid;gap:8px}.workspaceList p{margin:0;color:#61706a;font-size:13px}.workspaceList button{display:grid;gap:4px;width:100%}.workspaceList button strong,.uploadListItem strong{min-width:0;overflow:hidden;color:#21302a;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.workspaceList button span,.uploadListItem span{color:#61706a;font-size:12px}.workspace{display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto;gap:10px;min-width:0;padding:14px}.toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.toolbar h1{margin:0;color:#16201c;font-size:21px;line-height:1.2}.toolbar p{margin:3px 0 0;color:#61706a;font-size:13px}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.actions button,.viewToggle button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;border:1px solid #c5d0cb;border-radius:8px;background:#fff;color:#1a2822;padding:0 10px}.actions .primary{border-color:#174c3c;background:#174c3c;color:#fff}.actions .activeTool{border-color:#2d6d5c;background:#e8f4ef;color:#12372c;font-weight:700}.actions button:disabled,.commandList button:disabled{cursor:not-allowed;opacity:.42}.insertPanel{position:fixed;left:300px;top:0;bottom:0;z-index:70;display:flex;width:min(390px,calc(100vw - 24px));flex-direction:column;gap:12px;overflow:hidden;border-right:1px solid #c7d4ce;background:#fbfdfc;box-shadow:18px 0 42px #1c2b242e;padding:16px;animation:insertSlide .18s ease-out both}.insertHeader,.insertBreadcrumb,.insertSearch,.insertList button{display:flex;align-items:center}.insertHeader{justify-content:space-between;gap:10px}.insertHeader h2{margin:0 0 2px;color:#17231e;font-size:18px}.insertHeader span{color:#61706a;font-size:12px}.insertHeader button{width:32px;min-height:32px;border:1px solid #ccd8d3;border-radius:8px;background:#fff;color:#24362f}.insertSearch{gap:8px;min-height:40px;border:1px solid #cfdad5;border-radius:9px;background:#fff;color:#61706a;padding:0 10px}.insertSearch input{width:100%;border:0;outline:0;color:#17231e}.insertBreadcrumb{flex-wrap:wrap;gap:4px}.insertBreadcrumb button{min-height:28px;border:0;border-radius:5px;background:#edf4f1;color:#28453a;font-size:12px;padding:0 9px}.insertList{display:grid;align-content:start;gap:7px;min-height:0;overflow:auto;padding-right:2px}.insertList.shapeGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.insertList button{gap:10px;min-height:52px;border:1px solid #d5dfda;border-radius:9px;background:#fff;color:#17231e;text-align:left;padding:8px 10px}.insertList button:hover,.insertList button.selectedInsertItem{border-color:#2d6d5c;background:#e8f4ef}.insertList p{margin:10px 0;color:#61706a;font-size:13px}.insertGlyph{display:inline-flex;width:30px;height:30px;flex:0 0 30px;align-items:center;justify-content:center;border:1px solid #bfcfc7;border-radius:8px;background:#f5f8f7;color:#2b4a3e;font-size:12px;font-weight:800}.insertGlyph.shape{border-color:#769589;background:#dceae5}.insertGlyph.shape.diamond{transform:rotate(45deg) scale(.8)}.insertGlyph.shape.ellipse,.insertGlyph.shape.oval{border-radius:5px}.insertGlyph.shape.triangle{width:0;height:0;border-right:15px solid transparent;border-bottom:26px solid #769589;border-left:15px solid transparent;border-radius:0;background:transparent}.insertItemText{display:grid;gap:2px;min-width:0}.insertItemText strong,.insertItemText small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.insertItemText strong{color:#17231e;font-size:13px}.insertItemText small{color:#61706a;font-size:12px}@keyframes insertSlide{0%{opacity:0;transform:translate(-18px)}to{opacity:1;transform:translate(0)}}.viewToggle{display:inline-grid;grid-template-columns:repeat(3,minmax(68px,auto));overflow:hidden;border:1px solid #c5d0cb;border-radius:8px;background:#fff}.viewToggle button{min-height:34px;border:0;border-right:1px solid #d8e1dd;border-radius:0;background:transparent;color:#405049;padding:0 9px}.viewToggle button:last-child{border-right:0}.viewToggle button.active{background:#174c3c;color:#fff}.hiddenInput{display:none}.promptBar{display:flex;align-items:center;gap:8px;min-height:42px;border:1px solid #cbd6d1;border-radius:8px;background:#fff;padding:0 12px}.promptBar input{width:100%;border:0;outline:0;color:#18251f}.uploadStatus{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:10px;min-height:36px;border:1px solid #cad7d1;border-radius:8px;background:#fff;color:#43534c;padding:8px 10px}.uploadStatus.analysisStatus{grid-template-columns:minmax(130px,auto) auto minmax(0,1fr);align-items:start;background:#fbfdfc}.uploadStatus.analysisStatus>div:first-child{display:grid;gap:2px}.analysisSummary{display:grid;gap:6px;min-width:0}.analysisChips{display:flex;flex-wrap:wrap;gap:5px}.analysisChips button{min-height:24px;border:1px solid #cbd8d2;border-radius:5px;background:#eef7f3;color:#21382f;font-size:10px;padding:0 8px}.analysisChips button:hover{border-color:#2d6d5c;background:#e2f2ec}.generatedStatus{background:#eef7f4}.uploadStatus strong{color:#14231d}.uploadStatus span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editorStage{display:grid;min-height:540px;min-width:0;overflow:hidden;border-radius:8px}.editorStage.view-both{grid-template-columns:minmax(280px,40%) minmax(360px,60%);gap:10px}.editorStage.view-document,.editorStage.view-canvas{grid-template-columns:minmax(0,1fr)}.documentPanel,.canvasPanel{min-width:0;min-height:0;overflow:auto;border:1px solid #c8d3ce;border-radius:8px;background:#fff}.documentPanel{display:grid;grid-template-rows:auto minmax(0,1fr)}.documentHeader{display:flex;align-items:center;justify-content:space-between;min-height:36px;border-bottom:1px solid #dce5e1;padding:0 10px}.documentHeader strong{color:#17231e;font-size:14px}.documentHeader span{color:#61706a;font-size:12px}.documentPanel textarea{width:100%;min-height:100%;resize:none;border:0;outline:0;color:#16201c;line-height:1.45;padding:12px}.canvasPanel{position:relative;background:#f6f9f7}.zoomControl{position:absolute;top:12px;right:12px;z-index:12;display:inline-flex;align-items:center;gap:4px;border:1px solid #c7d2cd;border-radius:10px;background:#fffffff5;box-shadow:0 12px 26px #26362f1f;padding:4px}.zoomControl button{display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:28px;border:1px solid transparent;border-radius:8px;background:transparent;color:#263a32}.zoomControl button:hover{border-color:#2d6d5c;background:#e8f4ef}.zoomMenu{position:absolute;right:0;top:42px;display:grid;gap:4px;min-width:90px;border:1px solid #cfdad5;border-radius:10px;background:#fff;box-shadow:0 14px 32px #1e2d2629;padding:6px}.canvasScroller{min-width:700px;min-height:100%;padding:0}.canvas{position:relative;overflow:hidden;min-height:540px;height:100%;border:0;border-radius:0;background-color:#fbfcfb;background-image:linear-gradient(#e6ece9 1px,transparent 1px),linear-gradient(90deg,#e6ece9 1px,transparent 1px);background-size:24px 24px;touch-action:none}.canvasToolbar{position:absolute;top:14px;left:12px;z-index:10;display:grid;gap:5px;border:1px solid #c7d2cd;border-radius:10px;background:#fffffff5;box-shadow:0 12px 26px #26362f1f;padding:6px}.canvasToolbar button{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid transparent;border-radius:8px;background:transparent;color:#30443b}.canvasToolbar button:hover,.canvasToolbar button.active{border-color:#2d6d5c;background:#e8f4ef;color:#12372c}.zone{position:absolute;top:14px;bottom:14px;border:1px dashed #aab9b2;border-radius:8px;color:#53635c;font-size:12px;font-weight:700;padding:8px;-webkit-user-select:none;user-select:none;pointer-events:none}.zoneExternal{left:2%;width:24%;padding-left:58px}.zoneDmz{left:29%;width:25%}.zoneInternal{left:57%;width:40%}.node{position:absolute;z-index:5;display:flex;align-items:center;gap:9px;width:178px;min-height:54px;border:1px solid #b9c7c0;border-radius:8px;background:#fff;box-shadow:0 8px 24px #26362f14;color:#17231e;padding:10px;-webkit-user-select:none;user-select:none;touch-action:none;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.node.iconNode:after{position:absolute;top:5px;right:5px;bottom:5px;left:5px;z-index:-1;border-radius:6px;content:"";pointer-events:none}.nodeFamily-compute{border-color:#b8c8c0;background:linear-gradient(180deg,#fff,#f5f8f6)}.nodeFamily-compute:after{border-top:3px solid #7a9187}.nodeFamily-security{border-color:#d8b5b5;background:linear-gradient(180deg,#fffdfc,#fff4f2);clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%)}.nodeFamily-security .nodeIconVisual{color:#9b2f2f}.nodeFamily-network{border-color:#adc7dc;background:linear-gradient(180deg,#fbfdff,#eef7ff)}.nodeFamily-network:after{border:1px dashed rgba(41,98,148,.34)}.nodeFamily-data{border-color:#c4b7de;background:linear-gradient(180deg,#fff,#f6f2ff);border-radius:999px/24px}.nodeFamily-data:after{top:8px;bottom:auto;height:12px;border-top:1px solid rgba(99,80,147,.35);border-radius:999px/18px}.nodeFamily-identity{border-color:#d9c37f;background:linear-gradient(180deg,#fffdf4,#fff8dc)}.nodeFamily-identity:after{border-left:4px solid #c09a16}.nodeFamily-ot{border-color:#d0b396;background:linear-gradient(180deg,#fffdf8,#f8efe4)}.nodeFamily-ot:after{background:repeating-linear-gradient(45deg,rgba(142,91,37,.1) 0,rgba(142,91,37,.1) 5px,transparent 5px,transparent 10px)}.nodeFamily-cloud{border-color:#accce4;background:linear-gradient(180deg,#fff,#eff8ff);border-style:dashed}.nodeFamily-cloud .nodeIconVisual{color:#246b9f}.node.iconNode{flex-direction:column;align-items:center;justify-content:center;gap:6px;width:136px;min-height:76px;text-align:center}.node.iconNode.size-Small{width:118px;min-height:66px;padding:8px}.node.iconNode.size-Large{width:166px;min-height:94px;padding:12px}.node.iconNode.size-XLarge{width:198px;min-height:112px;padding:14px}.node.iconNode.size-XLarge .nodeLabel{max-width:172px}.node:hover,.selectedNode{border-color:#1d6b55;box-shadow:0 12px 28px #1d6b552e;transform:translateY(-1px)}.node.connectable{z-index:8;cursor:crosshair}.node.connectable:before{position:absolute;top:-12px;right:-12px;bottom:-12px;left:-12px;border:1px dashed transparent;border-radius:12px;content:""}.node:not(.connectable){cursor:grab}.canvas.nodeDragging,.canvas.nodeDragging .node,.canvas.nodeDragging .canvasElement{cursor:grabbing;-webkit-user-select:none;user-select:none}.node span{font-size:14px;line-height:1.2}.nodeIconVisual{display:inline-flex;min-height:34px;align-items:center;justify-content:center}.nodeLabel{max-width:116px;-webkit-user-select:none;user-select:none}.nodeContextToolbar{position:absolute;top:-34px;left:50%;z-index:9;display:flex;align-items:center;gap:4px;width:max-content;max-width:260px;border:1px solid #bfd1c8;border-radius:8px;background:#fffffff5;box-shadow:0 12px 26px #16292029;padding:4px;transform:translate(-50%)}.nodeContextToolbar button{min-height:24px;border:1px solid transparent;border-radius:6px;background:transparent;color:#174c3c;font-size:10px;font-weight:800;padding:0 6px}.nodeContextToolbar button:hover{border-color:#c8d8d1;background:#eef7f3}.inlineLabelEditor{min-width:0;width:120px;border:1px solid #9db4aa;border-radius:6px;color:#17231e;padding:4px 6px}.anchorLayer{position:absolute;top:-7px;right:-7px;bottom:-7px;left:-7px;pointer-events:none}.anchor{position:absolute;width:8px;height:8px;border:2px solid #174c3c;border-radius:5px;background:#fff}.anchor.north{top:-2px;left:50%;transform:translate(-50%)}.anchor.south{bottom:-2px;left:50%;transform:translate(-50%)}.anchor.east{top:50%;right:-2px;transform:translateY(-50%)}.anchor.west{top:50%;left:-2px;transform:translateY(-50%)}.canvasElement{position:absolute;z-index:2;display:flex;align-items:center;justify-content:center;border:1.5px solid #2d6d5c;background:#ffffffbd;color:#1b3128;font-size:13px;pointer-events:auto;-webkit-user-select:none;user-select:none;touch-action:none}.canvasElement:not(.draft){cursor:grab}.canvasElement.rectangle{border-radius:8px}.canvasElement.ellipse{border-radius:5px}.canvasElement.frame{border-style:dashed;background:#2d6d5c0d}.canvasElement.text,.canvasElement.icon{border-color:transparent;background:transparent;font-weight:700}.canvasElement.icon{border:1px solid #b9c7c0;border-radius:8px;background:#fff;box-shadow:0 8px 20px #26362f14;padding:8px}.canvasIconNode{display:grid;justify-items:center;gap:5px;-webkit-user-select:none;user-select:none;text-align:center}.canvasIconNode>span:last-child{max-width:96px;overflow:hidden;color:#17231e;font-size:12px;text-overflow:ellipsis;-webkit-user-select:none;user-select:none;white-space:nowrap}.librarySvgIcon{display:block;object-fit:contain}.providerIcon,.techLogoIcon{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;border-radius:9px;color:#fff;line-height:1;text-align:center}.cloudServiceSvg{display:block;filter:drop-shadow(0 4px 8px rgba(30,45,38,.1))}.providerIcon strong{font-size:10px}.providerIcon small{max-width:48px;overflow:hidden;font-size:7px;text-overflow:ellipsis;white-space:nowrap}.providerAWS{background:#f90}.providerAzure{background:#0078d4}.providerGCP{background:#4285f4}.techLogoIcon{background:#263238;font-size:10px;font-weight:800;text-transform:uppercase}.canvasElement.shape,.canvasElement.device{border-color:#2d6d5c;background:#fbfcfbeb;font-weight:700;text-align:center;padding:6px}.canvasElement.shape.diamond{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.canvasElement.shape.ellipse,.canvasElement.shape.oval{border-radius:5px}.canvasElement.shape.triangle{clip-path:polygon(50% 0,100% 100%,0 100%)}.canvasElement.shape.parallelogram{clip-path:polygon(18% 0,100% 0,82% 100%,0 100%)}.canvasElement.shape.trapezoid{clip-path:polygon(18% 0,82% 0,100% 100%,0 100%)}.canvasElement.shape.hexagon{clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%)}.canvasElement.shape.star{clip-path:polygon(50% 0,61% 34%,98% 34%,68% 55%,79% 90%,50% 68%,21% 90%,32% 55%,2% 34%,39% 34%)}.canvasElement.shape.cylinder{border-radius:999px/28%}.canvasElement.shape.document{border-radius:4px}.canvasElement.shape.document:after{position:absolute;top:0;right:0;width:18px;height:18px;border-bottom:1px solid #2d6d5c;border-left:1px solid #2d6d5c;background:#edf5f1;content:""}.canvasElement.device{border-width:2px;border-color:#1f2d28;background:#fffc}.canvasElement.device.phone{border-radius:18px}.canvasElement.device.tablet{border-radius:14px}.canvasElement.device.browser{align-items:flex-start;border-radius:9px;padding-top:20px}.canvasElement.device.browser:before{position:absolute;top:7px;left:10px;width:32px;height:7px;border-radius:5px;background:#a8b8b1;content:""}.canvasElement.draft{opacity:.72}.selectedElement{outline:2px solid #7c3aed;outline-offset:2px}.resizeHandles{position:absolute;top:-7px;right:-7px;bottom:-7px;left:-7px;pointer-events:none}.resizeHandle{position:absolute;z-index:4;width:11px;height:11px;border:2px solid #7c3aed;border-radius:3px;background:#fff;box-shadow:0 2px 7px #26362f2e;pointer-events:auto;touch-action:none}.resizeHandle.nw{top:0;left:0;cursor:nwse-resize}.resizeHandle.ne{top:0;right:0;cursor:nesw-resize}.resizeHandle.sw{bottom:0;left:0;cursor:nesw-resize}.resizeHandle.se{right:0;bottom:0;cursor:nwse-resize}.drawLayer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;width:100%;height:100%;pointer-events:none}.selectableDraw{pointer-events:auto}.drawLayer path{fill:none;stroke:#243b32;stroke-width:.35;stroke-linecap:square;stroke-linejoin:round}.selectableDraw path{pointer-events:stroke}.selectedDraw path{stroke:#7c3aed;stroke-width:.7}.drawLayer.freehand path{stroke:#6f4dbb;stroke-width:.32}.drawLayer.draft{opacity:.65}.edgeRender{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;pointer-events:none}.edgeLayer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;pointer-events:none}.selectableEdge{pointer-events:none}.edgeLayer path{fill:none;stroke:#2d6d5c;stroke-width:.45;stroke-linecap:square;stroke-linejoin:round}.edgeLayer marker path{stroke:none}.edgeLabel{position:absolute;z-index:12;display:block;max-width:180px;min-height:18px;overflow:visible;border:1px solid rgba(196,211,204,.92);border-radius:5px;background:#fbfcfbf0;color:#43534c;font-size:10px;font-weight:700;line-height:16px;padding:0 6px;pointer-events:auto;text-align:center;text-overflow:clip;transform:translate(-50%,-50%);-webkit-user-select:none;user-select:none;white-space:nowrap}.edgeLabel:hover{border-color:#2d6d5c;background:#fff;color:#174c3c}.connectorSource{border-color:#0f766e;box-shadow:0 0 0 4px #0f766e2e,0 14px 32px #0f766e33}.selectableEdge path{pointer-events:stroke}.canvas.tool-arrow .edgeHitPath,.canvas.tool-arrow .edgeLabel{pointer-events:none}.selectedEdge path{stroke:#7c3aed;stroke-width:.85}.motionEnabled .edgeHitPath{stroke-width:3.4}.edgeLayer path{animation:flow 1.45s linear infinite}.motionEnabled .node{animation:nodeRise .36s ease both}@keyframes flow{to{stroke-dashoffset:-2.5}}@keyframes nodeRise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.suggestions{display:grid;gap:6px;border:1px solid #cad7d1;border-radius:8px;background:#fff;padding:10px 12px}.suggestions h2{margin:0;color:#17231e;font-size:14px}.suggestions p{margin:0;color:#4b5d55;font-size:13px}.propertiesPanel label{display:grid;gap:5px;color:#61706a;font-size:12px}.propertiesPanel input,.propertiesPanel select{width:100%;min-height:34px;border:1px solid #d4dfda;border-radius:8px;background:#fff;color:#17231e;padding:0 10px}.codePanel{gap:12px;padding:14px}.codePanelHeader{display:flex;align-items:center;justify-content:space-between;gap:10px}.codePanelHeader h2{margin-bottom:2px}.codePanelHeader span{color:#61706a;font-size:12px}.codePanelHeader button{display:inline-flex;align-items:center;gap:6px;min-height:34px;border:1px solid #c5d0cb;border-radius:8px;background:#fff;color:#1a2822;padding:0 10px}.codeEditorShell{overflow:hidden;border:1px solid #cad7d1;border-radius:8px;background:#fff}.codeEditorLoading{display:grid;min-height:460px;place-items:center;border:1px solid #cad7d1;border-radius:8px;background:#fff;color:#61706a;font-size:13px}.codeEditorShell.hasError{border-color:#bd4b4b;box-shadow:0 0 0 2px #bd4b4b1f}.dslError{border:1px solid #e3b5b5;border-radius:8px;background:#fff4f4;color:#8b2424;font-size:13px;padding:9px 10px}.snippetBar{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:auto}.snippetBar button{min-height:34px;border:1px solid #cdd8d3;border-radius:8px;background:#fff;color:#23352d;font-size:12px}.aiPanel{gap:12px;padding:14px}.aiPanelHeader,.aiHeaderActions,.aiComposerActions{display:flex;align-items:center}.aiPanelHeader{justify-content:space-between;gap:10px}.aiPanelHeader h2{margin-bottom:2px}.aiPanelHeader span,.chatHistoryList small,.chatHistoryList span,.chatBubble span,.creditCounter{color:#61706a;font-size:12px}.aiHeaderActions,.aiComposerActions{gap:6px}.aiHeaderActions button,.aiComposerActions button{display:inline-flex;align-items:center;justify-content:center;width:34px;min-height:34px;border:1px solid #cbd8d2;border-radius:8px;background:#fff;color:#1d322a}.quickStartPanel,.quickStartGrid{display:grid;gap:8px}.quickStartGrid button,.chatHistoryList button{border:1px solid #d2ddd8;border-radius:8px;background:#fff;color:#21302a;text-align:left}.quickStartGrid button{display:grid;grid-template-columns:22px 1fr;align-items:center;gap:9px;min-height:42px;padding:8px 10px}.chatHistoryPanel{display:grid;gap:8px;min-height:0}.chatHistoryPanel .panelHeader{min-height:18px}.chatHistoryList{display:grid;gap:7px;max-height:210px;overflow:auto}.chatHistoryList button{display:grid;gap:3px;padding:9px 10px}.chatHistoryList button.activeChat{border-color:#2d6d5c;background:#e8f4ef}.chatHistoryList strong{overflow:hidden;color:#17231e;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.chatHistoryList p{margin:0;color:#61706a;font-size:13px}.chatTranscript{display:grid;align-content:start;gap:8px;min-height:150px;max-height:260px;overflow:auto;border:1px solid #d6e0dc;border-radius:10px;background:#fff;padding:8px}.chatBubble{display:grid;gap:4px;border-radius:8px;background:#eef4f1;padding:8px 9px}.chatBubble.user{background:#e4f0ff}.chatBubble p{margin:0;color:#17231e;font-size:13px;line-height:1.35}.chatBubble.typing p{animation:typingPulse .9s ease-in-out infinite}.aiComposer{position:relative;display:grid;gap:8px;margin-top:auto;border:1px solid #cbd8d2;border-radius:10px;background:#fff;padding:8px}.aiComposer textarea{min-height:98px;resize:vertical;border:0;outline:0;color:#17231e;font:inherit}.aiComposerActions{justify-content:flex-end}.aiComposerActions .sendButton{border-color:#1f6feb;background:#1f6feb;color:#fff}.slashMenu{position:absolute;left:8px;right:8px;bottom:calc(100% + 6px);z-index:20;display:grid;gap:4px;border:1px solid #cbd8d2;border-radius:10px;background:#fff;box-shadow:0 14px 36px #1e2d262e;padding:6px}.slashMenu button{min-height:34px;border:0;border-radius:7px;background:transparent;color:#1d322a;text-align:left;padding:0 8px}.slashMenu button:hover{background:#eef4f1}.attachmentPill{display:inline-flex;max-width:100%;min-height:26px;align-items:center;justify-self:start;overflow:hidden;border:1px solid #c8d8d0;border-radius:5px;background:#eef7f3;color:#21382f;font-size:12px;padding:0 9px;text-overflow:ellipsis;white-space:nowrap}.creditCounter{display:flex;align-items:center;gap:4px;justify-content:center}.creditCounter button{border:0;background:transparent;color:#1f6feb;font-weight:700;padding:0}@keyframes typingPulse{0%,to{opacity:.45}50%{opacity:1}}.motionMeta{display:grid;gap:4px;border:1px solid #d4dfda;border-radius:8px;background:#fff;padding:9px}.motionMeta strong{color:#17231e;font-size:13px}.motionMeta span{color:#61706a;font-size:12px}.iconPicker{display:grid;gap:8px;border-bottom:1px solid #dfe6e3;padding-bottom:12px}.iconGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.iconGrid button{min-height:34px;border:1px solid #d4dfda;border-radius:8px;background:#fff;color:#23352d;font-size:12px}.bottomPropertiesBar{position:fixed;left:50%;bottom:12px;z-index:40;display:flex;align-items:center;justify-content:center;gap:7px;max-width:min(900px,calc(100vw - 28px));min-height:46px;overflow:visible;border:1px solid #c7d2cd;border-radius:12px;background:#fffffff7;box-shadow:0 18px 45px #1e2d262e;padding:6px 8px;transform:translate(-50%);animation:inspectorSlide .18s ease-out both}.bottomPropertiesBar input,.bottomPropertiesBar select{min-height:32px;border:1px solid #cfdad5;border-radius:8px;background:#fff;color:#17231e;padding:0 9px}.propertyTextInput{width:190px}.bottomPropertiesBar button{min-height:32px;border:1px solid #cfdad5;border-radius:8px;background:#fff;color:#22352d;padding:0 9px}.bottomPropertiesBar button:hover,.bottomPropertiesBar button.active,.bottomPropertiesBar .activeToggle{border-color:#2d6d5c;background:#e8f4ef;color:#12372c}.swatches{display:flex;align-items:center;gap:5px;border:1px solid #d7dfdb;border-radius:8px;background:#fff;padding:4px}.swatches button{min-height:0;width:22px;height:22px;border:1px solid #aebdb6;border-radius:5px;padding:0}.swatches input[type=color],.bottomPropertiesBar>input[type=color]{width:34px;min-height:34px;padding:2px}.directionButtons{display:inline-flex;gap:4px}.directionButtons button{min-width:34px}.moreMenuWrap{position:relative}.moreMenu{position:absolute;right:0;bottom:42px;display:grid;gap:4px;min-width:190px;border:1px solid #cfdad5;border-radius:10px;background:#fff;box-shadow:0 16px 38px #1e2d262e;padding:6px}.moreMenu button{justify-content:flex-start;border:0;text-align:left}.modalScrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:flex;align-items:center;justify-content:center;background:#141f1a47;padding:18px}.commandScrim{align-items:flex-start;padding-top:9vh}.commandPalette,.appModal{width:min(620px,calc(100vw - 28px));overflow:hidden;border:1px solid #c7d2cd;border-radius:12px;background:#fff;box-shadow:0 24px 70px #13221b47}.commandSearch{display:flex;align-items:center;gap:10px;min-height:50px;border-bottom:1px solid #dfe6e3;color:#61706a;padding:0 14px}.commandSearch input{width:100%;border:0;outline:0;color:#17231e;font-size:16px}.commandList{display:grid;gap:4px;max-height:420px;overflow:auto;padding:8px}.commandList button{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:52px;border:1px solid transparent;border-radius:8px;background:transparent;color:#22352d;text-align:left;padding:8px 10px}.commandList button.selectedCommand,.commandList button:hover{border-color:#c8d8d0;background:#e8f4ef}.commandList strong,.commandList small{display:block}.commandList small{color:#61706a;font-size:12px}kbd{border:1px solid #cfdad5;border-radius:6px;background:#f7f9f8;color:#53635c;font-size:10px;padding:3px 6px}.appModal{display:grid;gap:14px;padding:16px}.modalHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.modalHeader h2{margin:0;color:#16201c;font-size:20px}.modalHeader span{display:block;margin-top:3px;color:#61706a;font-size:13px}.modalHeader button{display:inline-flex;align-items:center;justify-content:center;width:34px;min-height:34px;border:1px solid #cfdad5;border-radius:8px;background:#fff;color:#263a32}.exportGrid,.shareControls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.exportGrid label,.shareControls label{display:grid;gap:5px;color:#43534c;font-size:12px;font-weight:700}.exportGrid select,.shareControls select,.inviteRow input,.shareMember select{min-height:36px;border:1px solid #cfdad5;border-radius:8px;background:#fff;color:#17231e;padding:0 9px}.checkRow{display:flex!important;align-items:center;gap:8px}.checkRow input{width:16px;height:16px}.exportDisabled{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.exportDisabled span{border:1px solid #d7dfdb;border-radius:5px;background:#f4f7f5;color:#85918c;font-size:12px;padding:5px 9px}.exportDisabled small{color:#61706a}.modalActions{display:flex;justify-content:flex-end;gap:8px}.usersModal{width:min(560px,calc(100vw - 28px))}.usersList{display:grid;gap:8px;max-height:280px;overflow:auto}.usersList article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid #dfe6e3;border-radius:8px;background:#fbfdfc;padding:9px 10px}.usersList article.inactiveUser{opacity:.58}.usersList strong,.usersList small{display:block}.usersList small{overflow:hidden;color:#61706a;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.usersList button,.userCreateForm button{min-height:34px;border:1px solid #cfdad5;border-radius:8px;background:#fff;color:#22352d;padding:0 10px}.usersList button:disabled,.userCreateForm button:disabled{cursor:not-allowed;opacity:.48}.userCreateForm{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) minmax(0,1fr) auto;gap:8px}.userCreateForm input{min-height:36px;min-width:0;border:1px solid #cfdad5;border-radius:8px;background:#fff;color:#17231e;padding:0 9px}.userCreateForm .primary{border-color:#174c3c;background:#174c3c;color:#fff;font-weight:800}.inviteRow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.shareMembers{display:grid;gap:8px;max-height:220px;overflow:auto}.shareMember{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:10px;align-items:center;border:1px solid #dfe6e3;border-radius:8px;padding:8px}.shareMember strong,.shareMember small{display:block}.shareMember small{overflow:hidden;color:#61706a;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.shareFooter{display:flex;align-items:center;justify-content:space-between;gap:12px}.qrBlock{display:grid;grid-template-columns:repeat(2,18px);gap:5px;border:1px solid #cfdad5;border-radius:8px;background:#f7f9f8;padding:8px}.qrBlock span{width:18px;height:18px;border-radius:3px;background:#17231e}.qrBlock span:nth-child(2),.qrBlock span:nth-child(3){background:#9db4aa}.toast{position:fixed;right:18px;bottom:18px;z-index:90;border:1px solid #c7d2cd;border-radius:5px;background:#17231e;color:#fff;box-shadow:0 14px 34px #13221b38;padding:9px 13px}@keyframes inspectorSlide{0%{opacity:0;transform:translate(-50%,16px)}to{opacity:1;transform:translate(-50%)}}@media(max-width:1100px){.shell{grid-template-columns:1fr}.sidebar,.propertiesPanel{border:0;border-bottom:1px solid #cfd8d3}.insertPanel{left:0;width:min(390px,100vw)}.toolbar{align-items:flex-start;flex-direction:column}.actions,.actions button{width:100%}.viewToggle{width:100%;grid-template-columns:repeat(3,1fr)}.uploadStatus,.editorStage.view-both{grid-template-columns:1fr}.editorStage,.canvas{min-height:680px}.documentPanel,.canvasPanel{min-height:420px}.node{width:145px}}.shell.workspaceShell{grid-template-columns:minmax(220px,17vw) minmax(0,1fr) minmax(270px,20vw);height:100vh;min-height:0;overflow:hidden;background:#eef3f1}.shell.workspaceShell.rightCollapsed{grid-template-columns:minmax(220px,17vw) minmax(0,1fr)}.shell.workspaceShell.leftCollapsed{grid-template-columns:56px minmax(0,1fr) minmax(270px,20vw)}.shell.workspaceShell.leftCollapsed.rightCollapsed{grid-template-columns:56px minmax(0,1fr)}.shell.workspaceShell.canvasFullscreen{grid-template-columns:0 minmax(0,1fr) 0}.shell.workspaceShell.canvasFullscreen .sidebar,.shell.workspaceShell.canvasFullscreen .architectPanel,.shell.workspaceShell.canvasFullscreen .bottomPropertiesBar{display:none}.workspaceShell .sidebar,.workspaceShell .propertiesPanel{height:100vh;min-height:0;overflow:auto;background:#f8faf9}.workspaceShell.leftCollapsed .sidebar{overflow:hidden;padding:12px 8px}.workspaceShell.leftCollapsed .stencilPanel,.workspaceShell.leftCollapsed .stencilItems{display:none}.workspaceBrand{position:sticky;top:0;z-index:4;justify-content:space-between;padding-bottom:8px;background:#f8faf9}.panelCollapseButton,.architectPanelHeader>button,.topActionsCompact button,.workflowSwitch button,.aiCommandDock button,.aiCommandDock select,.rightPanelTabs button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:32px;border:1px solid #cbd8d2;border-radius:7px;background:#fff;color:#1d3028;padding:0 10px}.workspaceShell .workspace{display:grid;grid-template-rows:auto minmax(0,1fr);gap:8px;min-width:0;min-height:0;overflow:hidden;padding:10px 12px 112px}.workspaceTopbar{display:grid;grid-template-columns:minmax(250px,1fr) auto minmax(420px,auto);align-items:center;gap:10px;min-height:52px;border:1px solid #cdd9d4;border-radius:8px;background:#fbfdfc;padding:8px 10px}.projectHeaderCompact{display:grid;grid-template-columns:auto minmax(120px,1fr) auto;align-items:center;gap:9px;min-width:0}.projectHeaderCompact strong{color:#10221b;font-size:16px}.projectHeaderCompact input{min-width:0;border:0;border-left:1px solid #d9e2de;background:transparent;color:#10221b;font-size:15px;font-weight:700;outline:0;padding:3px 0 3px 10px}.projectHeaderCompact span{overflow:hidden;color:#65736d;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.workflowSwitch,.compactViewToggle,.topActionsCompact{display:inline-flex;align-items:center;gap:6px}.workflowSwitch,.compactViewToggle{border:1px solid #cbd8d2;border-radius:8px;background:#fff;padding:3px}.workflowSwitch button,.compactViewToggle button{min-height:28px;border-color:transparent;background:transparent;font-size:13px;font-weight:700}.workflowSwitch button.active,.compactViewToggle button.active,.rightPanelTabs button.active{border-color:#174c3c;background:#174c3c;color:#fff}.topActionsCompact{position:relative;justify-content:flex-end;min-width:0}.topActionsCompact>button:disabled{opacity:.45}.healthPill{font-weight:700}.topMenuWrap,.userMenuWrap{position:relative}.avatarButton{width:34px;border-radius:999px!important;background:#174c3c!important;color:#fff!important;font-weight:800;padding:0!important}.topMenu{position:absolute;right:0;top:40px;z-index:50;display:grid;gap:4px;min-width:190px;border:1px solid #cfdad5;border-radius:8px;background:#fff;box-shadow:0 18px 38px #1e2d2629;padding:6px}.topMenu button,.topMenu span{justify-content:flex-start;min-height:30px;border:0;background:transparent;color:#21372e;font-size:13px;padding:0 8px;text-align:left}.topMenu span{display:block;overflow:hidden;color:#65736d;line-height:30px;text-overflow:ellipsis;white-space:nowrap}.aiCommandDock{position:fixed;right:max(286px,20vw);bottom:14px;left:max(238px,17vw);z-index:45;display:grid;grid-template-columns:auto minmax(180px,1fr) auto 150px auto;align-items:center;gap:8px;border:1px solid #c2d1ca;border-radius:10px;background:#fffffff7;box-shadow:0 18px 40px #1e2d262e;padding:8px}.rightCollapsed .aiCommandDock{right:18px}.leftCollapsed .aiCommandDock{left:72px}.aiCommandTitle{display:inline-flex;align-items:center;gap:7px;color:#17372c;font-size:13px;white-space:nowrap}.aiCommandDock input,.aiCommandDock select{min-width:0;min-height:34px;border:1px solid #cbd8d2;border-radius:7px;background:#fff;color:#14231d;outline:0;padding:0 10px}.aiCommandDock .primary{border-color:#174c3c;background:#174c3c;color:#fff;font-weight:800}.workspaceShell .editorStage{min-height:0;height:100%}.workspaceShell .canvasPanel,.workspaceShell .documentPanel{border-radius:8px}.workspaceShell .canvasScroller{min-width:0;height:100%}.workspaceShell .canvas{min-height:680px}.workspaceShell .suggestions{display:none}.architectPanel{gap:10px;padding:12px}.architectPanelHeader,.rightPanelTabs,.healthSummary,.validationSection>div,.historyStat{display:flex;align-items:center;justify-content:space-between;gap:8px}.architectPanelHeader h2{margin:0;color:#10221b;font-size:15px;text-transform:none}.architectPanelHeader span{color:#65736d;font-size:12px}.rightPanelTabs{justify-content:stretch;border-bottom:1px solid #dce5e1;padding-bottom:8px}.rightPanelTabs button{flex:1;min-width:0;padding:0 6px;font-size:12px}.compactQuickStart,.architectureInspector,.rightProperties,.historyPanel{display:grid;gap:10px}.architectTranscript{min-height:150px;max-height:34vh}.compactComposer textarea{min-height:88px}.healthSummary,.validationSection,.historyStat{border:1px solid #d8e2de;border-radius:8px;background:#fff;padding:10px}.healthSummary{display:grid;justify-items:start}.healthSummary span,.historyStat span{color:#65736d;font-size:12px;font-weight:800;text-transform:uppercase}.healthSummary strong,.historyStat strong{color:#10221b}.healthSummary small,.validationSection p{margin:0;color:#52635b;font-size:12px;line-height:1.35}.healthSummary em{color:#738079;font-size:10px;font-style:normal}.advisorScores{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.advisorScores button{min-width:0;min-height:42px;border:1px solid #d8e2de;border-radius:7px;background:#fff;color:#18352b;padding:5px 3px}.advisorScores span{display:block;overflow:hidden;color:#65736d;font-size:8px;text-overflow:ellipsis;text-transform:capitalize}.advisorScores strong{font-size:14px}.advisorFinding{overflow:hidden;border:1px solid #d8e2de;border-left:3px solid #82918a;border-radius:7px;background:#fff}.advisorFinding.severity-critical{border-left-color:#b42318}.advisorFinding.severity-warning{border-left-color:#d97706}.advisorFinding.severity-recommendation{border-left-color:#2878bd}.advisorFinding.severity-information{border-left-color:#64748b}.advisorFinding.selected{box-shadow:0 0 0 2px #174c3c29}.advisorFindingSummary{display:flex;width:100%;min-height:48px;align-items:center;justify-content:space-between;gap:8px;border:0;background:transparent;color:#17231e;padding:8px;text-align:left}.advisorFindingSummary span{min-width:0}.advisorFindingSummary strong,.advisorFindingSummary small{display:block}.advisorFindingSummary strong{font-size:12px}.advisorFindingSummary small{margin-top:3px;color:#65736d;font-size:9px;text-transform:capitalize}.advisorFindingSummary b{border-radius:4px;background:#edf2ef;color:#52635b;font-size:8px;padding:3px 5px;text-transform:uppercase}.advisorFindingDetail{display:grid;gap:7px;border-top:1px solid #e3e9e6;padding:9px}.advisorFindingDetail p,.advisorFindingDetail dl{margin:0;color:#52635b;font-size:11px;line-height:1.4}.advisorFindingDetail dl{display:grid;gap:2px}.advisorFindingDetail dt{margin-top:4px;color:#243d33;font-weight:800}.advisorFindingDetail dd{margin:0}.advisorFindingActions{display:flex;flex-wrap:wrap;gap:5px}.advisorFindingActions button{min-height:28px;border:1px solid #cbd8d2;border-radius:6px;background:#fff;color:#174c3c;font-size:10px;font-weight:800;padding:0 7px}.advisorEmpty{display:grid;justify-items:center;gap:4px;border:1px solid #b8ddc7;border-radius:7px;color:#264;padding:14px;text-align:center}.advisorEmpty span{color:#65736d;font-size:10px}.node.advisorHighlighted{outline:3px solid #f59e0b;outline-offset:4px;box-shadow:0 0 0 8px #f59e0b26}.edgeRender.advisorHighlighted .edgeVisiblePath{stroke:#f59e0b!important;stroke-width:2.5px!important}.validationSection{display:grid;gap:7px}.validationSection button{justify-self:start;min-height:28px;border:1px solid #cbd8d2;border-radius:7px;background:#fff;color:#174c3c;font-weight:700;padding:0 10px}.severityRecommendation,.severityPending{border-radius:5px;font-size:10px;font-weight:800;padding:3px 7px}.severityRecommendation{background:#fff4d8;color:#8a5a00}.severityPending{background:#edf2ef;color:#65736d}.rightProperties label{display:grid;gap:5px;color:#43534c;font-size:12px;font-weight:800}.rightProperties input,.rightProperties select{min-height:34px;border:1px solid #cbd8d2;border-radius:7px;background:#fff;color:#17231e;padding:0 9px}@media(max-width:1366px){.workspaceTopbar{grid-template-columns:minmax(210px,1fr) auto}.topActionsCompact{grid-column:1 / -1;justify-content:flex-start;overflow-x:auto}.aiCommandDock{grid-template-columns:auto minmax(180px,1fr) auto auto}.aiCommandDock select{width:130px}}.validationSection.statusCritical{border-color:#f0b4b4}.validationSection.statusWarning{border-color:#f3d08a}.validationSection.statusPassed{border-color:#b8ddc7}.severityCritical,.severityWarning,.severityRecommendation,.severityPassed,.severityPending{border-radius:5px;font-size:10px;font-weight:800;padding:3px 7px}.severityCritical{background:#fff0f0;color:#9b1c1c}.severityWarning{background:#fff7df;color:#8a5a00}.severityPassed{background:#e8f7ee;color:#17633b}.issueDot{display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:5px;vertical-align:1px}.issueDot.severityCritical{background:#dc2626}.issueDot.severityWarning{background:#d97706}.issueDot.severityRecommendation{background:#8a5a00}.issueDot.severityPassed{background:#16a34a}.issueDot.severityPending{background:#94a3a0}.aiChangeReview{display:grid;gap:9px;border:1px solid #bfd7cc;border-radius:8px;background:#f4fbf8;padding:10px}.aiChangeReview>div:first-child{display:grid;gap:2px}.aiChangeReview strong{color:#10221b;font-size:13px}.aiChangeReview span{color:#65736d;font-size:12px}.aiChangeReview ul{display:grid;gap:4px;margin:0;padding:0;list-style:none}.aiChangeReview li{color:#21372e;font-size:12px;line-height:1.35}.aiChangeReview li:before{display:inline-block;width:16px;font-weight:800}.aiChangeReview li.changeadded:before{color:#15803d;content:"+"}.aiChangeReview li.changeremoved:before{color:#b91c1c;content:"-"}.aiChangeReview li.changechanged:before{color:#8a5a00;content:"~"}.aiChangeActions{display:flex;gap:6px}.aiChangeActions button{min-height:28px;border:1px solid #cbd8d2;border-radius:7px;background:#fff;color:#174c3c;font-size:12px;font-weight:800;padding:0 10px}.groupedTopMenu{min-width:238px;gap:7px;padding:8px}.groupedTopMenu section{display:grid;gap:3px;padding-bottom:7px;border-bottom:1px solid #edf2ef}.groupedTopMenu section:last-child{border-bottom:0;padding-bottom:0}.groupedTopMenu section>span{min-height:18px;color:#68786f;font-size:10px;font-weight:850;line-height:16px;text-transform:uppercase}.groupedTopMenu button{border-radius:6px}.groupedTopMenu button:hover{background:#eef7f3;color:#12372c}.groupedTopMenu .dangerMenuSection{border-radius:7px;background:#fff7f4;padding:6px}.groupedTopMenu .dangerMenuSection span,.groupedTopMenu .dangerMenuSection button{color:#8f2f1d}.groupedTopMenu .dangerMenuSection button:disabled{color:#b9a49d}.workspaceTopbar{display:flex;flex-wrap:wrap;align-items:center}.projectHeaderCompact{flex:1 1 300px}.workflowSwitch{flex:0 0 auto}.topActionsCompact{flex:1 1 560px;flex-wrap:wrap;justify-content:flex-end;min-width:0}.compactViewToggle{flex:0 0 auto;width:auto;min-width:max-content}.compactViewToggle button{flex:0 0 auto;white-space:nowrap}.shell.workspaceShell.canvasFullscreen{grid-template-columns:minmax(0,1fr)!important}.shell.workspaceShell.canvasFullscreen .workspace{grid-column:1;min-width:0;width:100%;padding-left:10px;padding-right:10px}.shell.workspaceShell.canvasFullscreen .workspaceTopbar,.shell.workspaceShell.canvasFullscreen .aiCommandDock{max-width:none}.shell.workspaceShell.canvasFullscreen .editorStage{grid-template-columns:minmax(0,1fr)!important}.modalScrim{z-index:120;pointer-events:auto}.modalScrim+.sidebar,.modalScrim~.sidebar{pointer-events:none}@media(max-width:1500px){.workspaceTopbar{align-items:flex-start}.topActionsCompact{justify-content:flex-start}.healthPill{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.dslReviewBar{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid #cfdad5;border-radius:8px;background:#f7fbf8;padding:8px;color:#243a31;font-size:12px}.dslReviewBar span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dslReviewBar button{border:1px solid #b8c8c0;border-radius:7px;background:#fff;color:#174c3c;font-weight:700;padding:6px 10px}.vendorNode.hasVendorAsset{border-color:color-mix(in srgb,var(--vendor-accent, #1d6b55) 55%,#cbd7d2);box-shadow:0 8px 22px #19372c14,inset 0 3px 0 var(--vendor-accent, #1d6b55)}.vendorNode.hasVendorAsset:after{border-top-color:var(--vendor-accent, #1d6b55)}.vendorGlyph{width:36px;height:30px}.vendorBadge{position:absolute;top:5px;right:7px;max-width:72px;overflow:hidden;color:#486158;font-size:9px;font-weight:800;letter-spacing:0;line-height:1;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.vendorMeta{display:block;max-width:118px;overflow:hidden;color:#5f7169;font-size:10px;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.node.semanticNode{overflow:visible;height:96px;min-height:96px;border-color:transparent;background:transparent!important;box-shadow:none;padding:4px}.node.semanticNode:after{display:none}.node.semanticNode:hover,.node.semanticNode.selectedNode{border-color:color-mix(in srgb,var(--stencil-accent, #1d6b55) 70%,#ffffff);box-shadow:0 0 0 2px color-mix(in srgb,var(--stencil-accent, #1d6b55) 24%,transparent)}.semanticNode .architectureNodeVisual{display:grid;width:100%;height:100%;min-height:68px;justify-items:center;align-content:center;gap:0}.semanticNode .architectureNodeGraphic{display:flex;width:calc(100% + 20px);height:62px;align-items:center;justify-content:center}.semanticNode .architectureNodeGraphic svg{width:100%;height:72px;overflow:visible;filter:drop-shadow(0 3px 2px rgba(22,42,63,.1))}.semanticNode .architectureNodeGraphic .officialVendorAsset{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 3px 2px rgba(22,42,63,.14))}.semanticNode .architectureNodeVisual.asset-wide .architectureNodeGraphic{height:52px}.semanticNode .architectureNodeVisual.asset-wide .officialVendorAsset{width:calc(100% + 12px);max-width:calc(100% + 12px)}.semanticNode .architectureNodeVisual.asset-tall .architectureNodeGraphic{height:70px}.semanticNode .architectureNodeVisual[data-asset-kind=icon] .officialVendorAsset{width:58px}.semanticNode .architectureNodeLabels{display:grid;width:calc(100% + 16px);justify-items:center;line-height:1.12;text-align:center}.semanticNode .architectureNodeLabels strong{max-width:100%;overflow:hidden;color:#182b3e;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.semanticNode .architectureNodeLabels span{max-width:100%;overflow:hidden;color:#526779;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.node.semanticNode.size-Small{height:84px;min-height:84px}.semanticNode.size-Small .architectureNodeGraphic{height:50px}.semanticNode.size-Small .architectureNodeGraphic svg{height:58px}.node.semanticNode.size-Large{height:112px;min-height:112px}.semanticNode.size-Large .architectureNodeGraphic{height:74px}.semanticNode.size-Large .architectureNodeGraphic svg{height:84px}.node.semanticNode.size-XLarge{height:132px;min-height:132px}.semanticNode.size-XLarge .architectureNodeGraphic{height:88px}.semanticNode.size-XLarge .architectureNodeGraphic svg{height:100px}.vendorMode-icon{width:82px;min-height:70px;padding:8px}.vendorMode-icon .nodeLabel{max-width:66px;font-size:11px}.vendorMode-card{align-items:flex-start;width:174px;min-height:92px;padding:14px 12px 10px;text-align:left}.vendorMode-card .nodeIconVisual{align-self:flex-start}.vendorMode-card .nodeLabel{max-width:144px;text-align:left}.vendorMode-card .vendorMeta{max-width:146px}.vendorAssetGrid{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:12px}.vendorAssetButton{display:grid;grid-template-columns:26px minmax(0,1fr);gap:2px 8px;align-items:center;width:100%;border:1px solid #d4e0db;border-radius:8px;background:#fff;color:#12342a;padding:8px 9px;text-align:left}.vendorAssetButton:hover{border-color:#86b4a4;background:#f3faf7}.vendorAssetGlyph{grid-row:span 2;display:inline-flex;align-items:center;justify-content:center}.vendorAssetButton strong,.vendorAssetButton small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vendorAssetButton strong{font-size:12px}.vendorAssetButton small{color:#61726c;font-size:10px}.vendorMode-icon-label .vendorBadge{display:none}.vendorMode-icon-label .vendorMeta{max-width:124px;font-size:9px}.vendorMode-card .vendorBadge{position:static;align-self:stretch;max-width:none;overflow:visible;line-height:1.15;text-align:left;text-overflow:clip;white-space:normal}.vendorMode-card .vendorMeta{overflow:visible;text-overflow:clip;white-space:normal}.shell.workspaceShell.stencilsMinimized{grid-template-columns:56px minmax(0,1fr) minmax(270px,20vw)}.shell.workspaceShell.stencilsMinimized.rightCollapsed{grid-template-columns:56px minmax(0,1fr)}.workspaceShell.stencilsMinimized .sidebar{width:56px;min-width:56px;overflow:hidden;padding-inline:6px}.workspaceShell.stencilsMinimized .stencilItems,.workspaceShell.stencilsMinimized .componentShelf,.workspaceShell.stencilsMinimized .stencilSearch,.workspaceShell.stencilsMinimized .panelHeader h2{display:none}.vendorGalleryPage{min-height:100vh;background:#f7faf8;color:#14231d;padding:28px}.vendorGalleryHero{display:flex;align-items:end;justify-content:space-between;gap:20px;max-width:1440px;margin:0 auto 18px;border-bottom:1px solid #d9e4df;padding-bottom:18px}.vendorGalleryHero p,.vendorGalleryHero span,.assetMeta,.stencilCaption span,.modeLabel{color:#60736a}.vendorGalleryHero p{margin:0 0 6px;font-size:12px;font-weight:800;text-transform:uppercase}.vendorGalleryHero h1{margin:0;font-size:34px;letter-spacing:0}.vendorGalleryHero aside{min-width:150px;border:1px solid #d4e0db;border-radius:8px;background:#fff;padding:14px;text-align:right}.vendorGalleryHero aside strong{display:block;color:#0f513f;font-size:28px}.galleryPrinciples{display:flex;flex-wrap:wrap;gap:8px;max-width:1440px;margin:0 auto 18px}.galleryPrinciples span{border:1px solid #d7e3de;border-radius:999px;background:#fff;color:#26483d;font-size:12px;font-weight:700;padding:7px 11px}.vendorGalleryGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:14px;max-width:1440px;margin:0 auto}.vendorGalleryCard{border:1px solid #d6e0dc;border-radius:8px;background:#fff;box-shadow:0 10px 28px #192d2512;padding:14px}.vendorGalleryTitle,.assetMeta{display:flex;align-items:center;justify-content:space-between;gap:10px}.semanticGalleryGroup{max-width:1440px;margin:0 auto 24px}.semanticGalleryGroup>header{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid #d9e4df;margin-bottom:12px;padding-bottom:8px}.semanticGalleryGroup h2{margin:0;color:#20342c;font-size:17px}.semanticGalleryGroup>header span{color:#687b73;font-size:11px;font-weight:700}.semanticGalleryGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.semanticGalleryCard{overflow:hidden;border:1px solid #d7e1dd;border-radius:8px;background:#fff;box-shadow:0 5px 18px #192d250f}.semanticStencilStage{display:flex;align-items:center;justify-content:center;height:150px;border-bottom:1px solid #e3eae7;background:linear-gradient(#f9fbfa 1px,transparent 1px),linear-gradient(90deg,#f9fbfa 1px,transparent 1px),#fff;background-size:20px 20px}.semanticStencilStage svg{width:190px;height:116px}.semanticStencilLabel{display:grid;min-height:76px;padding:12px 14px;text-align:center}.semanticStencilLabel strong{color:#15261f;font-size:14px}.semanticStencilLabel span{color:#52675e;font-size:12px}.semanticStencilLabel small{align-self:end;color:#7a8b84;font-size:9px;font-weight:800;text-transform:uppercase}.semanticGalleryCard footer{display:flex;justify-content:space-between;border-top:1px solid #edf1ef;padding:8px 12px;color:#75877f;font-size:9px;font-weight:700}.variantLegend{display:grid;grid-template-columns:1fr 1fr;max-width:1440px;margin:0 auto 18px;border:1px solid #d8e2de;border-radius:7px;background:#fff;color:#41574e;font-size:11px;font-weight:900;text-align:center;text-transform:uppercase}.variantLegend span{padding:9px}.variantLegend span+span{border-left:1px solid #d8e2de}.vendorVariantGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.vendorVariantCard{overflow:hidden;border:1px solid #d7e1dd;border-top:3px solid var(--stencil-accent, #53665e);border-radius:8px;background:#fff;box-shadow:0 5px 18px #192d250f}.vendorVariantCard>header,.vendorVariantCard>footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 12px}.vendorVariantCard>header{border-bottom:1px solid #e3eae7}.vendorVariantCard>header strong{color:#1d3028;font-size:12px}.vendorVariantCard>header span,.vendorVariantCard>footer{color:#697c74;font-size:9px;font-weight:700}.variantComparison{display:grid;grid-template-columns:1fr 1fr}.variantPreview{display:flex;align-items:center;justify-content:center;min-width:0;height:180px;padding:10px;background:linear-gradient(#f8faf9 1px,transparent 1px),linear-gradient(90deg,#f8faf9 1px,transparent 1px),#fff;background-size:20px 20px}.variantPreview+.variantPreview{border-left:1px solid #e3eae7}.variantPreview svg{width:min(100%,190px);height:110px}.variantPreview .architectureNodeVisual{display:grid;width:100%;height:145px;align-content:center;justify-items:center}.variantPreview .architectureNodeGraphic{display:flex;width:min(100%,240px);height:104px;align-items:center;justify-content:center}.variantPreview .architectureNodeGraphic .officialVendorAsset{display:block;width:100%;height:100%;object-fit:contain}.variantPreview .architectureNodeLabels{display:grid;min-height:30px;justify-items:center;text-align:center}.variantPreview.labelsOff{position:relative}.variantPreview.labelsOff>span{position:absolute;bottom:8px;color:#829089;font-size:8px;font-weight:800;text-transform:uppercase}.variantPreview.labelsOff .stencilVendorMark{display:none}.variantPreview.labelsOn{flex-direction:column;gap:2px}.variantPreview.labelsOn svg{height:100px}.variantPreview.labelsOn>div{display:grid;min-height:0;text-align:center}.variantPreview.labelsOn strong{color:#17271f;font-size:11px}.variantPreview.labelsOn span{color:#5f7169;font-size:9px}.vendorVariantCard>footer{border-top:1px solid #edf1ef;text-transform:uppercase}@media(max-width:920px){.vendorVariantGrid{grid-template-columns:1fr}}.semanticStencil .stencilChassis,.semanticStencil .stencilScreen,.semanticStencil .stencilDatabase,.semanticStencil .stencilObject,.semanticStencil .stencilCloud,.semanticStencil .stencilIdentity{fill:#fff;stroke:#243c34;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.semanticStencil .stencilDepth{fill:#dce5e1;stroke:none}.semanticStencil .stencilFace,.semanticStencil .stencilModule,.semanticStencil .stencilControllers rect,.semanticStencil .stencilClusterNodes rect,.semanticStencil .stencilVmRow rect,.semanticStencil .stencilLayer{fill:#eff4f2;stroke:#63756e;stroke-width:1.4}.semanticStencil .stencilAccent,.semanticStencil .stencilChart,.semanticStencil .stencilEventRows{fill:none;stroke:var(--stencil-accent, #0f6b55);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.semanticStencil .stencilAccentFill,.semanticStencil .stencilLights circle{fill:var(--stencil-accent, #0f6b55);stroke:none}.semanticStencil .stencilPorts rect,.semanticStencil .stencilDrives rect,.semanticStencil .stencilTapeSlots rect{fill:#d9e3df;stroke:#385149;stroke-width:1}.semanticStencil .stencilFans,.semanticStencil .stencilControllers,.semanticStencil .stencilBase,.semanticStencil .stencilFold{fill:none;stroke:#385149;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.semanticStencil .stencilBoundary{fill:#f9fbfa;stroke:var(--stencil-accent, #0f6b55);stroke-width:1.8;stroke-dasharray:5 4}.semanticStencil .stencilLayerText{fill:#30483f;font-size:8px;font-weight:800;text-anchor:middle}.semanticStencil .stencilVendorMark{fill:var(--stencil-accent, #0f6b55);font-size:6.5px;font-weight:900;text-anchor:middle}.semanticStencil *{vector-effect:non-scaling-stroke}.referenceArchitecturePage{min-height:100vh;background:#f3f6f5;color:#162a3f;padding:18px}.referenceArchitectureHeader,.referenceArchitectureViewport,.referenceArchitectureFooter{max-width:1360px;margin-right:auto;margin-left:auto}.referenceArchitectureHeader{display:grid;grid-template-columns:240px 1fr 310px;align-items:center;min-height:80px;border:1px solid #dbe3e8;border-bottom:0;background:#fff;padding:0 20px}.referenceBrand,.referencePromise{display:grid;gap:2px}.referenceBrand{border-right:1px solid #cdd8df}.referenceBrand strong{font-size:30px;letter-spacing:0}.referenceBrand strong span{color:#0878e5}.referenceBrand small,.referenceArchitectureHeader p,.referencePromise span{color:#60748a;font-size:11px}.referenceTitle{padding:0 18px}.referenceTitle h1,.referenceTitle p{margin:0}.referenceTitle h1{font-size:26px;letter-spacing:0}.referenceTitle p{margin-top:3px;font-size:15px}.referencePromise{justify-items:end;border-left:1px solid #cdd8df;color:#2d4259}.referencePromise strong{font-size:12px}.referenceArchitectureViewport{overflow:auto;border-right:1px solid #dbe3e8;border-left:1px solid #dbe3e8;background:#fff}.referenceArchitectureCanvas{position:relative;width:1360px;height:760px;background:#fff}.referenceZone{position:absolute;top:8px;bottom:8px;overflow:hidden;border:1px solid #d7e0e6;border-radius:8px;background:#f8fafc}.referenceZone:after{position:absolute;top:58px;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(70,91,108,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(70,91,108,.045) 1px,transparent 1px);background-size:24px 24px;content:""}.referenceZone>header{position:relative;z-index:1;display:flex;align-items:center;gap:9px;min-height:58px;border-bottom:1px solid rgba(70,91,108,.11);padding:0 12px}.referenceZone>header svg{box-sizing:content-box;border-radius:50%;padding:8px;color:#fff}.referenceZone>header div{display:grid;min-width:0}.referenceZone>header strong{font-size:12px;text-transform:uppercase}.referenceZone>header span{overflow:hidden;color:#627386;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.referenceZone.zone-access{background:#f4f9ff;border-color:#c9dff6}.referenceZone.zone-access>header svg{background:#2c72bf}.referenceZone.zone-perimeter{background:#fff6f5;border-color:#efd5d2}.referenceZone.zone-perimeter>header svg{background:#cc4545}.referenceZone.zone-application{background:#f3faf7;border-color:#d2e7dd}.referenceZone.zone-application>header svg{background:#4c9b7d}.referenceZone.zone-data{background:#f6f6ff;border-color:#d9daf2}.referenceZone.zone-data>header svg{background:#6962bb}.referenceZone.zone-management{background:#fff9f1;border-color:#efdfc9}.referenceZone.zone-management>header svg{background:#d77c32}.referenceConnections{position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;width:1360px;height:760px;overflow:visible;pointer-events:none}.referenceConnection>path{fill:none;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.traffic-production>path{stroke:#0878e5}.traffic-management>path{stroke:#e46e25;stroke-dasharray:7 5}.traffic-replication>path{stroke:#8d45d8;stroke-dasharray:4 4}.traffic-backup>path{stroke:#733cc2;stroke-dasharray:10 4 2 4}.traffic-authentication>path{stroke:#2377ad;stroke-dasharray:3 3}#arrow-production path{fill:#0878e5}#arrow-management path{fill:#e46e25}#arrow-replication path{fill:#8d45d8}#arrow-backup path{fill:#733cc2}#arrow-authentication path{fill:#2377ad}.referenceConnectionLabel rect{fill:#fffffff5;stroke:#cfd9df;stroke-width:.8}.referenceConnectionLabel text{fill:#34495c;font-size:10px;font-weight:700;text-anchor:middle;dominant-baseline:middle}.referenceNode{--stencil-accent: #0878e5;position:absolute;z-index:2;width:180px;min-height:120px;-webkit-user-select:none;user-select:none}.referenceNode-endpoint{width:160px}.referenceNode-firewall{--stencil-accent: #df493f}.referenceNode-load-balancer{--stencil-accent: #0878e5}.referenceNode-hypervisor-host{--stencil-accent: #2783a7}.referenceNode-database,.referenceNode-san-storage{--stencil-accent: #7162c8}.referenceNode-identity{--stencil-accent: #2874bb}.referenceNode-access-switch{--stencil-accent: #167fae}.referenceNode-siem{--stencil-accent: #5d8f36}.referenceNode-backup-server{--stencil-accent: #00a94f}.referenceNode .architectureNodeVisual{display:grid;justify-items:center;gap:2px}.referenceNode .architectureNodeGraphic{display:flex;align-items:center;justify-content:center;width:170px;height:80px}.referenceNode-endpoint .architectureNodeGraphic{width:150px}.referenceNode .architectureNodeGraphic svg{width:100%;height:86px;filter:drop-shadow(0 3px 2px rgba(22,42,63,.08))}.referenceNode .architectureNodeGraphic .officialVendorAsset{width:100%;height:100%;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none}.referenceNode .architectureNodeLabels{display:grid;justify-items:center;width:100%;line-height:1.2;text-align:center}.referenceNode .architectureNodeLabels strong{color:#182b3e;font-size:11px}.referenceNode .architectureNodeLabels span{color:#4f6478;font-size:9px}.referenceArchitectureFooter{display:grid;grid-template-columns:.95fr 1.35fr;gap:12px;border:1px solid #dbe3e8;border-top:0;background:#fff;padding:12px}.referenceLegend,.referenceOutcomes{display:flex;align-items:center;gap:18px;min-height:58px;border:1px solid #dbe3e8;border-radius:7px;padding:0 14px}.referenceLegend strong{margin-right:4px;font-size:11px}.referenceLegend span{display:flex;align-items:center;gap:6px;color:#4f6274;font-size:9px}.legendLine{display:inline-block;width:30px;border-top:2px solid}.legendLine.production{border-color:#0878e5}.legendLine.management{border-color:#e46e25;border-top-style:dashed}.legendLine.replication{border-color:#8d45d8;border-top-style:dotted}.legendLine.backup{border-color:#733cc2;border-top-style:dashed}.referenceOutcomes{justify-content:space-around}.referenceOutcomes>span{display:grid;grid-template-columns:26px 1fr;color:#2369ac}.referenceOutcomes svg{grid-row:1 / 3}.referenceOutcomes b{color:#21384d;font-size:10px}.referenceOutcomes small{color:#667a8d;font-size:8px}@media(max-width:760px){.referenceArchitecturePage{padding:8px}.referenceArchitectureHeader{grid-template-columns:1fr;gap:8px;padding:14px}.referenceBrand,.referencePromise{border:0;justify-items:start}.referenceTitle{padding:0}.referenceArchitectureFooter{grid-template-columns:1fr}.referenceLegend,.referenceOutcomes{overflow-x:auto;justify-content:flex-start}}@media(max-width:1100px){.semanticGalleryGrid{grid-template-columns:repeat(3,minmax(0,1fr))}}.vendorGalleryTitle h2{margin:0;font-size:18px;letter-spacing:0}.vendorGalleryTitle span,.vendorGalleryTitle small,.assetMeta span{font-size:11px;font-weight:700}.vendorGalleryTitle small{color:#315348;text-transform:uppercase}.modeStrip{display:grid;grid-template-columns:.82fr 1.12fr .82fr;gap:10px;margin:14px 0}.modePreview{min-height:188px;border:1px solid #dde7e2;border-radius:8px;background:#fbfdfc;padding:10px}.modePreview.mode-infrastructure{background:linear-gradient(180deg,#fff,#f5faf8);border-color:#bfd5cd}.modeLabel{margin-bottom:8px;font-size:10px;font-weight:900;text-transform:uppercase}.stencilStage{display:flex;align-items:center;justify-content:center;min-height:96px}.stencilStage svg{width:100%;max-width:190px;height:104px}.mode-logical .stencilStage svg,.mode-physical .stencilStage svg{max-width:150px;opacity:.88}.stencilStroke,.stencilBody{fill:#fff;stroke:#183c32;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.stencilFillSoft,.stencilFace,.stencilLayer,.stencilVm{fill:#eef5f2}.stencilShadow{fill:#2143371f;stroke:none}.stencilBody rect,.stencilBody path,.stencilBody circle,.stencilStroke path,.stencilStroke rect,.stencilStroke circle,.stencilStroke ellipse{vector-effect:non-scaling-stroke}.stencilBody circle,.stencilBody rect:not(:first-child){fill:#dfeae5}.stencilFace{fill:#f4f8f6}.stencilMark{fill:none;stroke:#0f6b55}.layeredStencil text{fill:#183c32;font-size:13px;font-weight:800;text-anchor:middle}.placeholderStencil{stroke-dasharray:6 6;opacity:.72}.stencilCaption{display:grid;gap:2px;min-height:36px;text-align:center}.stencilCaption strong{color:#17231e;font-size:13px;text-transform:capitalize}.stencilCaption span{font-size:11px}.assetMeta{border-top:1px solid #edf2f0;padding-top:10px}@media(max-width:760px){.vendorGalleryPage{padding:16px}.vendorGalleryHero,.vendorGalleryTitle,.assetMeta{align-items:flex-start;flex-direction:column}.vendorGalleryGrid,.modeStrip{grid-template-columns:1fr}.semanticGalleryGrid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.variantPreview{height:155px;padding:6px}.variantPreview svg{height:90px}}.edgeLayer .edgeHitPath{stroke:transparent!important;stroke-width:3.2!important;animation:none!important;pointer-events:stroke}.edgeLayer .edgeVisiblePath{stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.selectedEdge .edgeVisiblePath{stroke:#6d3de8;stroke-width:.58!important}.selectedEdge .edgeHitPath{stroke:transparent!important}@media(max-width:1280px){.shell.workspaceShell,.shell.workspaceShell.rightCollapsed{grid-template-columns:64px minmax(0,1fr)}.shell.workspaceShell .sidebar{width:64px;min-width:64px;overflow:hidden;padding-inline:8px}.workspaceShell .stencilPanel,.workspaceShell .stencilItems,.workspaceShell .componentShelf,.workspaceShell .stencilSearch,.workspaceShell .panelHeader h2,.workspaceShell .brand span{display:none}.workspaceShell .architectPanel{position:fixed;top:72px;right:12px;bottom:92px;z-index:60;width:min(360px,calc(100vw - 96px));border:1px solid #cbd8d2;border-radius:10px;box-shadow:0 20px 50px #192d2633}.workspaceTopbar{grid-template-columns:minmax(180px,1fr) auto}}@media(max-width:920px){.shell.workspaceShell,.shell.workspaceShell.rightCollapsed,.shell.workspaceShell.leftCollapsed,.shell.workspaceShell.stencilsMinimized{grid-template-columns:1fr}.workspaceShell .sidebar{position:fixed;left:10px;top:72px;bottom:96px;z-index:65;width:72px;min-width:72px;border:1px solid #cbd8d2;border-radius:10px;box-shadow:0 18px 42px #192d2629}.workspaceShell .workspace{padding:8px 8px 108px}.workspaceTopbar{grid-template-columns:1fr;align-items:stretch}.workflowSwitch,.compactViewToggle,.topActionsCompact{overflow-x:auto;padding-bottom:2px}.topActionsCompact button,.workflowSwitch button,.compactViewToggle button{flex:0 0 auto}.aiCommandDock{left:8px;right:8px;bottom:8px;grid-template-columns:minmax(0,1fr) auto}.aiCommandTitle,.aiCommandDock select{display:none}}@media(max-width:560px){.workspaceShell .workspace{padding:6px 6px 96px}.projectHeaderCompact{grid-template-columns:auto minmax(0,1fr)}.projectHeaderCompact span{display:none}.workspaceTopbar{min-height:0;padding:6px}.topActionsCompact .healthPill,.topActionsCompact button:nth-last-child(n+5){display:none}.workspaceShell .canvasPanel{min-height:calc(100vh - 154px)}.workspaceShell .canvas{min-width:960px;min-height:680px}.canvasToolbar{left:8px;top:8px}.aiCommandDock{grid-template-columns:minmax(0,1fr) auto;padding:6px}.aiCommandDock input{min-height:38px}.aiCommandDock .primary{min-width:44px;padding-inline:10px}}.edgeLayer path,.edgeLayer marker path{vector-effect:non-scaling-stroke}.edgeLayer .edgeHitPath{stroke:transparent!important;stroke-width:7px!important;vector-effect:non-scaling-stroke}.motionEnabled .edgeHitPath{stroke-width:7px!important}.edgeLayer .edgeVisiblePath{stroke-width:1.6px!important;vector-effect:non-scaling-stroke}.selectedEdge .edgeVisiblePath{stroke-width:2px!important}@media(max-width:1280px){.workspaceShell .architectPanel{top:128px;bottom:92px;max-height:calc(100vh - 232px)}}@media(max-width:1100px){.workspaceShell .architectPanel{left:84px;right:12px;top:auto;bottom:76px;width:auto;max-height:min(440px,calc(100vh - 160px));border-radius:12px 12px 8px 8px}.workspaceShell .workspace{padding-bottom:148px}.aiCommandDock{left:84px;right:12px}}@media(max-width:920px){.workspaceShell .architectPanel{left:92px;right:8px;bottom:74px;max-height:min(58vh,420px);z-index:70}.workspaceShell .sidebar{z-index:55}.aiCommandDock{left:92px;right:8px}}@media(max-width:560px){.workspaceShell .architectPanel{left:8px;right:8px;top:82px;bottom:84px;width:auto;max-height:none}.workspaceShell .sidebar{left:6px;top:auto;bottom:84px;width:48px;min-width:48px;max-height:48vh;padding-inline:6px}.aiCommandDock{left:8px;right:8px}}@media(max-width:920px)and (min-width:561px){.workspaceShell .sidebar{top:146px;bottom:92px;width:54px;min-width:54px}.workspaceShell .workspace{padding-left:70px}}@media(max-width:560px){.shell.workspaceShell,.shell.workspaceShell.leftCollapsed,.shell.workspaceShell.rightCollapsed,.shell.workspaceShell.stencilsMinimized,.shell.workspaceShell.leftCollapsed.rightCollapsed,.shell.workspaceShell.leftCollapsed.stencilsMinimized,.shell.workspaceShell.stencilsMinimized.rightCollapsed,.shell.workspaceShell.leftCollapsed.stencilsMinimized.rightCollapsed{grid-template-columns:minmax(0,1fr)!important}.workspaceShell .workspace{grid-column:1 / -1;min-width:0;width:100%;overflow:hidden;padding-left:6px}}@media(max-width:920px){.shell.workspaceShell,.shell.workspaceShell.leftCollapsed,.shell.workspaceShell.rightCollapsed,.shell.workspaceShell.stencilsMinimized,.shell.workspaceShell.leftCollapsed.rightCollapsed,.shell.workspaceShell.leftCollapsed.stencilsMinimized,.shell.workspaceShell.stencilsMinimized.rightCollapsed,.shell.workspaceShell.leftCollapsed.stencilsMinimized.rightCollapsed{grid-template-columns:minmax(0,1fr)!important}.workspaceShell .workspace{grid-column:1 / -1;width:100%;min-width:0}}.canvasScroller{overflow:auto;overscroll-behavior:contain}.workspaceShell .canvasScroller{min-width:0;min-height:0;height:100%}.workspaceShell .canvas{flex:0 0 auto;width:1600px;height:900px;min-width:1600px;min-height:900px;max-width:none;max-height:none}@media(max-width:920px){.workspaceShell .canvasPanel{overflow:hidden}.workspaceShell .canvasScroller{min-width:0;width:100%}}@media(max-width:560px){.workspaceShell .canvas{width:1600px;height:900px;min-width:1600px;min-height:900px}}
