.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #555;--xy-background-pattern-lines-color-default: #333;--xy-background-pattern-cross-color-default: #333;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.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__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.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.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.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-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.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:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.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-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.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{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.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-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.capitalize{text-transform:capitalize}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{color:#182230;font-synthesis:none;background:#f6f7f9;font-family:Inter,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}.dark{color:#e6edf7;background:#0a0f18;min-height:100vh}.app{background:#f6f7f9;grid-template-columns:236px 1fr;min-height:100vh;display:grid}.dark .app{background:#0b1019}.sidebar{background:#fff;border-right:1px solid #e4e7ec;flex-direction:column;height:100vh;padding:18px 12px;display:flex;position:sticky;top:0}.dark .sidebar,.dark header,.dark .panel{background:#101722;border-color:#252f3f}.brand{align-items:center;gap:10px;padding:0 7px 24px;font-size:15px;font-weight:700;display:flex}.brand>span{color:#fff;background:linear-gradient(145deg,#4f7cff,#6d5dfc);border-radius:9px;place-items:center;width:32px;height:32px;font-size:18px;display:grid}.brand small,.account small{color:#8c98a9;margin-top:2px;font-size:10px;font-weight:500;display:block}.sidebar nav{flex:1;overflow:auto}.sidebar section{margin-bottom:18px}.sidebar section label{color:#98a2b3;text-transform:uppercase;letter-spacing:.08em;min-height:10px;padding:0 10px 7px;font-size:10px;font-weight:700;display:block}.sidebar a{color:#4b5565;border-radius:7px;align-items:center;gap:10px;margin:2px 0;padding:8px 10px;font-size:13px;font-weight:550;text-decoration:none;display:flex}.dark .sidebar a{color:#a9b4c5}.sidebar a.active{color:#4d62dc;background:#eef2ff}.dark .sidebar a.active{color:#91a7ff;background:#1c2740}.account{border-top:1px solid #e4e7ec;align-items:center;gap:9px;padding:16px 6px 0;font-size:12px;display:flex}.dark .account{border-color:#252f3f}.avatar{color:#4356bf;background:#dbe3ff;border-radius:50%;place-items:center;width:30px;height:30px;font-size:10px;font-weight:800;display:grid}.account svg{margin-left:auto}main{min-width:0}header{z-index:5;background:#fff;border-bottom:1px solid #e4e7ec;align-items:center;gap:12px;height:64px;padding:0 28px;display:flex;position:sticky;top:0}.global-search{border:1px solid #d8dde6;border-radius:8px;align-items:center;gap:8px;width:370px;height:36px;padding:0 10px;display:flex}.dark .global-search,.dark .filter,.dark .search-box{background:#151d29;border-color:#303a4a}.global-search input,.search-box input{color:inherit;background:0 0;border:0;outline:0;width:100%;font-size:12px}.global-search kbd{color:#98a2b3;white-space:nowrap;border:1px solid #d9dfe8;border-radius:4px;padding:2px 5px;font-size:10px}.theme,.menu,.mobile-close{color:inherit;background:0 0;border:0;place-items:center;display:grid}.theme{margin-left:auto}.theme svg{width:18px}.primary{color:#fff;background:#5867e8;border:0;border-radius:7px;align-items:center;gap:7px;padding:9px 13px;font-size:12px;font-weight:650;display:flex}.content{max-width:1500px;margin:auto;padding:27px 30px 50px}.page-head{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.page-head h1{letter-spacing:-.02em;margin:0 0 5px;font-size:22px}.page-head p,.panel-head p{color:#8792a3;margin:0;font-size:12px}.stats{grid-template-columns:repeat(7,1fr);gap:10px;margin-bottom:18px;display:grid}.stat{background:#fff;border:1px solid #e3e7ed;border-radius:9px;align-items:center;gap:10px;padding:14px;display:flex}.dark .stat{background:#101722;border-color:#252f3f}.stat>span{color:#5967e5;background:#eef1ff;border-radius:7px;place-items:center;width:32px;height:32px;display:grid}.dark .stat>span{background:#202a48}.stat strong{font-size:18px;display:block}.stat small{color:#8b96a7;white-space:nowrap;font-size:10px}.panel{background:#fff;border:1px solid #e1e6ec;border-radius:10px;margin-bottom:18px;overflow:hidden}.panel-head{border-bottom:1px solid #e8ebef;justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.dark .panel-head{border-color:#252f3f}.panel-head h2,.rack-title h2,.rack-info h2{margin:0 0 4px;font-size:14px}.panel-head a{color:#6672db;align-items:center;font-size:11px;text-decoration:none;display:flex}.dashboard-grid{grid-template-columns:1.7fr 1fr;gap:18px;display:grid}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:11px}th{text-align:left;color:#8490a1;text-transform:uppercase;letter-spacing:.05em;background:#fafbfc;font-size:9px;font-weight:700}td,th{border-bottom:1px solid #eaedf1;padding:11px 16px}.dark th{background:#131b27}.dark td,.dark th{border-color:#252f3f}tbody tr:last-child td{border-bottom:0}td a{color:inherit;align-items:center;gap:9px;text-decoration:none;display:flex}.device-icon{color:#5265d7;background:#e8edff;border-radius:7px;place-items:center;width:28px;height:28px;display:inline-grid}.device-icon.router{color:#149365;background:#e7f8f1}.device-icon.server{color:#8055c5;background:#f1eafe}.device-icon.olt{color:#d27a15;background:#fff1df}.capitalize{text-transform:capitalize}.mono{font-family:ui-monospace,SFMono-Regular,monospace}.status{color:#248751;text-transform:capitalize;white-space:nowrap;background:#e9f8ef;border-radius:999px;align-items:center;gap:5px;padding:3px 7px;font-size:9px;display:inline-flex}.status i{background:currentColor;border-radius:50%;width:5px;height:5px}.status.maintenance{color:#b96b10;background:#fff1dc}.pagination{color:#8b96a7;border-top:1px solid #eaedf1;padding:12px 16px;font-size:10px}.utilization{padding-bottom:15px}.rack-summary{grid-template-columns:90px 1fr;align-items:center;gap:18px;padding:25px 20px;display:grid}.ring{background:conic-gradient(#6070e8 0 17%,#e8ebf0 17%);border-radius:50%;place-items:center;width:82px;height:82px;display:grid;position:relative}.dark .ring{background:conic-gradient(#7180ee 0 17%,#273140 17%)}.ring:after{content:"";background:#fff;border-radius:50%;position:absolute;inset:8px}.dark .ring:after{background:#101722}.ring strong{z-index:1}.rack-summary p{color:#8b96a7;margin:4px 0 12px;font-size:10px}.bar{background:#e7ebf1;border-radius:8px;height:5px;overflow:hidden}.bar i,.mini-bar i{background:#6070e8;border-radius:8px;height:100%;display:block}.rack-summary small{color:#8b96a7;margin-top:7px;font-size:9px;display:block}.outline{text-align:center;color:#5967dc;border:1px solid #ccd3f8;border-radius:7px;margin:0 20px;padding:8px;font-size:11px;text-decoration:none;display:block}.attention{align-items:center;gap:12px;padding:15px 18px;display:flex}.attention>span{color:#c97517;background:#fff0df;border-radius:8px;place-items:center;width:34px;height:34px;display:grid}.attention strong{font-size:12px}.attention p{color:#8b96a7;margin:3px 0;font-size:10px}.attention .status{margin-left:auto}.toolbar,.topology-toolbar{gap:8px;margin-bottom:12px;display:flex}.search-box{background:#fff;border:1px solid #dce1e8;border-radius:7px;align-items:center;width:250px;padding:0 10px;display:flex}.filter{color:inherit;background:#fff;border:1px solid #dce1e8;border-radius:7px;padding:8px 11px;font-size:11px}.rack-layout{grid-template-columns:minmax(420px,680px) 320px;align-items:start;gap:18px;display:grid}.rack-card{padding:18px}.rack-title{justify-content:space-between;margin-bottom:18px;display:flex}.rack-title p{color:#8b96a7;align-items:center;gap:5px;font-size:10px;display:flex}.rack-title>div:last-child{text-align:right}.rack-title>div:last-child strong{font-size:18px;display:block}.rack-title small{color:#8b96a7;font-size:9px}.rack-visual{background:#202938;border:5px solid #2b3544;border-radius:4px;padding:3px}.rack-unit{grid-template-columns:35px 1fr;height:28px;display:grid;position:relative}.rack-unit>span{color:#9aa5b4;border-bottom:1px solid #3a4554;place-items:center;font:9px ui-monospace;display:grid}.rack-unit>i{border:1px dashed #3b4655;border-radius:2px;margin:1px 2px}.rack-device{z-index:1;color:#edf1ff;background:linear-gradient(90deg,#3f4d95,#2f3b73);border:1px solid #6375f5;border-radius:3px;justify-content:space-between;align-items:center;padding:4px 10px;text-decoration:none;display:flex;position:absolute;bottom:1px;left:36px;right:2px}.rack-device b{font-size:10px}.rack-device small{color:#b8c3ff;font-size:8px}.rack-device.router{background:linear-gradient(90deg,#176749,#164f3e);border-color:#26a978}.rack-device.server{background:linear-gradient(90deg,#65458c,#49366a);border-color:#9867d3}.rack-device.olt{background:linear-gradient(90deg,#815424,#68441e);border-color:#d38a3d}.rack-info{padding:18px}.big-number{margin:22px 0 8px;font-size:32px;font-weight:750}.split{margin:15px 0;display:flex}.split span{color:#8b96a7;width:50%;font-size:10px}.split strong{color:inherit;margin-top:4px;font-size:15px;display:block}.rack-info hr{border:0;border-top:1px solid #e3e7ec;margin:19px 0}.dark .rack-info hr{border-color:#283242}.rack-info h3{font-size:11px}.rack-info>a{color:inherit;border-bottom:1px solid #e8ebef;align-items:center;gap:9px;padding:9px 0;text-decoration:none;display:flex}.dark .rack-info>a{border-color:#252f3f}.rack-info>a:last-child{border:0}.rack-info a div{flex:1}.rack-info a strong,.rack-info a small{font-size:10px;display:block}.rack-info a small{color:#8b96a7;margin-top:3px}.dot{background:#6271e5;border-radius:50%;width:8px;height:8px}.dot.router{background:#20a272}.dot.server{background:#8b5cc5}.dot.olt{background:#d48731}.connection-list{padding:6px 18px}.connection{border-bottom:1px solid #e8ebef;grid-template-columns:55px 1fr 1.3fr 1fr 75px 20px;align-items:center;gap:12px;padding:16px 0;font-size:11px;display:grid}.dark .connection{border-color:#252f3f}.connection:last-child{border:0}.connection small{color:#8b96a7;margin-top:4px;font-family:ui-monospace;display:block}.cable-id,.cable-kind{color:#7e899a;font-size:9px}.cable-line{color:#6a78de;align-items:center;display:flex}.cable-line i{background:#4e5c70;flex:1;height:1px}.mini-bar{vertical-align:middle;background:#e4e8ee;border-radius:9px;width:55px;height:4px;margin-right:8px;display:inline-block}.linkish{color:#6170de}.topology{background:#0f1621;border:1px solid #273242;border-radius:10px;height:620px;overflow:hidden}.flow-node{color:#e7edf5;text-align:left;background:#161f2c;border:1px solid #354255;border-radius:9px;align-items:center;gap:10px;width:230px;padding:11px;display:flex;box-shadow:0 8px 30px #0004}.flow-node .device-icon{width:35px;height:35px}.flow-node .device-icon svg{width:17px}.flow-node div{flex:1}.flow-node strong,.flow-node small{font-size:11px;display:block}.flow-node small{color:#8793a4;margin-top:4px;font-size:9px}.flow-node .status{flex:0}.empty{text-align:center;padding:70px 20px}.empty>svg{color:#6574e4;width:38px;height:38px}.empty h2{font-size:16px}.empty p{color:#8b96a7;font-size:12px}.menu,.mobile-close{display:none}@media(max-width:1100px){.stats{grid-template-columns:repeat(4,1fr)}.dashboard-grid,.rack-layout{grid-template-columns:1fr}.rack-info{display:none}}@media(max-width:760px){.app{display:block}.sidebar{z-index:20;width:236px;transition:left .2s;position:fixed;left:-250px}.sidebar.open{left:0;box-shadow:0 0 0 100vw #0008}.mobile-close{margin-left:auto;display:block}.menu{display:grid}.global-search{flex:1;width:auto}.global-search kbd,.primary{display:none}.content{padding:20px 14px}.stats{grid-template-columns:repeat(2,1fr)}header{padding:0 14px}.rack-layout{display:block}.connection{grid-template-columns:45px 1fr 50px 1fr}.connection .cable-kind,.connection>svg{display:none}.rack-card{padding:8px}.page-head p{max-width:250px}.topology{height:540px}}.modal-backdrop{z-index:50;background:#050912cc;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.quick-install{color:#e6edf7;background:#101722;border:1px solid #303b4d;border-radius:14px;flex-direction:column;width:min(920px,100%);max-height:94vh;display:flex;box-shadow:0 28px 90px #000a}.quick-head,.quick-footer{border-bottom:1px solid #273244;justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.quick-head>div{align-items:center;gap:12px;display:flex}.quick-head span{color:#91a5ff;background:#28356b;border-radius:9px;place-items:center;width:38px;height:38px;display:grid}.quick-head h2{margin:0;font-size:16px}.quick-head p{color:#8e9aac;margin:4px 0 0;font-size:10px}.quick-head button,.cable-row button{color:#8e9aac;background:0 0;border:0}.quick-body{padding:0 22px;overflow:auto}.quick-body section{border-bottom:1px solid #273244;padding:20px 0}.section-title{align-items:flex-start;gap:10px;margin-bottom:15px;display:flex}.section-title>b{color:#9aaaff;background:#28356b;border-radius:50%;place-items:center;width:24px;height:24px;font-size:10px;display:grid}.section-title h3{margin:1px 0 3px;font-size:12px}.section-title p{color:#8995a6;margin:0;font-size:10px}.section-title .add-link{margin-left:auto}.form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-grid label,.port-builder label{color:#9aa5b5;font-size:9px;font-weight:650}.form-grid .span2{grid-column:span 2}.form-grid input,.form-grid select,.port-builder input,.port-builder select,.cable-row input,.cable-row select,.login-screen input{color:#eef3fa;background:#151e2b;border:1px solid #354154;border-radius:7px;outline:none;width:100%;margin-top:6px;padding:9px 10px;font-size:11px;display:block}.form-grid input:focus,.form-grid select:focus{border-color:#6e7ff0}.port-builder{grid-template-columns:1.4fr .7fr 1fr .7fr;gap:10px;display:grid}.port-preview{grid-column:1/-1;align-items:center;gap:6px;display:flex}.port-preview span,.port-preview em{color:#b7c2d1;background:#1e2938;border-radius:5px;padding:5px 7px;font:9px ui-monospace}.add-link{color:#a8b5ff;background:#202c4c;border:0;border-radius:6px;align-items:center;gap:5px;padding:7px 9px;font-size:10px;display:flex}.add-link svg{width:13px}.empty-cable{color:#8e9aab;border:1px dashed #384559;border-radius:8px;align-items:center;gap:8px;padding:15px;font-size:10px;display:flex}.empty-cable svg{width:16px}.cable-rows{flex-direction:column;gap:8px;display:flex}.cable-row{grid-template-columns:1fr 20px 1.2fr 1fr .8fr 25px;align-items:center;gap:7px;display:grid}.cable-row input,.cable-row select{margin:0}.cable-row i{text-align:center;color:#7280ed}.quick-footer{border:0;border-top:1px solid #273244}.quick-footer>span{color:#8e9aab;font-size:10px}.quick-footer>div{gap:8px;display:flex}.cancel{color:#b5c0ce;background:0 0;border:1px solid #354154;border-radius:7px;padding:8px 12px;font-size:11px}.primary:disabled{opacity:.45}.form-error{color:#ff9ba8;background:#3b2026;border:1px solid #66303a;border-radius:7px;margin-top:12px;padding:9px 11px;font-size:10px}.login-screen{color:#e6edf7;background:#0b1019;place-items:center;min-height:100vh;display:grid}.login-screen form{background:#101722;border:1px solid #283244;border-radius:13px;width:340px;padding:30px}.login-brand{background:#5c6ce8;border-radius:10px;place-items:center;width:42px;height:42px;font-size:20px;font-weight:800;display:grid}.login-screen h1{margin:18px 0 3px;font-size:20px}.login-screen p{color:#8995a6;margin:0 0 24px;font-size:11px}.login-screen label{color:#9ba6b5;margin:13px 0;font-size:10px;display:block}.login-screen .primary{justify-content:center;width:100%;margin-top:18px}.app-loading{color:#7888f3;background:#0b1019;place-items:center;min-height:100vh;font-weight:800;display:grid}@media(max-width:700px){.modal-backdrop{padding:0}.quick-install{border-radius:0;height:100vh;max-height:100vh}.form-grid{grid-template-columns:1fr}.form-grid .span2{grid-column:auto}.port-builder{grid-template-columns:1fr 1fr}.cable-row{grid-template-columns:1fr 20px 1fr}.cable-row select:nth-of-type(2),.cable-row button{display:none}}:root{--tech:#0768f7;--tech-strong:#0057d9;--tech-soft:#eaf3ff;--line:#e3e8ef;--ink:#142033;--muted:#718096}body{color:var(--ink);background:#fff}.app{background:#fff}.brand>span,.primary,.login-brand{background:linear-gradient(145deg,#0784ff,var(--tech-strong))}.primary:hover{background:var(--tech-strong)}.sidebar a.active{background:var(--tech-soft);color:var(--tech-strong)}.stat>span{background:var(--tech-soft);color:var(--tech)}.panel-head a,.linkish{color:var(--tech)}.bar i,.mini-bar i{background:var(--tech)}.ring{background:conic-gradient(var(--tech) 0 17%,#edf1f5 17%)}.outline{color:var(--tech);border-color:#bdd8ff}.theme{color:#718096;border:1px solid #e5eaf0;border-radius:7px;width:32px;height:32px;transition:background .15s,color .15s}.theme:hover{color:var(--tech);background:#f4f8fc}.quick-install{color:var(--ink);background:#fff;border-color:#dce3eb;box-shadow:0 28px 90px #18304b2b}.modal-backdrop{background:#20354a66}.quick-head,.quick-footer{border-color:var(--line)}.quick-head span,.section-title>b{background:var(--tech-soft);color:var(--tech)}.quick-body section{border-color:var(--line)}.form-grid label,.port-builder label{color:#657386}.form-grid input,.form-grid select,.port-builder input,.port-builder select,.cable-row input,.cable-row select,.login-screen input{color:var(--ink);background:#fff;border-color:#d9e1ea}.form-grid input:focus,.form-grid select:focus{border-color:var(--tech);box-shadow:0 0 0 3px #0768f714}.port-preview span,.port-preview em{color:#42536a;background:#f0f5fa}.port-preview em{color:var(--tech)}.add-link{background:var(--tech-soft);color:var(--tech)}.empty-cable{color:#718096;border-color:#cfd9e5}.cancel{color:#536275;border-color:#d8e0e9}.quick-footer{border-color:var(--line)}.login-screen{color:var(--ink);background:#f7faff}.login-screen form{background:#fff;border-color:#dfe7ef;box-shadow:0 20px 70px #23405f1a}.app-loading{color:var(--tech);background:#fff}.topology{background:#f8fbff;border-color:#dce5ef}.flow-node{color:var(--ink);background:#fff;border-color:#d9e3ed;box-shadow:0 8px 24px #2b4b6914}.dark .quick-install{color:#e6edf7;background:#101722;border-color:#303b4d;box-shadow:0 28px 90px #000a}.dark .modal-backdrop{background:#050912cc}.dark .quick-head,.dark .quick-footer,.dark .quick-body section{border-color:#273244}.dark .quick-head span,.dark .section-title>b{color:#91a5ff;background:#28356b}.dark .form-grid label,.dark .port-builder label{color:#9aa5b5}.dark .form-grid input,.dark .form-grid select,.dark .port-builder input,.dark .port-builder select,.dark .cable-row input,.dark .cable-row select{color:#eef3fa;background:#151e2b;border-color:#354154}.dark .port-preview span,.dark .port-preview em{color:#b7c2d1;background:#1e2938}.dark .add-link{color:#a8b5ff;background:#202c4c}.dark .cancel{color:#b5c0ce;border-color:#354154}.dark .theme{color:#9aa7b8;border-color:#303a4a}.dark .topology{background:#0f1621;border-color:#273242}.dark .flow-node{color:#e7edf5;background:#161f2c;border-color:#354255;box-shadow:0 8px 30px #0004}.resource-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;padding:16px;display:grid}.resource-grid article{border:1px solid #e3e9f0;border-radius:9px;align-items:flex-start;gap:12px;padding:16px;display:flex}.resource-grid article>span{background:var(--tech-soft);width:36px;height:36px;color:var(--tech);border-radius:8px;place-items:center;display:grid}.resource-grid article svg{width:18px}.resource-grid h3{margin:1px 0 5px;font-size:12px}.resource-grid p{color:#718096;margin:0 0 8px;font-size:10px}.resource-grid small{color:#98a3b1;font:9px ui-monospace}.resource-empty{text-align:center;padding:65px 20px}.resource-empty>svg{width:34px;height:34px;color:var(--tech)}.resource-empty h2{margin:12px 0 5px;font-size:15px}.resource-empty p{color:#7b8797;margin:0 0 18px;font-size:11px}.resource-empty .primary{margin:auto}.resource-name{align-items:center;gap:8px;display:flex}.resource-name svg{width:16px;color:var(--tech)}.resource-modal{width:min(460px,100%);color:var(--ink);background:#fff;border:1px solid #dce3eb;border-radius:12px;box-shadow:0 28px 90px #18304b2b}.resource-modal header,.resource-modal footer{border:0;border-bottom:1px solid #e4e9ef;justify-content:space-between;align-items:center;height:auto;padding:17px 20px;display:flex;position:static}.resource-modal header h2{margin:0;font-size:15px}.resource-modal header p{color:#7d8998;margin:4px 0 0;font-size:10px}.resource-modal header button{color:#718096;background:0 0;border:0}.resource-modal footer{border:0;border-top:1px solid #e4e9ef;justify-content:flex-end}.resource-form{padding:18px 20px}.resource-form label{color:#657386;margin-bottom:13px;font-size:10px;font-weight:650;display:block}.resource-form input,.resource-form select,.resource-form textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #d9e1ea;border-radius:7px;outline:none;margin-top:6px;padding:9px 10px;font-size:11px;display:block}.resource-form textarea{resize:vertical;min-height:80px}.resource-form input:focus,.resource-form select:focus,.resource-form textarea:focus{border-color:var(--tech);box-shadow:0 0 0 3px #0768f714}.dark .resource-grid article{border-color:#293445}.dark .resource-modal{color:#e6edf7;background:#101722;border-color:#303b4d}.dark .resource-modal header,.dark .resource-modal footer{border-color:#273244}.dark .resource-form label{color:#9aa5b5}.dark .resource-form input,.dark .resource-form select,.dark .resource-form textarea{color:#eef3fa;background:#151e2b;border-color:#354154}.form-subtitle{text-transform:uppercase;letter-spacing:.08em;color:#8a97a8;border-top:1px solid #e5eaf0;margin:4px 0 12px;padding-top:15px;font-size:9px;font-weight:800}.form-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.site-address{align-items:flex-start;gap:5px!important;margin-top:10px!important;display:flex!important}.site-address svg{color:var(--tech);flex:none;width:12px!important;height:12px!important}.map-link{color:var(--tech);margin-top:2px;font-size:9px;text-decoration:none;display:inline-block}.map-link:hover{text-decoration:underline}.dark .form-subtitle{border-color:#273244}.power-builder{background:#f7faff;border:1px solid #e2ebf5;border-radius:8px;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:12px;padding:12px;display:grid}.power-builder label{color:#657386;font-size:9px;font-weight:650}.dark .power-builder{background:#141d2a;border-color:#2b3748}.dark .power-builder label{color:#9aa5b5}.cell-detail{color:#8a96a6;margin-top:3px;font-size:9px;display:block}.node-ip{color:#637083!important;margin-top:5px!important;font:9px ui-monospace!important;display:block!important}.node-ip.ipam{color:var(--tech)!important;font-weight:700!important}.node-ip.empty-ip{color:#a0a9b5!important;font-style:italic!important}.ipam-hint{color:var(--tech);margin-top:6px;font-size:9px;font-weight:500;line-height:1.35;display:block}.role-summary{border-bottom:1px solid #e6ebf1;grid-template-columns:repeat(3,1fr);gap:10px;padding:16px;display:grid}.role-summary article{border:1px solid #e2e8ef;border-radius:8px;gap:10px;padding:12px;display:flex}.role-summary article>span{background:var(--tech-soft);width:30px;height:30px;color:var(--tech);border-radius:7px;place-items:center;display:grid}.role-summary svg{width:16px}.role-summary strong,.role-summary small{font-size:10px;display:block}.role-summary small{color:#7b8797;margin-top:4px;line-height:1.35}.user-cell{align-items:center;gap:9px;display:flex}.user-cell>span{background:var(--tech-soft);width:30px;height:30px;color:var(--tech);border-radius:50%;place-items:center;font-size:9px;font-weight:800;display:grid}.user-cell strong,.user-cell small{display:block}.user-cell small{color:#8995a5;margin-top:3px;font-size:9px}.role-badge{color:#566476;background:#eef2f6;border-radius:999px;padding:4px 7px;font-size:9px;display:inline-flex}.role-badge.superadmin{color:#0564e8;background:#eaf3ff}.role-badge.admin{color:#168052;background:#eaf8f1}.row-actions{gap:5px;display:flex}.row-actions button{color:#697789;background:#fff;border:1px solid #dde4eb;border-radius:6px;place-items:center;width:28px;height:28px;display:grid}.row-actions svg{width:13px}.row-actions button.danger:hover{color:#d52b3f;border-color:#f0b8c0}.page-error{margin-bottom:12px}.dark .role-summary{border-color:#273244}.dark .role-summary article{border-color:#2c3748}.dark .row-actions button{color:#aab5c3;background:#151e2b;border-color:#354154}@media(max-width:800px){.role-summary{grid-template-columns:1fr}}.role-viewer .page-head .primary,.role-viewer .resource-empty .primary,.role-viewer .row-actions,.role-viewer .add-link{display:none}.account-wrap{border-top:1px solid #e4e7ec;padding-top:8px;position:relative}.account-wrap .account{color:inherit;text-align:left;background:0 0;border:0;width:100%}.account-menu{z-index:10;background:#fff;border:1px solid #dfe5ec;border-radius:8px;padding:5px;position:absolute;bottom:56px;left:4px;right:4px;box-shadow:0 12px 35px #1c334d24}.account-menu button{color:#435166;text-align:left;background:0 0;border:0;border-radius:5px;width:100%;padding:8px;font-size:10px;display:block}.account-menu button:hover{color:var(--tech);background:#f0f5fa}.dark .account-wrap{border-color:#252f3f}.dark .account-menu{background:#151e2b;border-color:#354154}.dark .account-menu button{color:#b6c0cd}.dark .account-menu button:hover{background:#202b3a}.tenant-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;padding:16px;display:grid}.tenant-grid article{border:1px solid #e1e7ee;border-radius:9px;align-items:center;gap:11px;padding:14px;display:flex}.tenant-grid article.current{background:#f4f9ff;border-color:#9ec8ff}.tenant-grid article>span{background:var(--tech-soft);width:34px;height:34px;color:var(--tech);border-radius:8px;place-items:center;display:grid}.tenant-grid svg{width:16px}.tenant-grid div{flex:1}.tenant-grid strong,.tenant-grid small{font-size:11px;display:block}.tenant-grid small{color:#8793a2;margin-top:4px;font:9px ui-monospace}.tenant-grid em{color:#168052;align-items:center;gap:4px;font-size:9px;font-style:normal;display:flex}.tenant-grid em svg{width:12px}.tenant-grid button{color:var(--tech);background:#fff;border:1px solid #b9d5fa;border-radius:6px;padding:6px 9px;font-size:9px}.dark .tenant-grid article{border-color:#2d394a}.dark .tenant-grid article.current{background:#17243a;border-color:#3f68a0}.dark .tenant-grid button{background:#151e2b}.control-title{align-items:center;gap:9px;display:flex}.control-title>svg{background:var(--tech-soft);width:30px;height:30px;color:var(--tech);border-radius:8px;padding:7px}.control-title strong,.control-title small{display:block}.control-title strong{font-size:12px}.control-title small{color:#8793a2;margin-top:2px;font-size:9px}.super-context{background:#f7faff;border:1px solid #dce6f2;border-radius:8px;margin:0 6px 12px;padding:11px}.super-context small,.super-context strong{display:block}.super-context small{color:#8290a1;text-transform:uppercase;letter-spacing:.06em;font-size:8px}.super-context strong{margin:4px 0 8px;font-size:10px}.super-context a{color:var(--tech);font-size:9px;font-weight:700;text-decoration:none}.dark .super-context{background:#141e2c;border-color:#2b3b50}.control-hero{color:#fff;background:linear-gradient(120deg,#075ed1,#0b8cff);border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:16px;padding:22px 24px;display:flex}.control-hero>div{align-items:center;gap:14px;display:flex}.control-hero>div>span{background:#ffffff24;border-radius:10px;place-items:center;width:44px;height:44px;display:grid}.control-hero svg{width:20px}.control-hero small{letter-spacing:.12em;opacity:.78;font-size:8px}.control-hero h1{margin:3px 0;font-size:22px}.control-hero p{opacity:.83;margin:0;font-size:11px}.control-hero .primary{color:#0868dc;background:#fff}.control-stats{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px;display:grid}.control-stats article{background:#fff;border:1px solid #e1e7ee;border-radius:9px;align-items:center;gap:11px;padding:14px;display:flex}.control-stats article>svg{background:var(--tech-soft);width:32px;height:32px;color:var(--tech);border-radius:8px;padding:8px}.control-stats strong,.control-stats small{display:block}.control-stats strong{font-size:17px}.control-stats small{color:#8290a1;font-size:9px}.dark .control-stats article{background:#101722;border-color:#2a3545}.tenant-admin-grid{grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:12px;padding:16px;display:grid}.tenant-admin-grid>article{border:1px solid #e0e7ef;border-radius:10px;padding:15px}.tenant-admin-grid>article.current{border-color:#8fc3ff;box-shadow:0 0 0 2px #e4f1ff}.tenant-card-head{align-items:center;gap:10px;display:flex}.tenant-card-head>span{background:var(--tech-soft);width:36px;height:36px;color:var(--tech);border-radius:8px;place-items:center;display:grid}.tenant-card-head svg{width:17px}.tenant-card-head>div{flex:1}.tenant-card-head strong,.tenant-card-head small{display:block}.tenant-card-head strong{font-size:12px}.tenant-card-head small{color:#8390a1;margin-top:3px;font:9px ui-monospace}.tenant-card-head em{color:#168052;align-items:center;gap:4px;font-size:8px;font-style:normal;display:flex}.tenant-card-head em svg{width:11px}.tenant-metrics{grid-template-columns:repeat(3,1fr);gap:6px;margin:14px 0 9px;display:grid}.tenant-metrics span{color:#7d8998;background:#f7f9fb;border-radius:6px;padding:8px;font-size:8px}.tenant-metrics b{color:#263343;margin-bottom:2px;font-size:12px;display:block}.tenant-created{color:#929dac;font-size:8px}.tenant-actions{border-top:1px solid #e7ebf0;gap:6px;margin-top:13px;padding-top:12px;display:flex}.tenant-actions button{color:#667485;background:#fff;border:1px solid #dbe3ec;border-radius:6px;align-items:center;gap:4px;padding:7px 8px;font-size:8px;display:flex}.tenant-actions button svg{width:12px}.tenant-actions .open-workspace{background:var(--tech);border-color:var(--tech);color:#fff;margin-left:auto}.dark .tenant-admin-grid>article{border-color:#2b3748}.dark .tenant-admin-grid>article.current{border-color:#3e73ad;box-shadow:0 0 0 2px #172b43}.dark .tenant-metrics span{background:#151e2a}.dark .tenant-metrics b{color:#e3eaf3}.dark .tenant-actions{border-color:#293547}.dark .tenant-actions button{color:#b1bdcb;background:#151e2a;border-color:#344154}.dark .tenant-actions .open-workspace{background:var(--tech);color:#fff}.resource-form input:disabled{opacity:.6;cursor:not-allowed}@media(max-width:800px){.control-stats{grid-template-columns:repeat(2,1fr)}.control-hero{align-items:flex-start}.control-hero p{max-width:260px}.tenant-admin-grid{grid-template-columns:1fr}.tenant-actions{flex-wrap:wrap}.tenant-actions .open-workspace{margin-left:0}}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
