.react-flow{direction:ltr}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1px;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:-webkit-grab;cursor:grab;position:absolute}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:-webkit-grab;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background:#1a192b;border:1px solid #fff;border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:-4px;left:50%;transform:translate(-50%)}.react-flow__handle-top{top:-4px;left:50%;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{top:50%;right:-4px;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{background:#ffffff80;margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{color:#222;text-align:center;background-color:#fff;border:1px solid #1a192b;border-radius:3px;width:150px;padding:10px;font-size:12px}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted #0059dccc}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{box-sizing:content-box;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fefefe;border:none;border-bottom:1px solid #eee;justify-content:center;align-items:center;width:16px;height:16px;padding:5px;display:flex}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:#3367d9;border:1px solid #fff;border-radius:1px;width:4px;height:4px;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border:0 solid #3367d9}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-sans:"JetBrains Mono", "SFMono-Regular", "SF Mono", ui-monospace, Menlo, Consolas, "Liberation Mono", monospace;--font-mono:"JetBrains Mono", "SFMono-Regular", "SF Mono", ui-monospace, Menlo, Consolas, "Liberation Mono", monospace;font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg:#f8fafc;--bg-accent:#f1f5f9;--surface:#fff;--surface-muted:#f8fafc;--surface-strong:#fff;--border:#e2e8f0;--border-strong:#cbd5e1;--text:#0f172a;--text-muted:#475569;--text-soft:#64748b;--primary:#3b82f6;--primary-hover:#2563eb;--primary-strong:#1d4ed8;--primary-surface:#eff6ff;--primary-border:#bfdbfe;--sidebar-bg:#0f172a;--sidebar-bg-deep:#020617;--sidebar-border:#ffffff14;--sidebar-text:#f8fafc;--sidebar-muted:#94a3b8;--sidebar-surface:#ffffff0d;--sidebar-surface-hover:#ffffff14;--success-bg:#f0fdf4;--success-border:#bbf7d0;--success-text:#15803d;--warning-bg:#fffbeb;--warning-border:#fef3c7;--warning-text:#b45309;--error-bg:#fef2f2;--error-border:#fee2e2;--error-text:#b91c1c;--border-soft:#edf2f7;--shadow-sm:0 8px 20px #0f172a0f;--shadow:0 16px 36px #0f172a14;--shadow-lg:0 24px 56px #0f172a1f;--radius-control:12px;--radius-panel:14px;--radius-card:16px;--radius-pill:999px;background-color:var(--bg);color:var(--text);font-size:16px;line-height:1.5}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:radial-gradient(circle at top right, #0f766e1f, transparent 34%), radial-gradient(circle at left 10% top 20%, #0c948814, transparent 26%), linear-gradient(180deg, var(--bg-accent) 0%, var(--bg) 18%, var(--bg) 100%);color:var(--text);margin:0;font-size:1rem;overflow-x:hidden}body,button,input,select,textarea{font:inherit}button,input,select,textarea{min-width:0}a{color:inherit;text-decoration:none}.app-shell{grid-template-columns:minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:radial-gradient(circle at top right, #5eead41f, transparent 30%), linear-gradient(180deg, var(--sidebar-bg) 0%, var(--sidebar-bg-deep) 100%);color:var(--sidebar-text);border-bottom:1px solid var(--sidebar-border);flex-direction:column;gap:16px;padding:16px 14px 18px;display:flex}.sidebar .logo{border-bottom:1px solid #ffffff14;align-items:center;gap:12px;padding:10px 10px 14px;display:flex}.logo-mark{color:#fff;letter-spacing:.08em;background:linear-gradient(135deg,#4f46e5 0%,#3730a3 100%);border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;font-size:.82rem;font-weight:800;display:inline-flex;box-shadow:inset 0 1px #fff3,0 4px 12px #4f46e533}.logo-copy{flex-direction:column;gap:2px;display:flex}.logo-copy strong{letter-spacing:0;font-size:.98rem;font-weight:700}.logo-copy span{color:var(--sidebar-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.76rem}.sidebar nav{scrollbar-width:thin;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-bottom:4px;display:grid;overflow-x:hidden}.sidebar nav a{background:var(--sidebar-surface);min-width:0;color:var(--sidebar-muted);letter-spacing:0;white-space:normal;border:1px solid #0000;border-radius:12px;align-items:center;gap:7px;padding:10px 12px;font-size:.95rem;font-weight:600;line-height:1.3;transition:background-color .18s,color .18s,border-color .18s,box-shadow .18s;display:flex}.nav-icon{color:currentColor;flex:none;justify-content:center;align-items:center;width:1rem;height:1rem;display:inline-flex}.nav-icon-svg{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;width:1rem;height:1rem}.sidebar nav a.active,.sidebar nav a[aria-current=page]{color:var(--sidebar-text);background:#14b8a62e;border-color:#99f6e438;box-shadow:inset 0 1px #ffffff0a}.sidebar nav a:hover{background:var(--sidebar-surface-hover);color:var(--sidebar-text)}.aws-iot-tile-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px;display:grid}.aws-iot-tile{align-content:start;gap:12px;min-height:220px;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid}.aws-iot-tile:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.aws-iot-tile h2,.aws-iot-tile p{margin:0}.aws-iot-tile p{color:var(--text-soft);line-height:1.6}.aws-iot-tile .secondary-link{place-self:end start;margin-top:auto}.iot-workspace code{overflow-wrap:anywhere}.iot-selector-grid,.iot-form-grid,.iot-metric-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:14px;display:grid}.iot-selector-grid{align-items:end}.iot-selector-grid .record-field{align-content:center;min-height:68px}.iot-section-heading{margin:22px 0 12px}.iot-section-heading h2,.modbus-metric-card h3,.sitewise-resource-card h3{margin:0}.iot-form-actions{margin-top:16px}.modbus-metric-card{background:var(--surface-muted)}.inspection-point{border:1px solid var(--border);background:var(--surface);border-radius:12px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;padding:12px;display:grid}.inspection-point input{width:auto;margin-top:3px}.inspection-point span,.inspection-point small{gap:4px;display:grid}.inspection-point small{color:var(--text-soft);overflow-wrap:anywhere;line-height:1.45}.sitewise-resource-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:12px;display:grid}.sitewise-resource-grid h3,.sitewise-resource-grid p{margin:0}.sitewise-hierarchy{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:10px;display:grid}.sitewise-hierarchy-arrow{color:var(--primary);align-self:center;font-size:1.25rem;font-weight:800}.sitewise-resource-card{min-width:0}.phase-boundary-note,.empty-workspace-state{line-height:1.6}.phase-boundary-note{border:1px solid var(--border);background:var(--surface-muted);color:var(--text-soft);border-radius:12px;margin-top:14px;padding:12px}main{min-width:0;padding:16px}.page{flex-direction:column;gap:18px;min-width:0;display:flex}.page-header{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.page-header h1{letter-spacing:-.03em;margin:0 0 6px;font-size:clamp(1.5rem,5vw,2rem);font-weight:750;line-height:1.05}.page-header p{max-width:68ch;color:var(--text-soft);margin:0;font-size:1.01rem;line-height:1.6}.page-actions{flex-wrap:wrap;gap:10px;width:100%;display:flex}.page-actions>*{width:100%}.card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:18px;padding:18px;font-size:.97rem}.card h1,.card h2,.card h3{letter-spacing:-.02em}.card h2{margin-top:0;margin-bottom:14px;font-size:1.12rem}.collapsible-section{border:1px solid var(--border);background:var(--surface-strong);border-radius:14px;padding:0 14px}.collapsible-section+.collapsible-section{margin-top:12px}.collapsible-section summary{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:14px 0;list-style:none;display:flex}.collapsible-section summary::-webkit-details-marker{display:none}.collapsible-section summary h2{margin:0}.collapsible-indicator{color:var(--text-soft);font-size:.82rem;font-weight:700}.collapsible-section[open] .collapsible-indicator{color:var(--primary)}.collapsible-content{border-top:1px solid var(--border);padding:14px 0}.inline-card{border:1px solid var(--border);background:var(--surface-strong);border-radius:16px;margin-top:16px;padding:16px}.grid{gap:12px;display:grid}.grid.two{grid-template-columns:1fr}.advanced-settings-grid,.advanced-settings-card{gap:16px;display:grid}.advanced-settings-card-header{gap:8px;display:grid}.advanced-settings-card-header h2{margin-bottom:0}.advanced-settings-card-header p{color:var(--text-soft);margin:0;line-height:1.6}.advanced-settings-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--primary);font-size:.74rem;font-weight:800}.advanced-settings-links{gap:12px;display:grid}.advanced-settings-link-card{border:1px solid var(--border);background:var(--surface-strong);border-radius:16px;gap:12px;padding:16px;display:grid}.advanced-settings-link-card h3{margin:0 0 8px;font-size:1rem}.advanced-settings-link-card p{color:var(--text-soft);margin:0;line-height:1.55}.alert,.banner,.notice{border:1px solid #0000;border-radius:14px;padding:12px 14px;font-size:.96rem;font-weight:600}.alert.error,.banner.error{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.banner{background:var(--primary-surface);border-color:var(--primary-border);color:var(--primary-strong)}.banner.warn{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}.banner.info{color:#205a92;background:#eef8ff;border-color:#bcd7f3}.studio-touch-notice{display:none}.notice{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}.muted,.subtle,.helper-text{color:var(--text-soft)}.muted,.subtle{font-size:.96rem}.helper-text{margin-top:6px;font-size:.88rem;line-height:1.5}.form-grid{gap:14px;display:grid}.form-actions{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:10px;display:flex}.form-grid .full-width,.form-span-2{grid-column:1/-1}.topic-display-option{border:1px solid var(--border);background:var(--surface-muted);border-radius:12px;gap:10px;padding:12px;display:grid}.topic-display-fields{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:start;gap:12px;padding-left:28px;display:grid}.current-mapping-display-fields{padding-left:0}.topic-parameter-metadata{border:1px solid var(--border);background:var(--surface);border-radius:10px;grid-column:1/-1;gap:10px;padding:12px;display:grid}.topic-parameter-header,.topic-parameter-row{grid-template-columns:minmax(180px,1.2fr) repeat(2,minmax(180px,1fr));align-items:end;gap:12px;display:grid}.topic-parameter-header{color:var(--text-soft);align-items:center;font-size:.86rem;font-weight:700}.topic-parameter-row>div:first-child{gap:4px;min-width:0;display:grid}.topic-parameter-row code{overflow-wrap:anywhere}.current-mapping-table{table-layout:fixed;border-collapse:collapse;width:100%;min-width:980px}.current-mapping-table th,.current-mapping-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:12px 14px}.current-mapping-table th{color:var(--text-soft);font-size:.84rem;font-weight:700}.current-mapping-table th:first-child,.current-mapping-table td:first-child{width:26%}.current-mapping-table th:nth-child(2),.current-mapping-table td:nth-child(2){width:15%}.current-mapping-table th:nth-child(3),.current-mapping-table td:nth-child(3),.current-mapping-table th:nth-child(4),.current-mapping-table td:nth-child(4){width:9%}.current-mapping-table th:nth-child(5),.current-mapping-table td:nth-child(5){width:15%}.current-mapping-table th:nth-child(6),.current-mapping-table td:nth-child(6){width:26%}.current-mapping-table code{overflow-wrap:anywhere}.current-mapping-table .table-actions{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:8px;display:grid}.current-mapping-table .table-actions button{white-space:normal;text-align:center;width:100%;min-height:38px;padding:8px 10px;line-height:1.2}.current-mapping-edit-row>td{background:var(--surface-muted);padding:0 14px 16px}.current-mapping-editor{border:1px solid var(--border);background:var(--surface);border-radius:10px;gap:12px;padding:14px;display:grid}.current-mapping-parameter-add{grid-template-columns:minmax(180px,1.2fr) minmax(180px,1fr) auto}.current-mapping-metadata-source{color:var(--text-soft);flex-wrap:wrap;align-items:center;gap:8px;font-size:.88rem;display:flex}.current-mapping-metadata-source span{border:1px solid var(--border);background:var(--surface-muted);border-radius:6px;padding:4px 8px}.current-mapping-parameter-row>div:first-child{align-content:start}.current-mapping-parameter-row>div:first-child button{width:fit-content}.card-header-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.card-header-row>*{min-width:0}.activation-license-panel{border:1px solid var(--border);background:var(--surface-muted);border-radius:16px;gap:14px;padding:16px;display:grid}.activation-license-value{border:1px solid var(--border);background:var(--surface-strong);color:var(--text);font-family:var(--font-mono);overflow-wrap:anywhere;border-radius:14px;margin:0;padding:14px 16px;font-size:.96rem;line-height:1.6;display:block}.activation-license-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.activation-license-filter{width:min(100%,13rem)}.activation-license-row-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.agent-heartbeat-cell{flex-direction:column;gap:4px;display:flex}.agent-heartbeat-cell small{color:var(--text-soft);font-size:.79rem;line-height:1.35}label{color:var(--text-muted);flex-direction:column;gap:7px;font-size:.95rem;font-weight:600;display:flex}input,select,textarea{border:1px solid var(--border);width:100%;color:var(--text);background:#fff;border-radius:12px;padding:11px 13px;font-size:.98rem;transition:border-color .16s,box-shadow .16s,background-color .16s}textarea{resize:vertical;min-height:112px}input::placeholder,textarea::placeholder{color:#7b9494}input:hover,select:hover,textarea:hover{border-color:var(--border-strong)}input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.65;background:var(--surface-muted)!important;color:var(--text-soft)!important;border-color:var(--border)!important}label.disabled{opacity:.65;color:var(--text-soft)!important}input:focus,select:focus,textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 4px #3b82f62e}button{cursor:pointer;letter-spacing:0;white-space:nowrap;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;padding:10px 16px;font-size:.95rem;font-weight:700;transition:background-color .16s,border-color .16s,color .16s,box-shadow .16s,transform .16s;display:inline-flex}button:hover:not(:disabled),a.primary:hover{transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.7}button.primary,a.primary{background:var(--primary);border-color:var(--primary);color:#f6fffd}a.primary{text-align:center;justify-content:center;align-items:center;display:inline-flex}button.primary:hover:not(:disabled),a.primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}button.secondary{border-color:var(--border);color:var(--text-muted);background:#fff}button.secondary:hover:not(:disabled){background:var(--surface-muted);border-color:var(--border-strong)}a.secondary,a.secondary-link{text-align:center;border:1px solid var(--border);color:var(--text-muted);letter-spacing:0;background:#fff;border-radius:12px;justify-content:center;align-items:center;padding:10px 16px;font-size:.95rem;font-weight:700;transition:background-color .16s,border-color .16s,color .16s,box-shadow .16s,transform .16s;display:inline-flex}a.secondary:hover,a.secondary-link:hover{background:var(--surface-muted);border-color:var(--border-strong);transform:translateY(-1px)}button.ghost-button{border-color:var(--border);color:var(--text-muted);background:#ffffffb8}button.ghost-button:hover:not(:disabled){background:var(--surface-muted);border-color:var(--border-strong)}.sidebar .ghost-button{color:#d4fbf5;background:#ffffff0a;border-color:#a7f3d029;width:100%}.sidebar .ghost-button:hover:not(:disabled){background:#ffffff14;border-color:#a7f3d042}button.secondary.danger{color:#b2463d;background:#fff5f4;border-color:#f4c7c2}button.secondary.danger:hover:not(:disabled){background:#feeeec;border-color:#e6a7a1}.table{border:1px solid var(--border);background:var(--surface-strong);border-radius:14px;flex-direction:column;gap:0;min-width:0;display:flex;overflow-x:auto}.table-actions{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.table-row{border-bottom:1px solid var(--border);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:0;min-width:100%;display:grid}.table-row:last-child{border-bottom:0}.table-row>*{overflow-wrap:anywhere;border-right:1px solid var(--border);background:0 0;min-width:0;padding:12px 14px}.truncated{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (width<=700px){.table-row>*{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.table-row>.wrap{text-overflow:clip;white-space:normal;overflow:visible}}.table-row>:last-child{border-right:0}.table-row:not(.table-header):not(.header):nth-child(odd){background:#f7fcfb}.table-row.table-header,.table-row.header{color:var(--text-soft);background:#d4d9e1;font-weight:700}.table-row.table-header>*,.table-row.header>*{padding-block:13px}.table-row.dynamic-columns{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column}.table-row.three-col{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row;min-width:100%}.table-row.five-col{grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-flow:row;min-width:100%}.table-row.six-col{grid-template-columns:minmax(7rem,.8fr) minmax(6rem,.7fr) minmax(10rem,1fr) minmax(10rem,1fr) minmax(12rem,1.2fr) minmax(7rem,.8fr);grid-auto-flow:row;min-width:100%}.table-row.seven-col{grid-template-columns:minmax(9rem,.9fr) minmax(13rem,1.3fr) minmax(10rem,1fr) minmax(12rem,1.2fr) minmax(7rem,.7fr) minmax(9rem,.9fr) minmax(18rem,1.8fr);grid-auto-flow:row;min-width:100%}.table-row-detail{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;grid-column:1/-1;gap:6px;padding:10px 12px;display:grid}.table-row-detail button{justify-self:start}.agent-licenses-table{min-width:100%;display:inline-flex}.table-row.eight-col{grid-template-columns:minmax(8rem,.95fr) minmax(9rem,1fr) minmax(12rem,1.2fr) minmax(9rem,.95fr) minmax(8rem,.8fr) minmax(7rem,.75fr) minmax(9rem,.95fr) minmax(17rem,1.45fr);grid-auto-flow:row;min-width:100%}.table-row.eight-col .activation-license-row-actions{justify-content:flex-start}.table-row.active-license-row{grid-template-columns:minmax(9rem,1fr) minmax(12rem,1.15fr) minmax(10rem,.95fr) minmax(8rem,.85fr) minmax(11rem,1.15fr) minmax(10rem,1fr) minmax(11rem,1.05fr) minmax(13rem,1fr);grid-auto-flow:row;min-width:100%}.table-row.active-license-row .activation-license-row-actions{justify-content:flex-start}.lets-encrypt-actions-header{white-space:nowrap}.lets-encrypt-plan-row{grid-template-columns:minmax(8rem,.9fr) minmax(9rem,1fr) minmax(12rem,1.2fr) minmax(10rem,1fr) minmax(8rem,.85fr) minmax(9rem,.85fr) minmax(7rem,.65fr) minmax(9rem,.9fr) minmax(14rem,1.3fr);grid-auto-flow:row;min-width:max-content}.lets-encrypt-plan-row.header>*{white-space:nowrap;overflow-wrap:normal;word-break:normal}.lets-encrypt-status-cell{flex-direction:column;gap:4px;display:flex}.lets-encrypt-status-cell small{color:var(--text-soft);font-size:.79rem;line-height:1.35}.lets-encrypt-actions{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.lets-encrypt-actions>button{text-align:center;flex:9rem;min-width:0}.button-row,.action-buttons{flex-wrap:wrap;gap:8px;display:flex}.remote-vm-actions-card{gap:12px;display:grid}.remote-vm-action-buttons{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.remote-vm-action-buttons button{min-height:42px}.remote-vm-modal{gap:14px;width:min(46rem,100%);display:grid}.remote-vm-modal-wide{width:min(54rem,100%)}.remote-vm-modal-form{grid-template-columns:repeat(2,minmax(0,1fr))}.records-grid{gap:12px;display:grid}.record-card{border:1px solid var(--border);background:var(--surface-strong);border-radius:14px;gap:12px;padding:14px;display:grid}.record-title{margin:0;font-size:1rem;font-weight:700}.record-fields{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:10px;display:grid}.record-field{gap:4px;display:grid}.record-field-label{color:var(--text-soft);text-transform:uppercase;letter-spacing:.05em;font-size:.78rem;font-weight:700}.record-actions{flex-wrap:wrap;gap:8px;display:flex}.telegraf-instance-card{gap:14px}.telegraf-instance-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.telegraf-instance-header .muted{margin:4px 0 0}.telegraf-instance-grid{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:12px;display:grid}.telegraf-instance-job,.telegraf-instance-error{grid-column:1/-1}.telegraf-instance-error span:last-child{color:var(--error-text);overflow-wrap:anywhere}.telegraf-instance-actions{justify-content:flex-end}.telegraf-instance-actions button{min-width:96px}.broker-page-header{gap:18px}.broker-page-heading{gap:8px;display:grid}.broker-page-actions{align-items:stretch}.broker-create-card,.broker-list-card{gap:16px;display:grid}.broker-create-details{padding-inline:18px}.broker-create-details summary{flex-direction:column;padding-block:18px}.broker-create-summary{text-align:center;gap:8px;display:grid}.broker-create-details .collapsible-indicator{text-align:center;min-width:6.5rem}.broker-create-summary h2,.broker-section-heading h2{margin:0;font-size:1.55rem}.broker-create-summary p,.broker-section-heading p{color:var(--text-soft);margin:0}.broker-create-kicker,.broker-record-card-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--text-soft);font-size:.78rem;font-weight:700}.broker-create-form{align-items:start;max-width:46rem;margin:0 auto}.broker-create-meta{text-align:left;margin-top:-2px}.broker-create-actions{justify-content:center}.broker-create-actions>button{width:100%}.broker-section-heading{text-align:center;justify-items:center;gap:8px;display:grid}.broker-records-grid{gap:16px}.broker-record-card{background:linear-gradient(#e7f8f3e6,#fafffdfa);border-color:#0f766e33;border-radius:18px;gap:14px;padding:18px}.broker-record-card-compact{border-radius:14px;gap:8px;padding:12px 14px}.broker-record-card-title-group{gap:2px;display:grid}.broker-endpoint-url{color:var(--text);font-family:var(--font-mono);overflow-wrap:anywhere;background:#0f766e0f;border:1px solid #0f766e1f;border-radius:8px;padding:6px 10px;font-size:.82rem;line-height:1.5;display:block}.broker-record-card-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.broker-record-card-eyebrow{margin:0 0 6px}.broker-record-title{font-size:1.12rem}.broker-record-panel{background:#fffffff5;border:1px solid #cfe0dee6;border-radius:16px;padding:16px}.broker-record-list{gap:14px;margin:0;display:grid}.broker-record-list div{gap:4px;display:grid}.broker-record-list dt{color:var(--text-soft);letter-spacing:.05em;text-transform:uppercase;font-size:.78rem;font-weight:700}.broker-record-list dd{color:var(--text);gap:4px;margin:0;font-weight:600;display:grid}.broker-record-list dd small{color:var(--text-soft);font-size:.82rem;font-weight:500}.broker-record-actions{justify-content:flex-start}.broker-record-actions>button{flex:9rem}.action-buttons button{padding-inline:12px}.log-section{margin-top:16px}.log-output{color:#def7f4;white-space:pre-wrap;word-break:break-word;background:#10292b;border:1px solid #5eead41f;border-radius:14px;margin:8px 0 0;padding:12px;font-size:.85rem;line-height:1.45}.diagnostic-meta{margin:12px 0}.mqtt-diagnostics-table{padding-bottom:4px;overflow-x:auto}.mqtt-diagnostics-table .table-row.dynamic-columns{min-width:100%}.mqtt-diagnostics-cell{word-break:break-word}.diagnostic-token-list code{white-space:nowrap}.mqtt-diagnostics-preview-grid{gap:16px;margin-top:16px;display:grid}.mqtt-diagnostics-preview{border:1px solid var(--border);color:var(--text);white-space:pre-wrap;word-break:break-word;background:#f8fcfb;border-radius:14px;margin:10px 0 0;padding:12px;font-size:.84rem;line-height:1.45}.terminal{color:#def7f4;font-family:var(--font-mono);background:#0a2325;border:1px solid #5eead424;border-radius:14px;margin-top:16px;font-size:.86rem;overflow:hidden}.terminal-header{background:#11373a;border-bottom:1px solid #5eead41f;padding:8px 12px;font-weight:700}.terminal-body{white-space:pre-wrap;flex-direction:column;gap:8px;max-height:240px;padding:12px;display:flex;overflow-y:auto}.terminal-line{flex-direction:column;gap:2px;display:flex}.terminal-line.success{color:#8ce5ca}.terminal-line.error{color:#ffc9c3}.terminal-line.placeholder{color:#8ca9a8;font-style:italic}.terminal-timestamp{color:#8ca9a8;min-width:0;font-size:.77rem}.status{font-weight:700}.status.ok{color:var(--success-text)}.status.warn{color:var(--warning-text)}.status.error{color:var(--error-text)}.page.login{justify-content:center;align-items:center;min-height:100vh;padding:24px 16px;display:flex}.page.login .card{width:100%;max-width:460px;padding:22px}.auth-shell{grid-template-columns:minmax(320px,1.05fr) minmax(320px,.95fr);align-items:center;gap:24px;min-height:100vh;padding:24px;display:grid}.auth-shell-compact{grid-template-columns:minmax(320px,520px);justify-content:center}.auth-panel{border:1px solid var(--border);box-shadow:var(--shadow);border-radius:28px}.auth-panel-brand{color:#e2f7f4;background:radial-gradient(circle at 100% 0,#14b8a62e,#0000 28%),linear-gradient(160deg,#0f172a 0%,#10243d 58%,#124e52 100%);flex-direction:column;justify-content:center;min-height:420px;padding:40px;display:flex}.auth-panel-brand h1{letter-spacing:-.05em;margin:0 0 10px;font-size:clamp(2.3rem,5vw,4.2rem);line-height:.98}.auth-panel-brand p{color:#e2f7f4d1;max-width:48ch}.auth-feature-list{gap:10px;margin:26px 0 0;padding:0;list-style:none;display:grid}.auth-feature-list li{background:#ffffff0f;border:1px solid #ffffff14;border-radius:16px;padding:12px 14px}.auth-panel-form{background:linear-gradient(#fffffff0,#fffffffa);padding:32px}.auth-panel-form h2,.auth-panel-form h1{letter-spacing:-.03em;margin:0 0 8px}.auth-form{gap:16px;margin-top:20px;display:grid}.field{gap:8px;display:grid}.field span{color:var(--text-muted);font-weight:700}.field input{border:1px solid var(--border-strong);background:var(--surface);min-height:48px;color:var(--text);border-radius:14px;padding:0 14px}.field input:focus{outline-offset:1px;border-color:var(--primary);outline:2px solid #3b82f633}.login-eyebrow{border:1px solid var(--border);color:var(--primary-strong);letter-spacing:.06em;text-transform:uppercase;background:#eef8f7;border-radius:999px;margin-bottom:12px;padding:5px 9px;font-size:.75rem;font-weight:700;display:inline-flex}.login-button{width:100%}.auth-modal-backdrop{z-index:30;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a8f;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.auth-modal{border:1px solid var(--border);background:var(--surface);width:min(100%,480px);box-shadow:var(--shadow);border-radius:16px;padding:28px}.auth-modal-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.auth-modal-header h2{margin:0}.auth-modal-close{min-width:40px;min-height:40px;padding:0;font-size:1.4rem;line-height:1}.auth-modal-copy{color:var(--text-muted);margin:12px 0 0}@media (width<=960px){.auth-shell{grid-template-columns:minmax(0,1fr);padding:16px}.auth-panel-brand,.auth-panel-form{padding:24px}}.mqtt-explorer-grid{grid-template-columns:1fr}.form-hint{color:var(--text-muted);margin:-.35rem 0 0;font-size:.85rem}.checkbox-field{flex-direction:row;align-items:center;gap:12px}.checkbox-field input{width:auto;accent-color:var(--primary)}.status-chip{text-transform:uppercase;letter-spacing:.05em;border-radius:999px;align-items:center;width:fit-content;padding:4px 10px;font-size:.74rem;font-weight:700;display:inline-flex}.status-chip.connected{color:#0d7050;background:#daf5ee}.status-chip.connecting{color:#1f66b2;background:#e7f4ff}.status-chip.disconnected{color:#5f7071;background:#edf3f2}.status-chip.error{background:var(--error-bg);color:var(--error-text)}.mqtt-message-grid{grid-template-columns:1fr;gap:16px;margin-top:16px;display:grid}.mqtt-message-list{flex-direction:column;gap:8px;display:flex}.mqtt-message-item{border:1px solid var(--border);background:var(--surface-muted);text-align:left;border-radius:14px;flex-direction:column;gap:6px;padding:12px;display:flex}.mqtt-message-item.selected{border-color:var(--primary-border);background:var(--primary-surface)}.mqtt-message-topic{font-weight:700}.mqtt-message-meta{color:var(--text-soft);font-size:.8rem}.mqtt-message-preview{color:var(--text-muted);word-break:break-word;font-size:.85rem}.mqtt-message-details h3{margin-top:0}.checklist{color:var(--text-muted);padding-left:20px}code{font-family:var(--font-mono)}.uns-overview-card,.uns-panel,.uns-drawer-card{min-width:0}.uns-overview-header{flex-direction:column;gap:16px;display:flex}.uns-inline-selects{gap:14px;display:grid}.uns-kpi-grid{gap:12px;margin-top:18px;display:grid}.uns-kpi-card{border:1px solid var(--border);background:linear-gradient(#fffffff5,#f0faf8f5);border-radius:16px;gap:6px;padding:16px;display:grid}.uns-filter-grid{grid-template-columns:1fr}.uns-workspace{gap:18px;display:grid}.uns-panel{flex-direction:column;gap:16px;display:flex}.uns-panel-header{flex-direction:column;gap:10px;display:flex}.uns-tree,.uns-tree-children{margin:0;padding:0;list-style:none}.uns-tree{flex-direction:column;gap:10px;display:flex}.uns-tree-children{border-left:1px solid var(--border);flex-direction:column;gap:10px;margin-top:10px;margin-left:16px;padding-left:12px;display:flex}.uns-tree-node{border:1px solid var(--border);background:var(--surface-strong);text-align:left;border-radius:16px;flex-direction:column;align-items:stretch;gap:10px;width:100%;padding:14px;display:flex}.uns-tree-node.selected{border-color:var(--primary-border);background:var(--primary-surface)}.uns-tree-node-main,.uns-tree-node-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.uns-tree-node-topic{width:100%;color:var(--text-soft);word-break:break-word;font-size:.82rem}.uns-tree-node-meta{color:var(--text-soft);font-size:.82rem}.uns-canvas-panel{overflow:hidden}.uns-graph-columns{gap:12px;display:grid}.uns-graph-column{border:1px dashed var(--border);background:linear-gradient(#e6f7f480,#ffffffb3);border-radius:16px;flex-direction:column;gap:10px;padding:12px;display:flex}.uns-graph-column-header{letter-spacing:.06em;text-transform:uppercase;color:var(--text-soft);font-size:.78rem;font-weight:700}.uns-graph-node{border:1px solid var(--border);text-align:left;background:#fffffff5;border-radius:14px;gap:8px;padding:14px;display:grid}.uns-graph-node.selected{border-color:var(--primary-border);background:var(--primary-surface)}.uns-graph-node-footer{color:var(--text-soft);flex-direction:column;gap:8px;font-size:.83rem;display:flex}.uns-edge-strip{gap:10px;margin-top:16px;display:grid}.uns-edge-item{border:1px solid var(--border);background:var(--surface-strong);border-radius:14px;gap:4px;padding:14px;display:grid}.uns-inspector-section{border:1px solid var(--border);background:var(--surface-strong);border-radius:16px;gap:6px;padding:14px;display:grid}.uns-inspector-section code{color:#dbfcf5;white-space:pre-wrap;word-break:break-word;background:#0f2d30;border-radius:12px;padding:10px 12px;font-size:.84rem;line-height:1.45;display:block}.uns-chip-row{flex-wrap:wrap;gap:8px;display:flex}.uns-drawer{gap:18px;display:grid}.uns-topic-preview,.uns-validation-list{gap:12px;display:grid}.uns-topic-block{border:1px solid var(--border);background:var(--surface-strong);border-radius:14px;gap:8px;padding:14px;display:grid}.uns-topic-block code{color:#ddfdfa;word-break:break-word;background:#0e2c2e;border-radius:12px;padding:12px;display:block}@media (width>=700px){.sidebar{padding:18px 18px 20px}.sidebar nav{grid-template-columns:repeat(3,minmax(0,1fr))}main{padding:22px}.card,.page.login .card{border-radius:20px;padding:24px}.page-actions>*{width:auto}.table-actions{flex-direction:row;justify-content:space-between;align-items:center}.table-row{grid-auto-columns:minmax(11rem,1fr)}.lets-encrypt-actions{flex-wrap:wrap;justify-content:flex-start;align-items:center}.lets-encrypt-actions>button{text-align:center;white-space:nowrap;width:auto}.table-row.dynamic-columns{grid-template-columns:repeat(var(--diagnostics-columns,1), minmax(11rem, 1fr));gap:0}.mqtt-diagnostics-table .table-row.dynamic-columns{min-width:max-content}.terminal-line{flex-direction:row;gap:12px}.terminal-timestamp{min-width:180px}.uns-inline-selects,.uns-kpi-grid,.uns-filter-grid,.uns-drawer,.uns-graph-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.uns-panel-header,.uns-overview-header,.uns-tree-node{flex-direction:row;justify-content:space-between;align-items:flex-start}.uns-tree-node-main{flex:auto;min-width:0}.uns-tree-node-meta{flex:none;justify-content:flex-end}.uns-graph-node-footer{flex-direction:row;justify-content:space-between;align-items:center}}.inline-link{color:var(--primary-strong);text-underline-offset:.16em;text-decoration:underline}@media (width>=1080px){.app-shell{grid-template-columns:296px minmax(0,1fr)}.sidebar{border-bottom:0;border-right:1px solid var(--sidebar-border);gap:20px;min-height:100vh;padding:22px 18px}.sidebar nav{flex-direction:column;flex:auto;padding-bottom:0;display:flex;overflow:hidden auto}.sidebar nav a{width:100%}main{padding:30px 34px}.page{gap:22px}.page-header{flex-direction:row;justify-content:space-between;align-items:center;gap:16px}.page-actions{width:auto}.broker-create-details summary{flex-direction:row;align-items:center}.broker-create-form{grid-template-columns:repeat(2,minmax(0,1fr))}.broker-records-grid{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr))}.grid.two,.mqtt-explorer-grid,.mqtt-message-grid,.advanced-settings-links{grid-template-columns:repeat(2,minmax(0,1fr))}.uns-workspace{grid-template-columns:minmax(18rem,22rem) minmax(0,1.6fr) minmax(18rem,23rem);align-items:start}.uns-kpi-grid,.uns-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.uns-drawer{grid-template-columns:repeat(3,minmax(0,1fr))}.uns-graph-columns{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}}.topology-page{gap:16px}.topology-header{gap:14px}.topology-actions>*{width:auto}.topology-summary-grid{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:12px;display:grid}.topology-summary-card{background:radial-gradient(circle at top right, #14b8a61f, transparent 36%), var(--surface);gap:6px;min-height:8.5rem;display:grid}.topology-summary-card span{color:var(--text-soft);text-transform:uppercase;letter-spacing:.08em;font-size:.83rem;font-weight:700}.topology-summary-card strong{letter-spacing:-.04em;font-size:clamp(1.8rem,4vw,2.35rem);line-height:1}.topology-summary-card small{color:var(--text-soft);line-height:1.45}.topology-card{padding:16px;overflow:hidden}.topology-toolbar{flex-direction:column;gap:10px;margin-bottom:14px;display:flex}.studio-workspace-bar{border:1px solid var(--primary-border);background:radial-gradient(circle at top right, #14b8a61f, transparent 30%), var(--surface);box-shadow:var(--shadow);border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:16px 18px;display:flex}.studio-workspace-copy{gap:8px;min-width:0;display:grid}.studio-workspace-kicker{color:var(--text-soft);letter-spacing:.09em;text-transform:uppercase;font-size:.72rem;font-weight:800}.studio-workspace-title-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.studio-workspace-title-row strong{letter-spacing:-.02em;font-size:1.02rem}.studio-workspace-meta{color:var(--text-soft);flex-wrap:wrap;gap:8px 12px;font-size:.86rem;display:flex}.studio-workspace-meta span{align-items:center;gap:6px;display:inline-flex}.studio-workspace-pill{border:1px solid var(--border);color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;background:#ffffffd6;border-radius:999px;justify-content:center;align-items:center;padding:5px 10px;font-size:.76rem;font-weight:800;display:inline-flex}.studio-workspace-pill.editing{color:#0f6b50;background:#e7f8f3;border-color:#8fd8c9}.studio-workspace-pill.locked{color:#9a4d0d;background:#fff7e8;border-color:#f2c98b}.studio-workspace-pill.readonly{color:#205a92;background:#eef8ff;border-color:#bcd7f3}.studio-workspace-pill.dirty{color:#a43a32;background:#fef0f0;border-color:#f3b9b3}.studio-workspace-actions{flex-wrap:wrap;gap:10px;display:flex}.studio-workspace-actions button{min-height:2.75rem}.topology-toolbar-row{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px;display:flex}.topology-filter-row{flex-wrap:wrap;gap:12px;display:flex}.topology-filter-field{gap:6px;min-width:13rem;display:grid}.topology-filter-field span,.topology-zoom-label{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.74rem;font-weight:800}.topology-filter-field select{min-width:0}.topology-zoom-controls{border:1px solid var(--border);background:#ffffffc7;border-radius:14px;align-items:center;gap:8px;padding:8px 10px;display:inline-flex}.topology-zoom-controls button{min-width:2.5rem;padding-inline:.8rem}.topology-legend{flex-wrap:wrap;gap:12px;display:flex}.topology-legend-label{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;font-weight:800}.topology-legend-item{color:var(--text-muted);align-items:center;gap:8px;font-size:.88rem;font-weight:600;display:inline-flex}.topology-legend-item.node-type-endpoint{color:#0f766e}.topology-legend-item.node-type-remoteVm{color:#475569}.topology-legend-item.node-type-deviceUser{color:#1d4ed8}.topology-legend-item.node-type-device{color:#b45309}.topology-legend-item.node-type-endUser{color:#7c3aed}.topology-legend-item.node-type-storageNode{color:#0f7490}.topology-legend-item.node-type-namespace{color:#1d4ed8}.topology-legend-item.node-type-topic{color:#b45309}.legend-line{border-top:3px solid var(--border-strong);border-radius:999px;width:34px;height:0}.legend-line.live{border-color:var(--primary)}.legend-line.planned{border-style:dashed;border-color:#5f7b7c}.legend-line.warning{border-color:#d97706}.legend-chip{background:color-mix(in srgb, currentColor 18%, white);width:14px;height:14px;box-shadow:0 0 0 3px color-mix(in srgb, currentColor 10%, transparent);border:2px solid;border-radius:999px}.topology-instruction{margin:0}.topology-layout{grid-template-columns:minmax(0,1fr);gap:14px;display:grid}.topology-layout.topology-layout-stacked{grid-template-columns:minmax(0,1fr)}.topology-provisioning-grid{grid-template-columns:minmax(0,1fr);gap:14px;display:grid}.topology-provisioning-card{border:1px solid var(--border);background:var(--surface);border-radius:18px;gap:12px;padding:18px;display:grid}.studio-node{--node-accent-solid:#4d7ec7;background:color-mix(in srgb, var(--surface) 94%, white 6%);border:1px solid color-mix(in srgb, var(--node-accent-solid) 34%, var(--border));min-width:240px;max-width:320px;box-shadow:var(--shadow);color:var(--text);border-radius:14px;flex-direction:column;align-items:stretch;display:flex;overflow:hidden}.studio-node.node-type-endpoint{--node-accent-solid:#0f766e}.studio-node.node-type-remoteVm{--node-accent-solid:#475569}.studio-node.node-type-device{--node-accent-solid:#b45309}.studio-node.node-type-storageNode{--node-accent-solid:#0f7490}.studio-node.node-type-namespace{--node-accent-solid:#1d4ed8}.studio-node.node-type-topic{--node-accent-solid:#b45309}.studio-node.node-type-tenant{--node-accent-solid:#7c3aed}.studio-node.node-type-sensor{--node-accent-solid:#be123c}.studio-node.node-type-ingestion{--node-accent-solid:#9d174d}.studio-node.node-type-mapping{--node-accent-solid:#86198f}.studio-node .node-header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.topology-provisioning-card h3{margin:0}.topology-provisioning-card p{color:var(--text-soft);margin:0;line-height:1.5}.topology-canvas-shell{border:1px solid var(--border);-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:#030d24;border-radius:18px;min-width:0;overflow:auto;box-shadow:inset 0 1px #85bdff14}.topology-viewport{position:relative}.topology-canvas{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:pan-x pan-y;background:radial-gradient(circle at 1px 1px,#66b4ff38 1px,#0000 0) 0 0/18px 18px,radial-gradient(circle at 0 0,#2b76f133,#0000 40%),linear-gradient(#04122c 0%,#02091d 100%);position:relative}.topology-lines{pointer-events:none;position:absolute;inset:0;overflow:visible}.topology-edge path,.topology-edge-preview{fill:none;stroke-width:3px;stroke-linecap:round}.topology-edge.live path{stroke:#3b82f6}.topology-edge.planned path{stroke:#06b6d4;stroke-dasharray:8 8}.topology-edge.warning path{stroke:#f59e0b}.topology-edge text{fill:#add2ffe0;text-anchor:middle;font-size:.72rem;font-weight:700}.topology-edge-preview{stroke:#38bdf8b3;stroke-dasharray:10 10}.topology-node{--topology-node-accent-rgb:45, 212, 191;--topology-node-accent-solid:#2dd4bf;cursor:pointer;background:linear-gradient(#172234f5 0%,#111b2df2 100%);border:1px solid #73a7ff38;border-radius:10px;gap:12px;width:248px;min-height:136px;padding:10px 14px 14px;transition:transform .16s,box-shadow .16s,border-color .16s;display:grid;position:absolute;overflow:hidden;box-shadow:0 14px 28px #00000073}.topology-node:before{content:"";background:linear-gradient(90deg, rgba(var(--topology-node-accent-rgb), .92) 0%, rgba(var(--topology-node-accent-rgb), .45) 100%);height:3px;position:absolute;inset:0 0 auto}.topology-node-port{background:#9cc8ff;border-radius:999px;width:8px;height:8px;position:absolute;box-shadow:0 0 0 2px #0a1122d9}.topology-node-port-top{top:-4px;left:calc(50% - 4px)}.topology-node-port-right{top:calc(50% - 4px);right:-4px}.topology-node-port-bottom{bottom:-4px;left:calc(50% - 4px)}.topology-node-port-left{top:calc(50% - 4px);left:-4px}.topology-node:hover{transform:translateY(-2px);box-shadow:0 22px 38px #0000008f}.topology-node.selected{border-color:rgba(var(--topology-node-accent-rgb), .8);box-shadow:0 0 0 2px rgba(var(--topology-node-accent-rgb), .25), 0 24px 40px #00000094}.topology-node-endpoint,.topology-node-remoteVm{--topology-node-accent-rgb:45, 212, 191;--topology-node-accent-solid:#2dd4bf}.topology-node-deviceUser,.topology-node-device,.topology-node-endUser,.topology-node-storageNode,.topology-node-namespace,.topology-node-topic{--topology-node-accent-rgb:59, 130, 246;--topology-node-accent-solid:#60a5fa}.topology-node-strip{cursor:grab;touch-action:none;background:#0c1323b8;border-radius:6px;align-items:center;gap:8px;min-height:2.25rem;margin:-2px -6px 0;padding:6px 8px;display:flex}.topology-node-strip:active{cursor:grabbing}.topology-node-strip-handle{background:repeating-linear-gradient(90deg, rgba(var(--topology-node-accent-rgb), .48), rgba(var(--topology-node-accent-rgb), .48) 4px, transparent 4px, transparent 7px);border-radius:999px;width:36px;height:6px}.topology-node-strip-label{color:#8fbaffdb;letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:700}.topology-node-header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.topology-node-heading{min-width:0}.topology-node-kicker{color:#a5c9ffdb;text-transform:uppercase;letter-spacing:.09em;margin-bottom:4px;font-size:.73rem;font-weight:800;display:inline-flex}.topology-node h2{letter-spacing:-.02em;word-break:break-word;color:#f3f8ff;margin:0;font-size:1.03rem}.topology-node-header-actions{align-items:center;gap:8px;display:inline-flex}.topology-node-toggle{color:#b7d3ffe6;touch-action:manipulation;background:#060e1ec7;border:1px solid #7aa9f647;border-radius:999px;width:1.9rem;min-width:1.9rem;height:1.9rem;padding:0;font-size:1rem;font-weight:800;line-height:1}.topology-node-toggle:hover:not(:disabled){background:#0d1831f2;border-color:#7aa9f680;transform:none}.topology-node-subtitle,.topology-node-detail{color:#c5d9f8d1;margin:0;line-height:1.45}.topology-node-subtitle{color:#e0edfff5;font-weight:700}.topology-node-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.topology-node-meta span{color:#c4dafcd1;gap:3px;font-size:.8rem;display:grid}.topology-node-meta strong{color:#88b2f4b8;letter-spacing:.03em;text-transform:uppercase;font-size:.72rem}.topology-node-actions{justify-content:space-between;align-items:center;gap:8px;margin-top:auto;display:flex}.topology-node-actions button{touch-action:manipulation;flex:1 1 0;min-width:0;min-height:2.75rem}.topology-node-minimized{gap:8px;min-height:0;padding-bottom:12px}.topology-node-minimized .topology-node-header{align-items:center}.topology-node-minimized h2{white-space:nowrap;text-overflow:ellipsis;font-size:.98rem;overflow:hidden}.topology-menu{z-index:8;border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 96%, white 4%);border-radius:14px;gap:6px;min-width:13rem;padding:8px;display:grid;position:absolute;box-shadow:0 18px 36px #10262724}.topology-menu button{color:var(--text-muted);touch-action:manipulation;background:0 0;border-radius:10px;justify-content:flex-start;min-height:2.75rem}.topology-menu button:hover:not(:disabled){background:var(--surface-muted);transform:none}.topology-menu-empty{color:var(--text-soft);padding:8px 10px;font-size:.84rem}.topology-empty-state{border:1px dashed var(--border-strong);background:color-mix(in srgb, var(--surface) 88%, white 12%);width:min(28rem,100% - 48px);color:var(--text-soft);text-align:center;border-radius:16px;padding:16px 18px;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);box-shadow:0 18px 36px #10262714}.topology-inspector{gap:16px;min-width:0;display:grid}.topology-layout-stacked .topology-inspector{position:static}.topology-inspector-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:18px;gap:12px;padding:18px;display:grid}.topology-inspector-tile{margin:0}.topology-inspector-summary{cursor:pointer;gap:4px;list-style:none;display:grid}.topology-inspector-summary::-webkit-details-marker{display:none}.topology-inspector-summary:after{content:"+";border:1px solid var(--border);width:1.85rem;height:1.85rem;color:var(--text-muted);background:var(--surface-muted);border-radius:999px;place-items:center;display:grid;position:absolute;top:16px;right:18px}.topology-inspector-tile{position:relative}.topology-inspector-tile[open] .topology-inspector-summary:after{content:"−"}.topology-inspector-summary strong{letter-spacing:0;font-size:1.05rem}.topology-tile-palette{order:1}.topology-tile-selected-node{order:2}.topology-tile-endpoint-provisioning{order:3}.topology-tile-device-provisioning{order:4}.topology-tile-storage-maintenance{order:5}.topology-tile-end-user-maintenance{order:6}.topology-tile-governance{order:7}.topology-inspector-card h2{margin:0}.topology-inspector-card p{color:var(--text-soft);margin:0;line-height:1.5}.topology-node-palette{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.topology-palette-chip{--topology-node-accent-rgb:15, 118, 110;--topology-node-accent-solid:#0f766e;border:1px dashed rgba(var(--topology-node-accent-rgb), .3);background:linear-gradient(180deg, rgba(var(--topology-node-accent-rgb), .1) 0%, #fffffffa 100%);min-height:6.5rem;color:color-mix(in srgb, var(--topology-node-accent-solid) 72%, var(--text));text-align:left;cursor:grab;touch-action:manipulation;border-radius:16px;gap:8px;padding:14px;display:grid}.topology-palette-chip:active{cursor:grabbing}.topology-palette-chip:hover:not(:disabled){border-color:rgba(var(--topology-node-accent-rgb), .48)}.topology-palette-chip strong{letter-spacing:0;font-size:.95rem}.topology-palette-chip span{color:var(--text-soft);font-size:.82rem;line-height:1.45}.topology-palette-chip:disabled{opacity:.58;cursor:not-allowed}.topology-palette-chip-endpoint{--topology-node-accent-rgb:15, 118, 110;--topology-node-accent-solid:#0f766e}.topology-palette-chip-storageNode{--topology-node-accent-rgb:15, 116, 144;--topology-node-accent-solid:#0f7490}.topology-palette-chip-deviceUser{--topology-node-accent-rgb:29, 78, 216;--topology-node-accent-solid:#1d4ed8}.topology-palette-chip-device{--topology-node-accent-rgb:180, 83, 9;--topology-node-accent-solid:#b45309}.topology-palette-chip-endUser{--topology-node-accent-rgb:124, 58, 237;--topology-node-accent-solid:#7c3aed}.topology-inspector-kicker{color:var(--text-soft);text-transform:uppercase;letter-spacing:.09em;font-size:.72rem;font-weight:800}.topology-inspector-fields{gap:10px}.topology-inspector-detail{border-top:1px solid var(--border);gap:6px;padding-top:6px;display:grid}.topology-inspector-detail strong{color:var(--text-muted)}.topology-inspector-section{border-top:1px solid var(--border);gap:12px;padding-top:6px;display:grid}.topology-inspector-section>strong{color:var(--text-muted)}.topology-connection-list{border-top:1px solid var(--border);gap:8px;padding-top:6px;display:grid}.topology-connection-list strong{color:var(--text-muted)}.topology-topic-binding-list{border-top:1px solid var(--border);gap:10px;padding-top:6px;display:grid}.topology-topic-binding-list strong{color:var(--text-muted)}.topology-topic-binding-item{border:1px solid color-mix(in srgb, var(--border) 88%, white 12%);background:color-mix(in srgb, var(--surface-strong) 82%, white 18%);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.topology-topic-binding-item div{gap:4px;min-width:0;display:grid}.topology-topic-binding-item span{color:var(--text);word-break:break-word;font-size:.92rem;font-weight:600}.topology-topic-binding-item small{color:var(--text-soft);text-transform:capitalize}.topology-drop-hint{--topology-node-accent-rgb:15, 118, 110;border:2px dashed rgba(var(--topology-node-accent-rgb), .48);background:color-mix(in srgb, var(--surface) 92%, white 8%);pointer-events:none;border-radius:18px;gap:6px;width:248px;min-height:5.2rem;padding:14px 16px;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 18px 32px #1026271f}.topology-drop-hint strong{color:rgba(var(--topology-node-accent-rgb), .92)}.topology-drop-hint span{color:var(--text-soft);font-size:.84rem}.topology-drop-hint-endpoint{--topology-node-accent-rgb:15, 118, 110}.topology-drop-hint-storageNode{--topology-node-accent-rgb:15, 116, 144}.topology-drop-hint-deviceUser{--topology-node-accent-rgb:29, 78, 216}.topology-drop-hint-device{--topology-node-accent-rgb:180, 83, 9}.topology-drop-hint-endUser{--topology-node-accent-rgb:124, 58, 237}.topology-modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#061c1e57;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.topology-modal{border:1px solid color-mix(in srgb, var(--border) 70%, white 30%);background:color-mix(in srgb, var(--surface) 96%, white 4%);border-radius:22px;width:min(44rem,100%);max-height:min(90vh,52rem);padding:18px;overflow:auto;box-shadow:0 30px 60px #071d1f33}.topology-modal-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.topology-modal-header h2{margin:2px 0 0}.topology-topics-fieldset{border:1px solid var(--border);border-radius:16px;gap:12px;padding:12px;display:grid}.topology-topics-fieldset legend{color:var(--text-muted);padding:0 8px;font-size:.9rem;font-weight:700}.topology-topic-grid{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:8px;display:grid}.topology-topic-option{border:1px solid var(--border);background:var(--surface-strong);border-radius:12px;flex-direction:row;align-items:flex-start;gap:8px;padding:10px 12px;display:flex}.topology-topic-option input,.topology-inline-toggle input{width:auto;margin:2px 0 0}.topology-topic-option span{color:var(--text);word-break:break-word;font-size:.88rem;line-height:1.4}.topology-checkbox-row{flex-wrap:wrap;gap:12px;display:flex}.topology-inline-toggle{border:1px solid var(--border);background:var(--surface-strong);border-radius:12px;flex-direction:row;align-items:center;gap:8px;padding:10px 12px;display:flex}.decommission-header{gap:18px}.decommission-card{gap:18px;display:grid}.decommission-card-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.decommission-selector-grid,.decommission-operator-grid{align-items:start}.decommission-summary-grid{gap:12px;display:grid}.decommission-summary-card{background:linear-gradient(#e6f7f4e6,#fffffff5);border:1px solid #0f766e29;border-radius:16px;gap:6px;padding:16px;display:grid}.decommission-summary-label{color:var(--text-soft);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:700}.decommission-summary-value{letter-spacing:-.04em;font-size:clamp(1.55rem,5vw,2.25rem);line-height:1}.decommission-summary-detail{color:var(--text-soft);font-size:.88rem;font-weight:600}.decommission-endpoint-meta{border:1px solid var(--border);background:var(--surface-strong);border-radius:16px;gap:12px;padding:16px;display:grid}.decommission-endpoint-meta>div{gap:4px;display:grid}.decommission-plan-grid{gap:12px;display:grid}.decommission-step-card{border:1px solid var(--border);background:var(--surface-strong);border-radius:16px;gap:14px;padding:16px;display:grid}.decommission-step-card h3{margin:0 0 6px}.decommission-step-card p{margin:0}.decommission-step-card-accent{background:linear-gradient(#fff7e8eb,#fffffffa);border-color:#f2c98be6}.decommission-step-header{align-items:flex-start;gap:12px;display:flex}.decommission-step-index{background:var(--primary-surface);width:2rem;height:2rem;color:var(--primary-strong);border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:.9rem;font-weight:800;display:inline-flex}.decommission-item-list,.decommission-execution-list,.decommission-blocker-list{margin:0}.decommission-item-list,.decommission-execution-list{padding:0;list-style:none}.decommission-item-list{gap:10px;display:grid}.decommission-item-list li{border:1px solid var(--border);background:#fff;border-radius:14px;gap:4px;padding:12px 14px;display:grid}.decommission-item-list span,.decommission-item-list small{color:var(--text-soft)}.decommission-definition-list{margin:0}.decommission-definition-list dd{font-weight:700}.decommission-topology-snapshot{flex-wrap:wrap;gap:10px;display:flex}.decommission-topology-snapshot span{border:1px solid var(--border);color:var(--text-muted);background:#ffffffe0;border-radius:999px;align-items:center;padding:7px 10px;font-size:.84rem;font-weight:700;display:inline-flex}.decommission-confirm-label,.decommission-checkbox{grid-column:1/-1}.decommission-checkbox{border:1px solid var(--border);background:var(--surface-strong);border-radius:14px;align-items:flex-start;padding:12px 14px}.decommission-blocker-list{color:var(--error-text);padding-left:1.2rem}.decommission-blocker-list li+li{margin-top:6px}.decommission-execution-list{gap:10px;display:grid}.decommission-execution-item{border:1px solid var(--border);background:var(--surface-strong);border-radius:16px;gap:8px;padding:14px 16px;display:grid}.decommission-execution-item p{color:var(--text-soft);margin:0}.decommission-execution-item.is-running{background:#f4faff;border-color:#bcd7f3}.decommission-execution-item.is-success{border-color:var(--success-border);background:var(--success-bg)}.decommission-execution-item.is-warning{background:#fff7e8;border-color:#f0c36b}.decommission-execution-item.is-error{border-color:var(--error-border);background:var(--error-bg)}.decommission-execution-item.is-skipped{background:#f6faf9}.decommission-execution-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.decommission-step-status{color:#5f7071;letter-spacing:.05em;text-transform:uppercase;background:#edf3f2;border-radius:999px;align-items:center;padding:5px 10px;font-size:.74rem;font-weight:800;display:inline-flex}.decommission-step-status.is-running{color:#1f66b2;background:#e7f4ff}.decommission-step-status.is-success{color:#0d7050;background:#daf5ee}.decommission-step-status.is-warning{color:#9a5b00;background:#fff1cf}.decommission-step-status.is-error{background:var(--error-bg);color:var(--error-text)}.react-flow__node.selected .studio-node{border-color:color-mix(in srgb, var(--node-accent-solid) 58%, white 42%);box-shadow:0 0 0 2px color-mix(in srgb, var(--node-accent-solid) 24%, transparent), var(--shadow)}.studio-node .node-header{background:color-mix(in srgb, var(--surface-strong) 80%, var(--node-accent-solid) 20%);border-top-left-radius:12px;border-top-right-radius:12px;position:relative}.studio-node .node-header:before{display:none}.studio-node .node-icon-title{align-items:center;gap:12px;min-width:0;display:flex}.studio-node .node-header-icon{background:color-mix(in srgb, var(--node-accent-solid) 18%, var(--surface-muted));border:1px solid color-mix(in srgb, var(--node-accent-solid) 36%, var(--border));width:32px;height:32px;color:var(--node-accent-solid);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.studio-node .node-header-icon svg{width:20px;height:20px}.studio-node .node-title-group{gap:2px;min-width:0;display:grid}.studio-node .node-title{background:color-mix(in srgb, var(--node-accent-solid) 12%, var(--surface));width:fit-content;max-width:100%;color:color-mix(in srgb, var(--node-accent-solid) 78%, var(--text));letter-spacing:.05em;text-transform:uppercase;word-break:break-word;border-radius:999px;align-items:center;padding:.25rem .55rem;font-size:.82rem;font-weight:800;display:inline-flex}.node-subtitle{color:var(--text);letter-spacing:0;text-transform:none;margin:0;font-size:.86rem;font-weight:700}.studio-node .node-body{gap:12px;padding:16px;display:grid}.studio-node .node-data-grid{gap:12px;display:grid}.studio-node .node-data-row{gap:2px;display:grid}.studio-node .node-data-label{color:var(--text-soft);text-transform:uppercase;letter-spacing:.05em;font-size:.65rem;font-weight:700}.studio-node .node-data-value{color:var(--text);word-break:break-word;font-size:.85rem;font-weight:600}.status-chip.live{color:#34d399;background:#34d39926}.status-chip.planned{color:#539bf5;background:#539bf526}.status-chip.warning{color:#f6993f;background:#f6993f26}.studio-node .node-detail{color:var(--text-soft);background:color-mix(in srgb, var(--surface-muted) 78%, black 22%);border:1px solid var(--border);border-radius:8px;padding:8px 12px;font-size:.75rem}.studio-node .node-content{gap:12px;display:grid}.node-handle{width:10px;height:10px;box-shadow:0 0 0 2px color-mix(in srgb, var(--bg) 80%, transparent);z-index:10;transition:transform .18s,box-shadow .18s;border:2px solid var(--surface)!important}.node-handle:hover{box-shadow:0 0 0 4px color-mix(in srgb, var(--primary) 18%, transparent);transform:scale(1.35)}.node-handle-left:hover{transform:translate(-50%,-50%)scale(1.35)}.node-handle-right:hover{transform:translate(50%,-50%)scale(1.35)}.node-handle-top:hover{transform:translate(-50%,-50%)scale(1.35)}.node-handle-bottom:hover{transform:translate(-50%,50%)scale(1.35)}.node-handle-tenant,.node-handle-vm,.node-handle-storage,.node-handle-device{width:12px;height:12px}.node-handle-vm{border-radius:4px;transform:translate(-50%,-50%)rotate(45deg)}.node-handle-vm:hover{transform:translate(-50%,-50%)rotate(45deg)scale(1.2)}.node-handle-storage{border-radius:3px}.node-handle-storage:hover{transform:translate(-50%,-50%)scale(1.25)}.node-handle-device{border-radius:999px}.node-handle-device-connected{border-color:color-mix(in srgb, #b45309 30%, var(--surface))!important;background:#b45309!important}.node-handle-device-free{box-shadow:0 0 0 2px #b4530924, 0 0 0 5px color-mix(in srgb, var(--bg) 82%, transparent);background:color-mix(in srgb, var(--surface) 90%, white 10%)!important;border-color:#b45309!important}.node-handle-device-free:hover{transform:translate(50%,-50%)scale(1.3)}.handle-label{color:var(--text-soft);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;pointer-events:none;font-size:.65rem;font-weight:700;position:absolute;top:50%;transform:translateY(-50%)}.target-handle .handle-label{left:16px}.source-handle .handle-label{right:16px}.studio-button{border:1px solid var(--border);background:color-mix(in srgb, var(--surface-muted) 84%, black 16%);min-height:2rem;color:var(--text);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:4px;padding:.35rem .7rem;font-size:.68rem;font-weight:700;line-height:1.2;transition:background .18s,border-color .18s,color .18s;display:inline-flex}.studio-button:hover:not(:disabled){background:color-mix(in srgb, var(--surface-strong) 86%, white 14%);border-color:var(--border-strong)}.studio-button:disabled{opacity:.5;cursor:not-allowed}.studio-button.primary{color:#fff;background:#238636;border-color:#f0f6fc1a}.studio-button.primary:hover:not(:disabled){background:#2ea043}.studio-button.danger{color:#f85149}.studio-button.danger:hover:not(:disabled){color:#fff;background:#da3633;border-color:#f85149}.studio-palette{background:color-mix(in srgb, var(--surface-muted) 84%, black 16%);border-right:1px solid var(--border);width:280px;min-width:260px;height:100%;color:var(--text);flex-direction:column;gap:16px;padding:16px;display:flex;overflow-y:auto}.palette-header{color:var(--text);gap:4px;margin-bottom:4px;font-size:.95rem;font-weight:700;display:grid}.palette-header strong{color:var(--text);font-size:.9rem;font-weight:700;display:block}.palette-header .node-subtitle{margin:0}.palette-items{gap:10px;display:grid}.palette-item{border:1px solid var(--border);background:color-mix(in srgb, var(--surface-strong) 78%, black 22%);cursor:grab;-webkit-user-select:none;user-select:none;border-radius:12px;margin:0;padding:14px;transition:transform .18s,border-color .18s,box-shadow .18s,background .18s}.palette-item:hover{background:color-mix(in srgb, var(--surface-strong) 86%, white 14%);border-color:var(--border-strong);transform:translateY(-2px);box-shadow:0 8px 20px #0000002e}.palette-item-content{align-items:center;gap:12px;display:flex}.palette-item-icon{background:color-mix(in srgb, var(--surface-muted) 84%, black 16%);width:32px;height:32px;color:var(--text);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.palette-item-icon svg{width:18px;height:18px}.palette-item-info{gap:2px;min-width:0;display:grid}.palette-item-label,.palette-item strong{color:var(--text);font-size:.85rem;font-weight:700;display:block}.palette-item-description,.palette-item small{color:var(--text-soft);font-size:.68rem;line-height:1.3;display:block}.topology-evolution-canvas{background:radial-gradient(circle at 1px 1px,#94aaca6b 1px,#0000 0),radial-gradient(circle at 0 0,#d0e1f7d1,#0000 40%),linear-gradient(#f7fbff 0%,#edf4ff 100%);flex:auto;min-width:0;height:100%;min-height:52rem;position:relative}.topology-evolution-canvas .react-flow{background:0 0;width:100%;height:100%;inset:0;position:absolute!important}.topology-evolution-wrapper{border:1px solid var(--border);background:color-mix(in srgb, var(--surface-strong) 84%, white 16%);height:800px;min-height:50rem;box-shadow:var(--shadow);border-radius:18px;display:flex;overflow:hidden}.topology-evolution-inspector{border-right:1px solid var(--border);background:color-mix(in srgb, var(--surface) 94%, white 6%);border-left:none;width:320px;min-width:300px}.topology-evolution-page-light .topology-evolution-inspector{border:1px solid var(--border);width:100%;min-width:0;height:auto;max-height:28rem;box-shadow:var(--shadow);border-radius:14px;margin-bottom:16px}.topology-evolution-inspector-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.topology-evolution-overlay{z-index:5;position:absolute}.topology-evolution-overlay-top-center{width:min(100% - 9.5rem,860px);top:14px;left:50%;transform:translate(-50%)}.topology-evolution-page-light .topology-evolution-overlay-top-center{width:min(100% - 2rem,860px)}.topology-evolution-node-strip{border:1px solid color-mix(in srgb, var(--border) 88%, white 12%);background:color-mix(in srgb, var(--surface) 94%, white 6%);border-radius:16px;align-items:stretch;gap:10px;padding:10px;display:flex;overflow-x:auto;box-shadow:0 12px 26px #10262729}.topology-evolution-strip-item{--strip-accent:#4d7ec7;border:1px solid color-mix(in srgb, var(--strip-accent) 36%, var(--border));background:color-mix(in srgb, var(--strip-accent) 12%, var(--surface));min-width:11.75rem;color:var(--text);text-align:left;box-shadow:none;border-radius:14px;align-items:center;gap:10px;padding:.75rem .85rem;display:inline-flex}.topology-evolution-strip-item:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 22px #10262729}.topology-evolution-strip-item-icon{background:color-mix(in srgb, var(--strip-accent) 14%, var(--surface));width:2.2rem;height:2.2rem;color:var(--strip-accent);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.topology-evolution-strip-item-icon svg{width:1.1rem;height:1.1rem}.topology-evolution-strip-item-copy{gap:2px;min-width:0;display:grid}.topology-evolution-strip-item-copy strong{font-size:.8rem;line-height:1.2}.topology-evolution-strip-item-device{--strip-accent:#b45309}.topology-evolution-strip-item-ingestion{--strip-accent:#9d174d}.topology-evolution-strip-item-mapping{--strip-accent:#86198f}.topology-evolution-strip-item-storageNode{--strip-accent:#0f7490}.topology-evolution-icon-button{border:1px solid color-mix(in srgb, var(--border) 86%, white 14%);background:color-mix(in srgb, var(--surface) 94%, white 6%);width:2.5rem;min-width:2.5rem;height:2.5rem;color:var(--text);border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex;box-shadow:0 10px 22px #10262724}.topology-evolution-icon-button svg{width:1rem;height:1rem}.topology-evolution-icon-button:hover:not(:disabled){transform:translateY(-1px)}.topology-evolution-wrapper .react-flow__controls{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 96%, white 4%);border-radius:12px;overflow:hidden;box-shadow:0 10px 24px #0000002e}.topology-evolution-wrapper .react-flow__controls-button{border-bottom:1px solid var(--border);color:var(--text);background:0 0;width:2rem;height:2rem;padding:0}.topology-evolution-wrapper .react-flow__controls-button:last-child{border-bottom:0}.topology-evolution-wrapper .react-flow__controls-button svg{width:.9rem;height:.9rem}.uns-studio-shell{display:grid}.uns-studio-wrapper{min-height:54rem}.uns-studio-wrapper .topology-evolution-overlay-top-center{width:min(100% - 2rem,860px)}.uns-studio-canvas{min-height:54rem}.uns-studio-inspector{border:1px solid var(--border);width:100%;min-width:0;height:auto;max-height:28rem;box-shadow:var(--shadow);border-radius:14px;gap:14px;margin-bottom:16px}.uns-studio-field{gap:6px;display:grid}.uns-studio-toolbar-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.uns-studio-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.uns-studio-summary-grid .record-field{border:1px solid color-mix(in srgb, var(--border) 88%, white 12%);background:color-mix(in srgb, var(--surface-strong) 84%, white 16%);border-radius:12px;padding:10px 12px}.uns-studio-strip-item-namespace{--strip-accent:#1d4ed8}.uns-studio-strip-item-topic{--strip-accent:#b45309}.uns-studio-canvas-body{padding:5.25rem 1.1rem 1.1rem;position:absolute;inset:0}.uns-studio-wrapper .topology-canvas-shell{background:#ffffff61;border-color:#9db7d7ad;border-radius:18px;height:100%;box-shadow:inset 0 1px #85bdff14}.uns-studio-wrapper .topology-canvas{background:0 0}.uns-studio-wrapper .topology-edge.live path{stroke:#10b981}.uns-studio-wrapper .topology-edge.planned path{stroke:#3b82f6;stroke-dasharray:5 5}.uns-studio-wrapper .topology-edge.warning path{stroke:#f59e0b}.uns-studio-wrapper .topology-edge text{fill:#445c80e0}.uns-studio-wrapper .topology-edge-preview{stroke:#539bf5c7;stroke-dasharray:8 8}.uns-studio-node{cursor:grab;width:248px;transition:transform .16s,box-shadow .16s,border-color .16s;position:relative;overflow:visible;height:440px!important}.uns-studio-node:active{cursor:grabbing}.uns-studio-node:hover{transform:translateY(-2px)}.uns-studio-node.selected{border-color:color-mix(in srgb, var(--node-accent-solid) 58%, white 42%);box-shadow:0 0 0 2px color-mix(in srgb, var(--node-accent-solid) 24%, transparent), var(--shadow)}.uns-studio-node-port{background:var(--node-accent-solid);border:2px solid color-mix(in srgb, var(--surface) 92%, white 8%);width:12px;height:12px;box-shadow:0 0 0 4px color-mix(in srgb, var(--bg) 82%, transparent);z-index:2;border-radius:999px;position:absolute;top:calc(50% - 6px)}.uns-studio-node-port-left{left:-6px}.uns-studio-node-port-right{right:-6px}.uns-studio-node-header-actions{align-items:flex-start;gap:8px;display:inline-flex}.uns-studio-node-toggle{width:2rem;min-width:2rem;height:2rem;box-shadow:none}.uns-studio-node-minimized{min-height:0;height:52px!important}.uns-studio-node-footer{gap:12px;display:grid}.uns-studio-node-description{color:var(--text-soft);margin:0;font-size:.78rem;line-height:1.45}.uns-studio-node-actions{flex-wrap:wrap;gap:8px;display:flex}.uns-studio-node-actions .studio-button{flex:1 1 0}@media (width>=900px){.decommission-selector-grid,.decommission-operator-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.decommission-summary-grid,.decommission-endpoint-meta{grid-template-columns:repeat(4,minmax(0,1fr))}.decommission-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1280px){.topology-evolution-wrapper{flex-direction:column;height:auto;min-height:0}.topology-evolution-canvas{min-height:40rem}.uns-studio-canvas{min-height:44rem}.topology-evolution-inspector{border-right:none;border-bottom:1px solid var(--border);width:100%;min-width:0;height:auto}.topology-evolution-overlay-top-center{width:calc(100% - 8.5rem)}}@media (width<=1024px){.topology-card{padding:14px}.topology-toolbar-row{align-items:stretch}.topology-filter-row{width:100%}.topology-filter-field{flex:12rem;min-width:min(100%,12rem)}.topology-zoom-controls{justify-content:space-between;width:100%}.topology-zoom-controls button{touch-action:manipulation;min-height:2.75rem}.studio-workspace-bar{padding:14px}.studio-workspace-actions{width:100%}.studio-workspace-actions button{flex:10rem}}@media (width<=768px){main{padding:12px}.decommission-card{padding:16px}.decommission-step-header,.decommission-execution-heading{flex-direction:column;align-items:flex-start}.topology-node-palette{grid-template-columns:minmax(0,1fr)}.topology-node-actions{flex-direction:column;align-items:stretch}.topology-node-toggle{width:2.5rem;min-width:2.5rem;height:2.5rem}.topology-evolution-canvas{min-height:32rem}.uns-studio-canvas{min-height:36rem}.uns-studio-canvas-body{padding:5rem .75rem .75rem}.topology-evolution-overlay-top-center{width:auto;left:14px;right:14px;transform:none}.topology-evolution-node-strip{gap:8px;padding:8px}.topology-evolution-strip-item{min-width:10.25rem}.uns-studio-summary-grid{grid-template-columns:minmax(0,1fr)}.palette-item-content{align-items:flex-start}.topology-topic-binding-item{flex-direction:column;align-items:stretch}.topology-modal{border-radius:18px;padding:16px}}@media (width<=1366px) and (hover:none) and (pointer:coarse){.studio-touch-notice{display:block}}@media (width>=1080px){.topology-layout{grid-template-columns:minmax(0,1fr) 21rem;align-items:start}.topology-layout.topology-layout-stacked{grid-template-columns:minmax(0,1fr)}.topology-provisioning-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.topology-inspector{position:sticky;top:16px}.topology-layout-stacked .topology-inspector{position:static;top:auto}}.secondary-button{border-radius:var(--radius-control);border:1px solid var(--border-strong);background:var(--surface);min-height:44px;color:var(--text);justify-content:center;align-items:center;padding:0 24px;font-weight:700;transition:all .2s;display:inline-flex}.secondary-button:hover{background:var(--bg-accent);border-color:var(--primary)}.auth-bg-wrapper{z-index:-1;opacity:.35;pointer-events:none;position:fixed;inset:0;overflow:hidden}.background-animation-container{z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.background-svg{width:100%;height:100%}.marketing-shell{color:#f8fafc;min-height:100vh;font-family:var(--font-sans);background:#020617;flex-direction:column;display:flex;position:relative;overflow-x:hidden}.marketing-shell:before{content:"";pointer-events:none;background:radial-gradient(circle at 50% -10%,#4f46e526 0%,#0000 70%);height:600px;position:absolute;top:0;left:0;right:0}.marketing-topbar{z-index:10;justify-content:space-between;align-items:center;width:100%;max-width:1400px;margin:0 auto;padding:32px 40px;display:flex}.marketing-brand{align-items:center;gap:16px;transition:opacity .2s;display:flex}.marketing-brand:hover{opacity:.9}.marketing-brand-copy{flex-direction:column;line-height:1.2;display:flex}.marketing-brand-copy strong{letter-spacing:-.02em;color:#fff;font-size:1.25rem;font-weight:700}.marketing-brand-copy span{color:#94a3b8;text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;font-weight:600}.marketing-topbar-actions{align-items:center;gap:24px;display:flex}.marketing-login-link{color:#94a3b8;font-weight:600;transition:color .2s}.marketing-login-link:hover{color:#fff}.marketing-main{flex-direction:column;flex:1;justify-content:center;align-items:center;width:100%;padding:0 24px 80px;display:flex}.marketing-hero{text-align:center;z-index:5;flex-direction:column;align-items:center;width:100%;max-width:1100px;display:flex}.brand-badge{color:#a5b4fc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#4f46e51a;border:1px solid #4f46e533;border-radius:100px;align-items:center;gap:8px;margin-bottom:40px;padding:8px 16px;font-size:.875rem;font-weight:600;display:inline-flex}.brand-badge strong{color:#fff}.marketing-hero h1{letter-spacing:-.04em;color:#fff;max-width:16ch;margin-bottom:32px;font-size:clamp(3rem,10vw,5.5rem);font-weight:800;line-height:1.1}.marketing-hero p{color:#94a3b8;max-width:60ch;margin-bottom:48px;font-size:1.25rem;line-height:1.6}.marketing-actions{justify-content:center;align-items:center;gap:16px;margin-bottom:80px;display:flex}.marketing-actions .primary{color:#fff;background:#4f46e5;border-radius:12px;padding:14px 32px;font-size:1.125rem;font-weight:700;transition:transform .2s,box-shadow .2s;box-shadow:0 10px 25px -5px #4f46e566}.marketing-actions .primary:hover{transform:translateY(-2px);box-shadow:0 15px 30px -5px #4f46e580}.marketing-actions .secondary-button{color:#fff;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;padding:14px 32px;font-size:1.125rem;font-weight:700;transition:background .2s}.marketing-actions .secondary-button:hover{background:#ffffff1a}@media (width<=768px){.marketing-topbar{padding:24px}.marketing-hero h1{font-size:3.5rem}.marketing-actions{flex-direction:column;width:100%}.marketing-actions a{text-align:center;width:100%}}.auth-panel-brand{display:none!important}.auth-shell{justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-panel-form{z-index:1;width:100%;max-width:480px}.success-icon-container{color:var(--success-text);justify-content:center;margin-bottom:1.5rem;display:flex}.success-icon-container svg{width:4rem;height:4rem}.auth-shell-compact .card{text-align:center}.tenant-record-actions{align-items:flex-start}.tenant-onboarding-modal{max-width:560px}.tenant-onboarding-modal .topology-modal-header p{color:var(--text-muted);margin:2px 0 0;font-size:.9rem}.tenant-onboarding-body{gap:14px;display:grid}.tenant-onboarding-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.tenant-onboarding-actions{margin-top:16px}.tenant-onboarding-warning{border-radius:10px;font-size:.9rem;line-height:1.45}@media (width<=640px){.tenant-onboarding-summary{grid-template-columns:1fr}}.section-heading-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.section-heading-row h4{margin:0;font-size:.95rem}.section-heading-row small{color:var(--text-soft)}.topology-metric-editor{border:1px solid var(--border);background:var(--surface-strong);border-radius:8px;gap:12px;padding:12px;display:grid}.topology-metric-row{grid-template-columns:minmax(9rem,1fr) minmax(9rem,1fr) minmax(6rem,.7fr) auto auto;align-items:end;gap:10px;display:grid}.topology-metric-row .topology-inline-toggle{align-items:center;min-height:40px}@media (width<=820px){.section-heading-row,.topology-metric-row{grid-template-columns:1fr}.section-heading-row{display:grid}.remote-vm-action-buttons,.remote-vm-modal-form{grid-template-columns:1fr;display:grid}.remote-vm-action-buttons{justify-content:stretch}}.end-user-alerts-page .page-actions{max-width:24rem}.end-user-alerts-summary .grid.two{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}.alert-limit-tile{border:1px solid var(--border);background:var(--surface-muted);border-radius:14px;gap:6px;padding:14px;display:grid}.alert-limit-tile strong{color:var(--text);font-size:1.05rem}.alert-limit-tile p{margin:0}.end-user-alert-form{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));margin-top:14px}.end-user-alerts-table{margin-top:14px}.end-user-alert-rule-row{grid-template-columns:minmax(10rem,.9fr) minmax(16rem,1.35fr) minmax(11rem,.95fr) minmax(7rem,.65fr) minmax(13rem,1.1fr) minmax(7rem,.65fr) minmax(11rem,.9fr);grid-auto-flow:row;min-width:78rem}.end-user-alert-history-row{grid-template-columns:minmax(12rem,1fr) minmax(10rem,.9fr) minmax(14rem,1.2fr) minmax(9rem,.8fr) minmax(10rem,.9fr);grid-auto-flow:row;min-width:58rem}.end-user-alert-rule-row>div:nth-child(2){gap:4px;display:grid}.end-user-alert-rule-row small{color:var(--text-soft);font-size:.82rem}.end-user-alert-rule-row code{color:var(--text-muted);font-size:.82rem}.status-pill{border:1px solid var(--border);border-radius:999px;align-items:center;width:fit-content;padding:4px 8px;font-size:.82rem;font-weight:700;display:inline-flex}.status-pill.ok{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}.status-pill.warn{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}.status-pill.error{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.alert-history-count{border:1px solid var(--border);background:var(--surface-muted);color:var(--text-soft);border-radius:999px;align-self:flex-start;padding:6px 10px;font-size:.86rem;font-weight:700}.end-user-alert-access-row{grid-template-columns:minmax(12rem,1fr) minmax(16rem,1.35fr) minmax(12rem,1fr) minmax(8rem,.65fr) minmax(10rem,.85fr) minmax(8rem,.7fr) minmax(12rem,.95fr);grid-auto-flow:row;min-width:78rem}.end-user-alert-access-row>div:nth-child(2){gap:4px;display:grid}.end-user-alert-access-row small{color:var(--text-soft);font-size:.82rem}.end-user-alert-access-row code{color:var(--text-muted);font-size:.82rem}.end-user-alert-enabled-toggle{align-items:center;gap:10px;min-height:42px;padding-top:24px;display:flex}.end-user-alert-enabled-toggle input{width:auto}.end-user-alert-row-actions{flex-wrap:wrap;gap:8px;display:flex}.end-user-alert-row-actions button{min-height:34px;padding:7px 10px}.alert-engine-settings-grid{border:1px solid var(--border);background:var(--surface-muted);border-radius:12px;gap:10px;margin:16px 0;padding:14px;display:grid}.alert-engine-settings-grid label{max-width:28rem}.settings-inline-input{align-items:center;gap:10px;display:flex}.settings-inline-input input{max-width:10rem}.settings-inline-input span{color:var(--text-soft);font-weight:700}.uns-studio-inspector-panel{background:color-mix(in srgb, var(--surface) 96%, white 4%);border:1px solid var(--border);box-shadow:var(--shadow-lg);border-radius:18px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;margin-top:24px;padding:24px;display:grid}.uns-studio-inspector-section{background:color-mix(in srgb, var(--surface-muted) 80%, black 20%);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:16px;min-height:240px;padding:20px;display:flex}.uns-studio-inspector-section-header{border-bottom:1px solid var(--border);margin-bottom:4px;padding-bottom:12px}.uns-studio-inspector-section-title{color:var(--text);font-size:1.15rem;font-weight:700}.uns-studio-inspector-section-subtitle{color:var(--text-soft);margin:4px 0 0;font-size:.8rem}.uns-stats-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.uns-stat-card{background:var(--surface-strong);border:1px solid var(--border-soft);text-align:center;box-shadow:var(--shadow-sm);border-radius:10px;flex-direction:column;gap:4px;padding:12px;display:flex}.uns-stat-val{color:var(--text);font-size:1.6rem;font-weight:800}.uns-stat-label{text-transform:uppercase;color:var(--text-soft);letter-spacing:.02em;font-size:.72rem;font-weight:600}.uns-inspector-empty{text-align:center;height:100%;color:var(--text-soft);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px;display:flex}.uns-inspector-empty-icon{opacity:.6;font-size:2.2rem}.uns-inspector-meta-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.uns-inspector-meta-item{background:var(--surface);border:1px solid var(--border-soft);border-radius:8px;flex-direction:column;gap:2px;padding:8px 12px;display:flex}.uns-inspector-meta-label{color:var(--text-soft);text-transform:uppercase;letter-spacing:.05em;font-size:.65rem;font-weight:700}.uns-inspector-meta-value{color:var(--text);word-break:break-all;font-size:.85rem;font-weight:600}.uns-inspector-detail-list{flex-direction:column;gap:10px;font-size:.85rem;display:flex}.uns-inspector-detail-row{border-bottom:1px dashed var(--border-soft);justify-content:space-between;align-items:center;padding-bottom:8px;display:flex}.uns-inspector-actions{flex-wrap:wrap;gap:10px;margin-top:auto;display:flex}.uns-inspector-actions button{flex:1 1 0;padding:8px 12px;font-size:.85rem;font-weight:600}.uns-zoom-bar{background:var(--surface-strong);border:1px solid var(--border-soft);box-shadow:var(--shadow-sm);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex}@media (width<=699px){button{white-space:normal;word-break:break-word}.sidebar{gap:8px;padding:10px 10px 14px}.sidebar .logo{gap:8px;padding:4px 4px 8px}.logo-mark{width:30px;height:30px;font-size:.65rem}.logo-copy strong{font-size:.82rem}.logo-copy span{font-size:.62rem}.sidebar nav{gap:5px}.sidebar nav a{border-radius:8px;padding:7px 9px;font-size:.78rem}main{padding:10px}.card{border-radius:14px;padding:12px}.page{gap:12px}.page-header h1{font-size:1.2rem}.page-header p{font-size:.86rem}.iot-selector-grid,.iot-form-grid,.iot-metric-grid,.sitewise-hierarchy{grid-template-columns:1fr}.sitewise-hierarchy-arrow{justify-self:center;transform:rotate(90deg)}.inline-card{padding:12px}.collapsible-section{padding:0 10px}.collapsible-content{padding:10px 0}.record-actions{flex-direction:column}.record-actions button{width:100%}.activation-license-row-actions{flex-direction:column;align-items:stretch}.activation-license-row-actions button,.form-actions button{width:100%}.section-heading-row{flex-direction:column;align-items:flex-start}.lets-encrypt-actions{flex-direction:column}.lets-encrypt-actions>button{width:100%}.activation-license-panel .activation-license-actions{flex-direction:column}.activation-license-panel .activation-license-actions button{width:100%}.table-row-detail{padding:8px 10px}.table-row-detail button,.table-row-detail select{width:100%}.table-row>*{padding:8px 10px}.record-fields{grid-template-columns:repeat(auto-fit,minmax(8rem,1fr))}.card-header-row{flex-direction:column}.timezone-selector-container{padding:.6rem!important}.page-header>button{width:100%}}
