@charset "UTF-8";.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: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--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}.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))}:root{--bg-body: #09090b;--bg-sidebar: #0f0f11;--bg-card: #18181b;--bg-hover: #27272a;--bg-elevated: #1f1f23;--bg-secondary: #27272a;--bg-tertiary: #3f3f46;--border-default: #27272a;--border-subtle: #27272a;--border-active: #3f3f46;--border-hover: #3f3f46;--text-primary: #f4f4f5;--text-secondary: #f1f1ff;--text-tertiary: #bebed1;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .3);--scrollbar-track: #18181b;--scrollbar-thumb: #3f3f46;--scrollbar-thumb-hover: #52525b;--bg-code: #1a1a2e;--text-code: #e2e8f0;--grid-color: rgba(255, 255, 255, .02);--accent-primary: #6366f1;--accent-hover: #4f46e5;--accent-glow: rgba(99, 102, 241, .15);--accent-shadow: rgba(99, 102, 241, .3);--background: 240 10% 3.9%;--foreground: 0 0% 98%;--card: 240 6% 10%;--card-foreground: 0 0% 98%;--popover: 240 6% 10%;--popover-foreground: 0 0% 98%;--primary: 239 84% 67%;--primary-foreground: 0 0% 100%;--secondary: 240 4% 16%;--secondary-foreground: 0 0% 98%;--muted: 240 4% 16%;--muted-foreground: 240 5% 65%;--accent: 240 4% 16%;--accent-foreground: 0 0% 98%;--destructive: 0 62.8% 30.6%;--destructive-foreground: 0 0% 98%;--border: 240 4% 16%;--input: 240 4% 16%;--ring: 239 84% 67%;--radius: .5rem}[data-theme=light]{--bg-body: #f8fafc;--bg-sidebar: #f1f5f9;--bg-card: #ffffff;--bg-hover: #f1f5f9;--bg-elevated: #ffffff;--bg-secondary: #e2e8f0;--bg-tertiary: #cbd5e1;--border-default: #e2e8f0;--border-subtle: #e2e8f0;--border-active: #cbd5e1;--border-hover: #cbd5e1;--text-primary: #0f172a;--text-secondary: #475569;--text-tertiary: #64748b;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--scrollbar-track: #f1f5f9;--scrollbar-thumb: #cbd5e1;--scrollbar-thumb-hover: #94a3b8;--bg-code: #f1f5f9;--text-code: #334155;--grid-color: rgba(99, 102, 241, .06);--background: 210 40% 98%;--foreground: 222 47% 11%;--card: 0 0% 100%;--card-foreground: 222 47% 11%;--popover: 0 0% 100%;--popover-foreground: 222 47% 11%;--primary: 239 84% 67%;--primary-foreground: 0 0% 100%;--secondary: 210 40% 96%;--secondary-foreground: 222 47% 11%;--muted: 210 40% 96%;--muted-foreground: 215 16% 47%;--accent: 210 40% 96%;--accent-foreground: 222 47% 11%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 0 0% 98%;--border: 214 32% 91%;--input: 214 32% 91%;--ring: 239 84% 67%;--radius: .5rem}@media (prefers-color-scheme: light){[data-theme=system]{--bg-body: #f8fafc;--bg-sidebar: #f1f5f9;--bg-card: #ffffff;--bg-hover: #f1f5f9;--bg-elevated: #ffffff;--bg-secondary: #e2e8f0;--bg-tertiary: #cbd5e1;--border-default: #e2e8f0;--border-subtle: #e2e8f0;--border-active: #cbd5e1;--border-hover: #cbd5e1;--text-primary: #0f172a;--text-secondary: #475569;--text-tertiary: #64748b;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--scrollbar-track: #f1f5f9;--scrollbar-thumb: #cbd5e1;--scrollbar-thumb-hover: #94a3b8;--bg-code: #f1f5f9;--text-code: #334155;--grid-color: rgba(99, 102, 241, .06);--background: 210 40% 98%;--foreground: 222 47% 11%;--card: 0 0% 100%;--card-foreground: 222 47% 11%;--popover: 0 0% 100%;--popover-foreground: 222 47% 11%;--primary: 239 84% 67%;--primary-foreground: 0 0% 100%;--secondary: 210 40% 96%;--secondary-foreground: 222 47% 11%;--muted: 210 40% 96%;--muted-foreground: 215 16% 47%;--accent: 210 40% 96%;--accent-foreground: 222 47% 11%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 0 0% 98%;--border: 214 32% 91%;--input: 214 32% 91%;--ring: 239 84% 67%;--radius: .5rem}}*{margin:0;padding:0;box-sizing:border-box;outline:none}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:14px;line-height:1.5;min-height:100vh}a{color:inherit;text-decoration:none}button{font-family:inherit}img{max-width:100%;height:auto}ul,ol{list-style:none}::-moz-selection{background:var(--accent-primary);color:#fff}::selection{background:var(--accent-primary);color:#fff}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-body)}::-webkit-scrollbar-thumb{background:var(--border-active);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25;letter-spacing:-.5px}h1{font-size:24px}h2{font-size:18px}h3{font-size:16px}h4{font-size:14px}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-accent{color:var(--accent-primary)}.sk-font-normal{font-weight:400}.sk-font-medium{font-weight:500}.sk-font-semibold{font-weight:600}.sk-font-bold{font-weight:700}.mono{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px}.sk-truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.subtitle{color:var(--text-tertiary);margin-top:4px;font-size:14px}.section-title{font-size:18px;margin-bottom:20px;font-weight:600}.self-end{align-self:flex-end}.self-center{align-self:center}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}@media (min-width: 768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width: 1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.space-y-2>*+*{margin-top:.5rem}.space-y-4>*+*{margin-top:1rem}.space-y-6>*+*{margin-top:1.5rem}.space-y-8>*+*{margin-top:2rem}.space-x-2>*+*{margin-left:.5rem}.space-x-4>*+*{margin-left:1rem}.mt-10{margin-top:2.5rem}.ml-3{margin-left:.75rem}.w-\[1px\]{width:1px}.min-w-0{min-width:0}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-gray-300,.text-gray-400{color:var(--text-tertiary)}.text-gray-500,.text-gray-600{color:var(--text-secondary)}.text-blue-600{color:var(--accent-primary)}.text-green-600{color:#10b981}.text-red-600{color:#ef4444}.text-green-400{color:#10b981}.text-muted{color:var(--text-tertiary)}.bg-gray-700{background-color:var(--bg-hover)}.bg-gray-100{background-color:var(--bg-elevated)}.bg-blue-100{background-color:#6366f11a}.bg-green-100{background-color:#10b9811a}.bg-red-100{background-color:#ef44441a}.bg-body{background-color:var(--bg-body)}.border{border:1px solid var(--border-default)}.border-b{border-bottom:1px solid var(--border-subtle)}.rounded{border-radius:6px}.rounded-lg{border-radius:8px}.btn-dismiss{float:right;background:none;border:none;cursor:pointer;color:inherit}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@media (max-width: 768px){.sidebar{display:none}}.nav-scroll{scrollbar-width:none;-ms-overflow-style:none}.nav-scroll::-webkit-scrollbar{display:none}.brand-star{margin-left:auto;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;color:var(--text-tertiary);transition:all .3s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:visible}.brand-star svg{position:relative;z-index:2;transition:all .3s ease}.brand-star .star-particles,.brand-star .star-ring,.brand-star .star-tooltip{pointer-events:none;position:absolute}.brand-star .star-particles{top:0;right:0;bottom:0;left:0}.brand-star .star-particles span{position:absolute;width:4px;height:4px;background:#f59e0b;border-radius:50%;opacity:0;top:50%;left:50%}.brand-star .star-ring{top:0;right:0;bottom:0;left:0;border-radius:50%;border:2px solid #f59e0b;opacity:0;transform:scale(.8)}.brand-star .star-tooltip{top:50%;left:calc(100% + 10px);transform:translateY(-50%) translate(-4px);background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font-size:.65rem;font-weight:600;padding:4px 10px;border-radius:6px;white-space:nowrap;opacity:0;box-shadow:0 4px 12px #f59e0b66}.brand-star .star-tooltip:after{content:"";position:absolute;top:50%;left:-4px;transform:translateY(-50%);border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:5px solid #d97706}.brand-star:hover{color:#f59e0b;background:#f59e0b26;transform:scale(1.1);box-shadow:0 0 20px #f59e0b4d}.brand-star:active{transform:scale(.95)}.brand-star.animating{animation:starPop 1.5s cubic-bezier(.34,1.56,.64,1)}.brand-star.animating svg{color:#f59e0b;animation:starSpin 1.5s cubic-bezier(.34,1.56,.64,1),starGlow 1.5s ease-in-out}.brand-star.animating .star-particles span{animation:particleBurst 1s cubic-bezier(.34,1.56,.64,1) forwards}.brand-star.animating .star-particles span:nth-child(1){--angle: 0deg;--distance: 20px;animation-delay:.1s}.brand-star.animating .star-particles span:nth-child(2){--angle: 60deg;--distance: 24px;animation-delay:.15s}.brand-star.animating .star-particles span:nth-child(3){--angle: 120deg;--distance: 18px;animation-delay:.1s}.brand-star.animating .star-particles span:nth-child(4){--angle: 180deg;--distance: 22px;animation-delay:.2s}.brand-star.animating .star-particles span:nth-child(5){--angle: 240deg;--distance: 20px;animation-delay:.12s}.brand-star.animating .star-particles span:nth-child(6){--angle: 300deg;--distance: 26px;animation-delay:.18s}.brand-star.animating .star-ring{animation:ringExpand .8s cubic-bezier(.22,1,.36,1) forwards}.brand-star.animating .star-ring.ring-2{animation-delay:.15s;border-color:#fbbf24}.brand-star.animating .star-ring.ring-3{animation-delay:.3s;border-color:#fcd34d;border-width:1px}.brand-star.animating .star-tooltip{animation:tooltipPop 1.5s cubic-bezier(.34,1.56,.64,1) forwards}.brand-star.animating:before{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;background:radial-gradient(circle,rgba(245,158,11,.4) 0%,transparent 70%);animation:bgFlash .6s ease-out forwards;z-index:-1}.brand-star.animating:after{content:"";position:absolute;top:0;left:-100%;width:200%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);animation:shineSweep .5s .2s ease-out forwards;border-radius:50%;z-index:3}@keyframes starSpin{0%{transform:rotate(0) scale(1)}25%{transform:rotate(-15deg) scale(1.2)}50%{transform:rotate(15deg) scale(1.3)}75%{transform:rotate(-5deg) scale(1.1)}to{transform:rotate(0) scale(1)}}@keyframes starPop{0%{transform:scale(1)}20%{transform:scale(1.4)}40%{transform:scale(1.1)}60%{transform:scale(1.25)}80%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes starGlow{0%,to{filter:drop-shadow(0 0 2px rgba(245,158,11,.4))}30%{filter:drop-shadow(0 0 8px rgb(245,158,11)) drop-shadow(0 0 16px rgba(245,158,11,.8)) drop-shadow(0 0 24px rgba(245,158,11,.4))}60%{filter:drop-shadow(0 0 6px rgba(245,158,11,.8))}}@keyframes particleBurst{0%{opacity:1;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(0) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(calc(var(--distance) * -.7)) scale(1.2)}to{opacity:0;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(calc(var(--distance) * -1)) scale(0)}}@keyframes ringExpand{0%{transform:scale(.8);opacity:1}to{transform:scale(2.5);opacity:0}}@keyframes tooltipPop{0%{opacity:0;transform:translateY(-50%) translate(-4px) scale(.8)}20%{opacity:1;transform:translateY(-50%) translate(0) scale(1.05)}30%{transform:translateY(-50%) translate(0) scale(1)}70%{opacity:1;transform:translateY(-50%) translate(0) scale(1)}to{opacity:0;transform:translateY(-50%) translate(4px) scale(.9)}}@keyframes bgFlash{0%{opacity:0;transform:scale(.5)}30%{opacity:1;transform:scale(1.5)}to{opacity:0;transform:scale(2)}}@keyframes shineSweep{0%{left:-200%;opacity:1}to{left:100%;opacity:0}}.dashboard-layout{display:flex;min-height:100vh}.main-content{background-color:hsl(var(--background))}@media (max-width: 768px){.main-content{padding:20px}}.main-content:has(.workflow-page.fullscreen){padding:0;overflow:hidden}.top-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:40px}.top-bar h1{font-size:24px;font-weight:600;letter-spacing:-.5px}@media (max-width: 768px){.top-bar{flex-direction:column;align-items:flex-start;gap:16px}}.top-bar-actions{display:flex;gap:12px}.page-container{width:100%;max-width:1400px;margin:0 auto;padding-bottom:40px}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;flex-wrap:wrap;gap:16px}.page-header .page-header-content h1,.page-header .header-info h1{font-size:24px;font-weight:600;margin:0 0 4px;color:var(--text-primary)}.page-header .page-header-content .page-description,.page-header .page-header-content p,.page-header .header-info .page-description,.page-header .header-info p{color:var(--text-secondary);font-size:12px;margin:0}.page-header .page-header-actions,.page-header .header-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}@media (max-width: 768px){.page-header{flex-direction:column;align-items:stretch}.page-header .page-header-actions,.page-header .header-actions{justify-content:flex-end}}.page{font-size:24px;color:var(--text-secondary)}.loading{display:flex;align-items:center;justify-content:center;min-height:60vh;color:var(--text-secondary)}.loading-state{min-height:40vh}.impersonation-banner{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#f59e0b1a;border-bottom:1px solid rgba(245,158,11,.2);color:#f59e0b;font-size:12px}.impersonation-banner span{flex:1}.impersonation-banner strong{font-weight:600;color:var(--text-primary)}.impersonation-banner button{background:none;border:1px solid rgba(245,158,11,.2);border-radius:4px;padding:2px 12px;font-size:10px;font-weight:600;color:#f59e0b;cursor:pointer}.impersonation-banner button:hover{background:#f59e0b1a}.stats-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:32px}@media (max-width: 1280px){.stats-strip{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.stats-strip{grid-template-columns:1fr}}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:24px}.overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}@media (max-width: 768px){.overview-grid{grid-template-columns:1fr}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;height:36px;border-radius:var(--radius, 6px);border:1px solid transparent;font-size:14px;font-weight:500;font-family:Inter,ui-sans-serif,system-ui,sans-serif;cursor:pointer;transition:background-color .15s ease,color .15s ease,opacity .15s ease;background:none;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn svg{width:16px;height:16px}.btn-primary{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.btn-primary:hover:not(:disabled){background-color:hsl(var(--primary)/.9)}.btn-secondary{background-color:hsl(var(--secondary));color:hsl(var(--secondary-foreground));border-color:hsl(var(--border))}.btn-secondary:hover:not(:disabled){background-color:hsl(var(--secondary)/.8)}.btn-danger{background:hsl(var(--destructive));color:hsl(var(--destructive-foreground))}.btn-danger:hover:not(:disabled){background:hsl(var(--destructive)/.9)}.btn-warning{background:#f59e0b26;color:#f59e0b;border:1px solid rgba(245,158,11,.3)}.btn-warning:hover:not(:disabled){background:#f59e0b40;border-color:#f59e0b80}.btn-ghost{background:transparent;color:hsl(var(--foreground))}.btn-ghost:hover:not(:disabled){background-color:hsl(var(--accent));color:hsl(var(--accent-foreground))}.btn-outline{background:transparent;border-color:hsl(var(--border));color:hsl(var(--foreground))}.btn-outline:hover:not(:disabled){background-color:hsl(var(--accent));color:hsl(var(--accent-foreground))}.btn-sm{padding:4px 8px;font-size:11px}.btn-lg{padding:12px 24px;font-size:14px}.btn-full{width:100%;justify-content:center}.btn-icon{padding:8px}.btn-icon svg{width:18px;height:18px}.btn-expand{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:4px 8px;font-size:12px;display:flex;align-items:center;justify-content:flex-start;gap:4px;transition:color .2s ease}.btn-expand:hover{color:var(--text-primary)}.card{background-color:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;transition:border-color .2s ease}.card:hover{border-color:var(--border-active)}.card{padding:24px;position:relative}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.card h3{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.card-link{color:var(--text-secondary);text-decoration:none;font-size:13px;transition:color .2s ease}.card-link:hover{color:var(--accent-primary)}.app-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:10px;font-size:18px;font-weight:700;color:#fff}.metric-row{margin-top:24px;padding-top:20px;border-top:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--text-secondary)}.metric-item{display:flex;flex-direction:column;gap:4px}.metric-value{font-weight:600;color:var(--text-primary);font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}@media (max-width: 1280px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.stats-grid{grid-template-columns:1fr}}.stat-card{background:var(--bg-card);padding:20px;border-radius:12px;border:1px solid var(--border-subtle);display:flex;align-items:center;gap:16px}.stat-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:8px;flex-shrink:0}.stat-icon svg{width:24px;height:24px;stroke:currentColor;stroke-width:2;fill:none}.stat-icon,.stat-icon.backups{background:#6366f11a;color:var(--accent-primary)}.stat-icon.apps{background:#10b9811a;color:#10b981}.stat-icon.databases{background:#3367911a;color:#336791}.stat-icon.size{background:#f59e0b1a;color:#f59e0b}.stat-icon.alerts{background:#ef44441a;color:#ef4444}.stat-icon.schedules{background:#2496ed1a;color:#2496ed}.stat-content{display:flex;flex-direction:column;gap:4px;min-width:0}.stat-label{font-size:12px;color:var(--text-tertiary);font-weight:500}.stat-value{font-size:20px;font-weight:700;color:var(--text-primary);line-height:1.2}.stat-suffix{font-size:14px;color:var(--text-tertiary);font-weight:400}.progress-bar{height:4px;background:var(--bg-hover);border-radius:2px;overflow:hidden;margin-top:4px}.progress-fill{height:100%;border-radius:2px;transition:width .2s ease}.empty-state{text-align:center;padding:64px 20px;background:var(--bg-card);border-radius:12px;border:1px solid var(--border-subtle)}.empty-state h3{font-size:16px;font-weight:600;margin-bottom:8px}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.section-header h3{font-size:16px;font-weight:600}.danger-zone{border-color:#ef44444d;background:#ef44440d}.danger-zone h4{color:#ef4444;margin-bottom:8px}.danger-zone p{color:var(--text-secondary);margin-bottom:16px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;align-items:flex-start;padding:20px;padding-top:max(20px,5vh);overflow-y:auto;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:12px;width:100%;max-width:560px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.modal-sm{max-width:420px}.modal-lg{max-width:800px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid hsl(var(--border));flex-shrink:0}.modal-header h2,.modal-header h3{font-size:14px;font-weight:600;color:hsl(var(--foreground))}.modal-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:none;border:none;color:hsl(var(--muted-foreground));font-size:20px;cursor:pointer;line-height:1;border-radius:4px;padding:0;transition:all .2s ease}.modal-close:hover{color:hsl(var(--foreground));background:hsl(var(--accent))}.modal-body{padding:24px;overflow-y:auto;flex:1}.modal-body::-webkit-scrollbar{width:6px;height:6px}.modal-body::-webkit-scrollbar-track{background:var(--bg-body)}.modal-body::-webkit-scrollbar-thumb{background:var(--border-active);border-radius:4px}.modal-body::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.modal form{padding:0;display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:24px;border-top:1px solid hsl(var(--border))}.modal-footer{display:flex;gap:12px;justify-content:flex-end;padding:16px 24px;border-top:1px solid hsl(var(--border));flex-shrink:0}.app-type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;padding:24px}.app-type-card{background:var(--bg-body);border:1px solid var(--border-subtle);border-radius:12px;padding:24px;text-align:center;cursor:pointer;transition:all .2s ease}.app-type-card:hover{border-color:var(--accent-primary);background:var(--bg-hover)}.app-type-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:12px;font-size:20px;font-weight:700;color:#fff;margin:0 auto 16px}.app-type-card h3{font-size:14px;font-weight:600;margin-bottom:4px;color:var(--text-primary)}.app-type-card p{font-size:12px;color:var(--text-tertiary);line-height:1.5}.confirm-dialog{max-width:400px;text-align:center}.confirm-dialog-content{padding:32px 24px 24px}.confirm-dialog-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;margin:0 auto 16px}.confirm-dialog-icon svg{width:32px;height:32px}.confirm-dialog-icon-danger{background:#ef444426;color:#ef4444}.confirm-dialog-icon-warning{background:#f59e0b26;color:#f59e0b}.confirm-dialog-icon-info{background:#6366f126;color:var(--accent-primary)}.confirm-dialog-title{font-size:18px;font-weight:600;margin-bottom:8px}.confirm-dialog-message{font-size:12px;color:var(--text-secondary);line-height:1.6}.confirm-dialog-actions{display:flex;gap:12px;justify-content:center;padding:16px 24px 24px}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:10px;font-weight:500;color:hsl(var(--muted-foreground));margin-bottom:4px}.form-group input,.form-group select,.form-group textarea{width:100%;height:36px;padding:0 12px;background:hsl(var(--background));border:1px solid hsl(var(--input));border-radius:6px;color:hsl(var(--foreground));font-size:12px;line-height:1;transition:border-color .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent-primary);outline:none;box-shadow:none}.form-group input::-moz-placeholder,.form-group select::-moz-placeholder,.form-group textarea::-moz-placeholder{color:hsl(var(--muted-foreground))}.form-group input::placeholder,.form-group select::placeholder,.form-group textarea::placeholder{color:hsl(var(--muted-foreground))}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{cursor:not-allowed;opacity:.5}.form-group select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='hsl(var(--muted-foreground))' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px;height:36px;padding-top:0;padding-bottom:0}.form-group textarea{resize:vertical;min-height:80px;height:auto;padding-top:8px;padding-bottom:8px;line-height:1.5}@media (max-width: 768px){.form-row{grid-template-columns:1fr}}.install-form,.env-form,.command-input{display:flex;gap:12px;margin-bottom:24px}.install-form input,.env-form input,.command-input input{flex:1;width:100%;height:36px;padding:0 12px;background:hsl(var(--background));border:1px solid hsl(var(--input));border-radius:6px;color:hsl(var(--foreground));font-size:12px;line-height:1;transition:border-color .2s ease}.install-form input:focus,.env-form input:focus,.command-input input:focus{border-color:var(--accent-primary);outline:none;box-shadow:none}.install-form input::-moz-placeholder,.env-form input::-moz-placeholder,.command-input input::-moz-placeholder{color:hsl(var(--muted-foreground))}.install-form input::placeholder,.env-form input::placeholder,.command-input input::placeholder{color:hsl(var(--muted-foreground))}.install-form input:disabled,.env-form input:disabled,.command-input input:disabled{cursor:not-allowed;opacity:.5}.hint{color:var(--text-tertiary);font-size:13px;margin-bottom:16px}.form-label{display:block;font-size:10px;font-weight:500;color:var(--text-secondary);margin-bottom:4px}.form-required{color:#ef4444;margin-left:2px}.form-hint{display:block;font-size:10px;color:var(--text-tertiary);margin-top:4px}.form-hint code{font-family:JetBrains Mono,Fira Code,Monaco,monospace;color:var(--text-secondary)}.error-message{background:#ef44441a;border:1px solid rgba(239,68,68,.2);color:#ef4444;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:13px}.success-message{background:#10b9811a;border:1px solid rgba(16,185,129,.2);color:#10b981;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:13px}.error-banner{background:#ef44441a;border:1px solid rgba(239,68,68,.2);color:#ef4444;padding:12px 16px;border-radius:8px;margin-bottom:24px}.filter-toggle{display:flex;align-items:center;justify-content:flex-start;gap:8px}.filter-toggle label{display:flex;align-items:center;justify-content:flex-start;gap:8px;color:var(--text-secondary);font-size:13px;cursor:pointer}.filter-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent-primary)}.form-input{width:100%;height:36px;padding:0 12px;background:hsl(var(--background));border:1px solid hsl(var(--input));border-radius:6px;color:hsl(var(--foreground));font-size:12px;line-height:1;transition:border-color .2s ease}.form-input:focus{border-color:var(--accent-primary);outline:none;box-shadow:none}.form-input::-moz-placeholder{color:hsl(var(--muted-foreground))}.form-input::placeholder{color:hsl(var(--muted-foreground))}.form-input:disabled{cursor:not-allowed;opacity:.5}.form-select{width:100%;height:36px;padding:0 12px;background:hsl(var(--background));border:1px solid hsl(var(--input));border-radius:6px;color:hsl(var(--foreground));font-size:12px;line-height:1;transition:border-color .2s ease}.form-select:focus{border-color:var(--accent-primary);outline:none;box-shadow:none}.form-select::-moz-placeholder{color:hsl(var(--muted-foreground))}.form-select::placeholder{color:hsl(var(--muted-foreground))}.form-select:disabled{cursor:not-allowed;opacity:.5}.form-select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='hsl(var(--muted-foreground))' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.input-error{border-color:#ef4444!important}.input-error:focus{border-color:#ef4444!important;box-shadow:0 0 0 2px #ef444426}.input-success{border-color:#10b981!important}.input-success:focus{border-color:#10b981!important;box-shadow:0 0 0 2px #10b98126}.code-editor{width:100%;min-height:400px;padding:16px;background:var(--bg-body);border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-primary);font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:13px;line-height:1.6;resize:vertical;transition:border-color .2s ease}.code-editor:focus{border-color:var(--accent-primary)}.status-badge{display:flex;align-items:center;gap:6px;padding:4px 10px;border-radius:9999px;font-size:11px;font-weight:600;border:1px solid transparent}.status-dot{width:6px;height:6px;background:currentColor;border-radius:9999px}.status-active{background:#10b9811a;color:#10b981;border-color:#10b98133}.status-warning{background:#f59e0b1a;color:#f59e0b;border-color:#f59e0b33}.status-stopped{background:#71717a1a;color:var(--text-tertiary);border-color:#71717a33}.status-error{background:#ef44441a;color:#ef4444;border-color:#ef444433}.app-type{background:var(--bg-hover);padding:2px 8px;border-radius:4px;font-weight:600;font-size:10px;letter-spacing:.5px;text-transform:uppercase}.ssl-badge{background:#10b9811a;color:#10b981;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600}.active-badge{background:#10b9811a;color:#10b981;padding:4px 12px;border-radius:9999px;font-size:12px;font-weight:600}.inactive-badge{color:var(--text-tertiary);font-size:12px}.waas-readonly-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:#f59e0b1f;color:#f59e0b;border-radius:9999px;font-size:10px;font-weight:600}.waas-readonly-notice{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#f59e0b14;border:1px solid rgba(245,158,11,.2);border-radius:6px;margin-bottom:16px;font-size:12px;color:var(--text-secondary)}.waas-readonly-notice svg{flex-shrink:0;color:#f59e0b}.db-type-badge{display:inline-flex;align-items:center;gap:4px;background:var(--bg-hover);padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.db-type-badge.mysql{color:#f29111}.db-type-badge.postgresql{color:#336791}.privilege-tag{background:var(--accent-glow);color:var(--accent-primary);padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.table-tag{background:var(--bg-hover);border:1px solid var(--border-subtle);padding:6px 12px;border-radius:6px;font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;color:var(--text-secondary)}.env-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;border:1px solid transparent}.env-badge.env-production{background:#10b98126;color:#10b981;border-color:#10b9814d}.env-badge.env-development{background:#6366f126;color:var(--accent-primary);border-color:#6366f14d}.env-badge.env-staging{background:#f59e0b26;color:#f59e0b;border-color:#f59e0b4d}.env-badge .env-linked-icon{opacity:.7}.badge{display:inline-flex;align-items:center;justify-content:center;padding:.25rem .5rem;font-size:.75rem;font-weight:600;line-height:1;border-radius:9999px;white-space:nowrap}.badge-info{background-color:#3b82f626;color:#3b82f6}.badge-success{background-color:#10b98126;color:#10b981}.badge-error{background-color:#ef444426;color:#ef4444}.badge-warning{background-color:#f59e0b26;color:#f59e0b}.badge-default{background-color:#71717a26;color:var(--text-tertiary)}.tabs-container{overflow:visible}.tabs{display:inline-flex;align-items:center;justify-content:flex-start;gap:4px;height:36px;border-radius:8px;background:hsl(var(--muted));padding:3px;margin-bottom:24px;overflow-x:auto;scrollbar-width:none;width:-moz-fit-content;width:fit-content}.tabs::-webkit-scrollbar{display:none}@media (max-width: 768px){.tabs{-webkit-overflow-scrolling:touch}}.tab{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:4px;height:calc(100% - 1px);background:none;border:1px solid transparent;border-radius:6px;padding:0 12px;color:hsl(var(--muted-foreground));font-size:13px;font-weight:500;cursor:pointer;transition:color .15s ease,box-shadow .15s ease,background .15s ease;white-space:nowrap;font-family:Inter,ui-sans-serif,system-ui,sans-serif}.tab:hover{color:hsl(var(--foreground))}.tab.active{background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.tab-content{min-height:400px}.tabs-nav{display:inline-flex;align-items:center;gap:4px;height:36px;border-radius:8px;background:hsl(var(--muted));padding:3px;margin-bottom:24px}.tabs-nav.tabs-nav-scrollable{overflow-x:auto;scrollbar-width:none}.tabs-nav.tabs-nav-scrollable::-webkit-scrollbar{display:none}.tab-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:4px;height:calc(100% - 1px);background:none;border:1px solid transparent;border-radius:6px;padding:0 12px;color:hsl(var(--muted-foreground));font-size:13px;font-weight:500;cursor:pointer;transition:color .15s ease,box-shadow .15s ease,background .15s ease;white-space:nowrap;font-family:Inter,ui-sans-serif,system-ui,sans-serif}.tab-embedded>.page-container>.page-header,.tab-embedded>.page-header,.tab-embedded>.top-bar,.tab-embedded>div>.page-header,.tab-embedded>div>.top-bar{display:none}.tab-embedded>[class*=-page]>.page-header,.tab-embedded>[class*=-page]>header.top-bar,.tab-embedded>[class*=-page]>.top-bar{display:none}.list-base{display:flex;flex-direction:column;gap:8px}.info-item{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border-subtle)}.info-label{color:var(--text-tertiary);font-size:13px}.info-value{color:var(--text-primary);font-weight:500}.info-value.mono{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px}.packages-list{display:flex;flex-direction:column;gap:8px}.package-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background-color:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;transition:border-color .2s ease}.package-item:hover{border-color:var(--border-active)}.package-name{font-weight:500}.package-version{color:var(--text-tertiary);font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px}.env-item{display:flex;align-items:center;gap:16px;padding:12px 16px;background-color:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;transition:border-color .2s ease}.env-key{font-weight:600;font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;color:var(--accent-primary);min-width:150px}.env-value{flex:1;font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;color:var(--text-secondary);word-break:break-all}.plugins-list,.themes-list{display:flex;flex-direction:column;gap:8px}.plugin-item,.theme-item{display:flex;align-items:center;justify-content:space-between;padding:16px;background-color:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;transition:border-color .2s ease}.plugin-item:hover,.theme-item:hover{border-color:var(--border-active)}.plugin-item.active,.theme-item.active{border-color:#10b981;background:#10b9810d}.plugin-info,.theme-info{display:flex;align-items:center;justify-content:flex-start;gap:12px}.plugin-name,.theme-name{font-weight:500}.plugin-version,.theme-version{color:var(--text-tertiary);font-size:12px}.backups-list{display:flex;flex-direction:column;gap:8px}.backup-item{display:flex;align-items:center;justify-content:space-between;padding:16px;background-color:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;transition:border-color .2s ease}.backup-item:hover{border-color:var(--border-active)}.backup-info{display:flex;align-items:center;justify-content:flex-start;gap:20px}.backup-name{font-weight:500;font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px}.backup-size,.backup-date{color:var(--text-tertiary);font-size:13px}.domain-item{display:flex;align-items:center;justify-content:flex-start;gap:8px}.domain-item a{color:var(--accent-primary);transition:color .2s ease}.domain-item a:hover{text-decoration:underline}.tables-list{display:flex;flex-wrap:wrap;gap:8px}.privileges-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;padding-top:8px;border-top:1px solid var(--border-subtle)}.services-grid{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}.service-item{display:flex;align-items:center;justify-content:flex-start;gap:8px;padding:8px 16px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;font-size:13px}.service-dot{width:8px;height:8px;border-radius:9999px}.service-dot.running{background:#10b981;box-shadow:0 0 8px #10b981}.service-dot.stopped{background:var(--text-tertiary)}.service-name{font-weight:500;color:var(--text-primary)}.service-status{color:var(--text-tertiary);font-size:12px}.live-indicator{color:#10b981;font-size:12px;font-weight:500}.live-indicator:before{content:"";display:inline-block;width:6px;height:6px;background:#10b981;border-radius:9999px;margin-right:4px;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.log-viewer{background:var(--bg-body);border:1px solid var(--border-subtle);border-radius:8px;padding:16px;font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px}.log-viewer::-webkit-scrollbar{width:6px;height:6px}.log-viewer::-webkit-scrollbar-track{background:var(--bg-body)}.log-viewer::-webkit-scrollbar-thumb{background:var(--border-active);border-radius:4px}.log-viewer::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.log-viewer{max-height:500px;overflow-y:auto;line-height:1.5}.log-controls{display:flex;align-items:center;justify-content:flex-start;gap:12px}.log-controls select{padding:8px 12px;background:var(--bg-body);border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-primary);font-size:13px}.command-output{background:var(--bg-body);border:1px solid var(--border-subtle);border-radius:8px;padding:16px;margin-top:20px}.command-output pre{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;white-space:pre-wrap;word-break:break-all;color:var(--text-primary)}.command-output.error{border-color:#ef4444}.command-output .stderr{color:#ef4444}.quick-commands{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.credentials-box{background:var(--bg-body);border:1px solid var(--border-subtle);border-radius:8px;padding:16px;margin:16px 0}.credentials-box h4{font-size:14px;font-weight:600;margin-bottom:12px;color:#10b981}.credentials-box .warning{font-size:12px;color:#f59e0b;margin-bottom:12px;display:flex;align-items:center;justify-content:flex-start;gap:6px}.credential-row{display:flex;align-items:center;justify-content:flex-start;gap:12px;padding:8px 0;border-bottom:1px solid var(--border-subtle)}.credential-row:last-child{border-bottom:none}.credential-label{font-size:12px;color:var(--text-tertiary);min-width:80px}.credential-value{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:13px;color:var(--text-primary);background:var(--bg-hover);padding:4px 8px;border-radius:4px;flex:1}.credential-copy{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:4px;transition:color .2s ease}.credential-copy:hover{color:var(--accent-primary)}.toast-container{position:fixed;top:16px;right:16px;z-index:9999;display:flex;flex-direction:column;gap:8px;max-width:400px;pointer-events:none}.toast{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border-radius:6px;background:var(--bg-card);border:1px solid var(--border-subtle);box-shadow:var(--shadow-lg);pointer-events:auto;animation:toast-slide-in .3s ease-out}.toast-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center}.toast-icon svg{width:18px;height:18px}.toast-message{flex:1;font-size:12px;line-height:1.4;color:var(--text-primary)}.toast-dismiss{flex-shrink:0;background:none;border:none;padding:4px;cursor:pointer;color:var(--text-tertiary);border-radius:4px;transition:all .2s ease}.toast-dismiss:hover{color:var(--text-primary);background:var(--bg-hover)}.toast-success{border-color:#10b9814d;background:#10b9811a}.toast-success .toast-icon{color:#10b981}.toast-error{border-color:#ef44444d;background:#ef44441a}.toast-error .toast-icon{color:#ef4444}.toast-warning{border-color:#f59e0b4d;background:#f59e0b1a}.toast-warning .toast-icon{color:#f59e0b}.toast-info{border-color:#6366f14d;background:#6366f11a}.toast-info .toast-icon{color:var(--accent-primary)}@keyframes toast-slide-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.spinner{display:inline-flex;align-items:center;justify-content:center}.spinner-sm{width:16px;height:16px}.spinner-sm .spinner-ring{width:16px;height:16px;border-width:2px}.spinner-md{width:24px;height:24px}.spinner-md .spinner-ring{width:24px;height:24px;border-width:3px}.spinner-lg{width:40px;height:40px}.spinner-lg .spinner-ring{width:40px;height:40px;border-width:4px}.spinner-ring{border-radius:50%;border-style:solid;border-color:#6366f14d;border-top-color:var(--accent-primary);animation:spinner-rotate .8s linear infinite}@keyframes spinner-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:32px;color:var(--text-secondary)}.loading-state span{font-size:12px}.btn-loading{position:relative;pointer-events:none;color:transparent!important}.btn-loading .spinner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.btn-loading .spinner .spinner-ring{border-color:var(--border-subtle);border-top-color:var(--text-primary)}.btn-loading.btn-primary .spinner .spinner-ring{border-color:#ffffff4d;border-top-color:#fff}.btn-loading.btn-secondary .spinner .spinner-ring{border-color:#f4f4f54d;border-top-color:var(--text-primary)}.btn-loading.btn-danger .spinner .spinner-ring{border-color:#ffffff4d;border-top-color:#fff}.uptime-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;padding:24px}.uptime-card.loading,.uptime-card.error{display:flex;align-items:center;justify-content:center;gap:12px;min-height:200px;color:var(--text-tertiary)}.uptime-card.error{color:#ef4444}.uptime-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px}.uptime-title{display:flex;align-items:center;gap:12px}.uptime-title .uptime-icon{color:#10b981}.uptime-title h3{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 4px}.uptime-status{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary)}.uptime-status .status-dot{width:8px;height:8px;border-radius:50%;background:var(--text-tertiary)}.uptime-status.online{color:#10b981}.uptime-status.online .status-dot{background:#10b981;box-shadow:0 0 8px #10b981;animation:pulse-dot 2s ease-in-out infinite}.uptime-status.degraded{color:#f59e0b}.uptime-status.degraded .status-dot{background:#f59e0b}.uptime-status.offline{color:#ef4444}.uptime-status.offline .status-dot{background:#ef4444}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.2)}}.uptime-percentage{text-align:right}.uptime-percentage .percentage-value{display:block;font-size:24px;font-weight:700;font-family:JetBrains Mono,Fira Code,Monaco,monospace;color:var(--text-primary)}.uptime-percentage .percentage-value.excellent,.uptime-percentage .percentage-value.good{color:#10b981}.uptime-percentage .percentage-value.fair{color:#f59e0b}.uptime-percentage .percentage-value.poor{color:#ef4444}.uptime-percentage .percentage-label{font-size:10px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.uptime-counter{display:flex;align-items:center;justify-content:center;gap:8px;padding:20px;background:linear-gradient(135deg,#6366f10d,#10b9810d);border:1px solid var(--border-subtle);border-radius:8px;margin-bottom:24px}.uptime-counter-item{display:flex;flex-direction:column;align-items:center;min-width:60px}.uptime-counter-item .counter-value{font-size:32px;font-weight:700;font-family:JetBrains Mono,Fira Code,Monaco,monospace;color:var(--text-primary);line-height:1}.uptime-counter-item .counter-label{font-size:10px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin-top:4px}.counter-separator{font-size:32px;font-weight:700;font-family:JetBrains Mono,Fira Code,Monaco,monospace;color:var(--text-tertiary);margin:0 4px 16px}.uptime-graph-section{margin-bottom:20px}.uptime-graph-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.uptime-graph-header .graph-title{font-size:12px;font-weight:500;color:var(--text-secondary)}.period-selector{display:flex;gap:4px;background:var(--bg-hover);padding:4px;border-radius:6px}.period-btn{padding:4px 12px;font-size:10px;font-weight:500;color:var(--text-tertiary);background:transparent;border:none;border-radius:4px;cursor:pointer;transition:all .15s ease}.period-btn:hover{color:var(--text-primary)}.period-btn.active{background:var(--accent-primary);color:#fff}.uptime-graph{display:flex;gap:2px;height:32px;background:var(--bg-hover);border-radius:6px;overflow:hidden;padding:4px}.graph-bar{flex:1;border-radius:2px;transition:transform .15s ease,opacity .15s ease;cursor:pointer;min-width:4px}.graph-bar:hover{transform:scaleY(1.1);opacity:.8}.graph-bar.up{background:#10b981}.graph-bar.degraded{background:#f59e0b}.graph-bar.down{background:#ef4444}.graph-bar.no_data,.graph-bar.no-data{background:var(--border-subtle)}.uptime-graph-labels{display:flex;justify-content:space-between;margin-top:8px;font-size:10px;color:var(--text-tertiary)}.uptime-legend{display:flex;align-items:center;justify-content:center;gap:20px;padding:12px 0;border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);margin-bottom:20px}.legend-item{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--text-secondary)}.legend-dot{width:10px;height:10px;border-radius:2px}.legend-dot.up{background:#10b981}.legend-dot.degraded{background:#f59e0b}.legend-dot.down{background:#ef4444}.legend-dot.no-data{background:var(--border-subtle)}.uptime-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.uptime-stat{display:flex;flex-direction:column;align-items:center;padding:12px;background:var(--bg-hover);border-radius:6px}.uptime-stat .stat-period{font-size:10px;color:var(--text-tertiary);text-transform:uppercase;margin-bottom:4px}.uptime-stat .stat-value{font-size:16px;font-weight:700;font-family:JetBrains Mono,Fira Code,Monaco,monospace;color:var(--text-primary)}.uptime-stat .stat-value.excellent,.uptime-stat .stat-value.good{color:#10b981}.uptime-stat .stat-value.fair{color:#f59e0b}.uptime-stat .stat-value.poor{color:#ef4444}.uptime-compact{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px}.uptime-compact-status{display:flex;align-items:center;gap:12px}.uptime-compact-status .uptime-compact-label{font-size:12px;color:var(--text-secondary)}.uptime-compact-status .uptime-compact-percent{font-size:14px;font-weight:700;font-family:JetBrains Mono,Fira Code,Monaco,monospace;padding:4px 8px;border-radius:4px;background:#10b9811a;color:#10b981}.uptime-compact-status .uptime-compact-percent.fair{background:#f59e0b1a;color:#f59e0b}.uptime-compact-status .uptime-compact-percent.poor{background:#ef44441a;color:#ef4444}.uptime-compact-time{display:flex;align-items:baseline;gap:2px;font-family:JetBrains Mono,Fira Code,Monaco,monospace}.uptime-compact-time .value{font-size:18px;font-weight:700;color:var(--text-primary)}.uptime-compact-time .unit{font-size:12px;color:var(--text-tertiary);margin-right:4px}@media (max-width: 768px){.uptime-counter-item{min-width:50px}.uptime-counter-item .counter-value,.counter-separator{font-size:24px}.uptime-stats-grid{grid-template-columns:repeat(2,1fr)}.uptime-legend{flex-wrap:wrap;gap:12px}}.metrics-graph-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;padding:24px;margin-bottom:24px}.metrics-graph-card.loading,.metrics-graph-card.error,.metrics-graph-card.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:200px;color:var(--text-tertiary)}.metrics-graph-card.loading .muted,.metrics-graph-card.error .muted,.metrics-graph-card.empty .muted{font-size:12px}.metrics-graph-card.error{color:#ef4444}.metrics-graph-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.graph-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text-primary)}.metrics-summary-row{display:flex;gap:24px;padding:16px;background:var(--bg-hover);border-radius:8px;margin-bottom:20px}.summary-stat{display:flex;align-items:center;gap:12px}.summary-stat svg{color:var(--text-tertiary)}.summary-stat .stat-label{display:block;font-size:10px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.summary-stat .stat-value{display:block;font-size:18px;font-weight:700;font-family:JetBrains Mono,Fira Code,Monaco,monospace;color:var(--text-primary)}.metrics-chart-container{margin-bottom:16px;background:linear-gradient(180deg,var(--bg-hover) 0%,transparent 100%);border-radius:8px;padding:8px 0}.metrics-chart-container.compact{margin-bottom:12px;background:transparent;padding:0}.metrics-chart-container .recharts-area-area{animation:fadeIn .6s ease-out}.metrics-chart-container .recharts-area-curve{animation:drawLine 1s ease-out}@keyframes drawLine{0%{stroke-dasharray:1000;stroke-dashoffset:1000}to{stroke-dasharray:1000;stroke-dashoffset:0}}.metrics-tooltip{background:#18181bf2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border-subtle);border-radius:8px;padding:12px 16px;box-shadow:0 8px 32px #0006;min-width:140px}.metrics-tooltip .tooltip-time{font-size:10px;color:var(--text-tertiary);margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--border-subtle);text-align:center}.metrics-tooltip .tooltip-row{display:flex;align-items:center;gap:8px;font-size:12px;padding:4px 0}.metrics-tooltip .tooltip-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.metrics-tooltip .tooltip-label{color:var(--text-secondary);flex:1}.metrics-tooltip .tooltip-value{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-weight:700;min-width:48px;text-align:right}.metrics-filter-legend{display:flex;align-items:center;gap:8px;background:var(--bg-hover);padding:4px;border-radius:6px;border:1px solid var(--border-subtle)}.filter-btn{background:transparent;border:1px solid transparent;color:var(--text-tertiary);padding:6px 12px;font-size:10px;font-weight:600;border-radius:4px;cursor:pointer;transition:all .15s ease;text-transform:uppercase}.filter-btn:hover{color:var(--text-primary)}.filter-btn.active{opacity:1}.filter-btn.cpu.active{background:#6366f11a;color:#6366f1;border-color:#6366f14d}.filter-btn.memory.active{background:#10b9811a;color:#10b981;border-color:#10b9814d}.filter-btn.disk.active{background:#f59e0b1a;color:#f59e0b;border-color:#f59e0b4d}.metrics-legend{display:flex;align-items:center;justify-content:center;gap:32px;padding-top:16px;margin-top:8px;border-top:1px solid var(--border-subtle)}.legend-item{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--text-secondary);padding:4px 12px;border-radius:9999px;transition:.15s ease}.legend-item:hover{background:var(--bg-hover);color:var(--text-primary)}.legend-line{width:24px;height:3px;border-radius:2px;position:relative}.legend-line:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:6px;height:6px;border-radius:50%;background:inherit}.legend-line.cpu{background:#6366f1;box-shadow:0 0 8px #6366f180}.legend-line.memory{background:#10b981;box-shadow:0 0 8px #10b98180}.legend-line.disk{background:#f59e0b;box-shadow:0 0 8px #f59e0b80}.metrics-graph-compact{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;padding:16px;margin-bottom:24px}.metrics-graph-compact .metrics-graph-header{margin-bottom:12px}.metrics-graph-compact .metrics-graph-header .graph-title{font-size:12px}.metrics-summary-compact{display:flex;align-items:center;justify-content:center;gap:20px;padding-top:12px;border-top:1px solid var(--border-subtle)}.metrics-summary-compact .summary-item{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary)}.metrics-summary-compact .summary-item svg{color:var(--text-tertiary)}.metrics-summary-compact .summary-item span{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-weight:500}.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke:var(--border-subtle);opacity:.5}.recharts-text{fill:var(--text-secondary)}.recharts-tooltip-cursor{stroke:var(--text-tertiary);stroke-dasharray:4 4}@media (max-width: 768px){.metrics-summary-row{flex-wrap:wrap;gap:16px}.summary-stat{flex:1 1 calc(50% - 8px);min-width:140px}.metrics-legend{flex-wrap:wrap;gap:12px}}@media (max-width: 640px){.metrics-graph-header{flex-direction:column;gap:12px;align-items:flex-start}.summary-stat{flex:1 1 100%}}.env-vars-container .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.env-vars-container .section-header h3{margin:0}.env-vars-container .section-header .header-actions{display:flex;gap:8px}.env-vars-container .hint{color:var(--text-tertiary);font-size:12px;margin-bottom:24px}.env-add-form{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px;padding:16px;margin-bottom:24px}.env-add-form .env-form-row{display:flex;gap:8px;margin-bottom:8px}.env-add-form .env-key-input{width:200px;flex-shrink:0;font-family:JetBrains Mono,Fira Code,Monaco,monospace;text-transform:uppercase}.env-add-form .env-value-input{flex:1}.env-add-form .env-secret-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:4px;cursor:pointer;color:var(--text-tertiary);transition:all .2s}.env-add-form .env-secret-toggle input{display:none}.env-add-form .env-secret-toggle:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.env-add-form .env-secret-toggle:has(input:checked){background:#6366f133;border-color:var(--accent-primary);color:var(--accent-primary)}.env-add-form .env-description-input{width:100%;font-size:12px;color:var(--text-secondary)}.env-filter{position:relative;margin-bottom:16px}.env-filter input{width:100%;padding-right:36px}.env-filter .filter-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-tertiary);cursor:pointer;font-size:18px;padding:4px 8px}.env-filter .filter-clear:hover{color:var(--text-primary)}.env-list{display:flex;flex-direction:column;gap:8px}.env-item{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px;padding:16px;transition:border-color .2s}.env-item:hover{border-color:var(--border-active)}.env-item.is-secret{border-left:3px solid #f59e0b}.env-item .env-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.env-item .env-key{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:4px}.env-item .env-key .secret-badge{color:#f59e0b}.env-item .env-item-actions{display:flex;gap:4px;opacity:0;transition:opacity .2s}.env-item:hover .env-item-actions{opacity:1}.env-item .env-value{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;color:var(--text-secondary);word-break:break-all;padding:4px 0}.env-item .env-description{font-size:10px;color:var(--text-tertiary);margin-top:4px;font-style:italic}.env-item .env-edit-row{display:flex;gap:8px;margin-top:8px}.env-item .env-edit-row input{flex:1;font-family:JetBrains Mono,Fira Code,Monaco,monospace}.btn-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:4px;color:var(--text-tertiary);cursor:pointer;transition:all .2s}.btn-icon:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-icon.btn-danger:hover{background:#ef444433;color:#ef4444}.env-empty{text-align:center;padding:32px;color:var(--text-tertiary);background:var(--bg-card);border:1px dashed var(--border-subtle);border-radius:6px}.env-footer{display:flex;justify-content:space-between;align-items:center;margin-top:24px;padding-top:16px;border-top:1px solid var(--border-subtle)}.env-footer .env-count{color:var(--text-tertiary);font-size:12px}.import-file-upload{margin-bottom:16px}.import-textarea{width:100%;font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;background:var(--bg-body);border:1px solid var(--border-subtle);border-radius:4px;padding:16px;resize:vertical;min-height:200px}.import-textarea::-moz-placeholder{color:var(--text-tertiary)}.import-textarea::placeholder{color:var(--text-tertiary)}.modal-lg{max-width:700px}.private-url-section{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px;padding:20px;margin-bottom:20px}.private-url-section .section-header{margin-bottom:16px}.private-url-section .section-header h3{display:flex;align-items:center;gap:8px;margin:0;font-size:18px;font-weight:500;color:var(--text-primary)}.private-url-section .section-header h3 svg{color:var(--accent-primary)}.private-url-disabled .hint{color:var(--text-secondary);font-size:12px;margin-bottom:16px;line-height:1.5}.private-url-disabled .slug-hint{color:var(--text-tertiary);font-size:10px;margin-top:8px}.private-url-form,.slug-edit-form{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.private-url-form .input-group,.slug-edit-form .input-group{display:flex;align-items:center;flex:1;min-width:200px}.private-url-form .input-prefix,.slug-edit-form .input-prefix{background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-right:none;border-radius:4px 0 0 4px;padding:8px 12px;color:var(--text-tertiary);font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;height:40px;display:flex;align-items:center}.private-url-form .slug-input,.slug-edit-form .slug-input{flex:1;border-radius:0 4px 4px 0;font-family:JetBrains Mono,Fira Code,Monaco,monospace;min-width:150px}.private-url-enabled .private-url-display{background:#10b9811a;border:1px solid rgba(16,185,129,.3);border-radius:6px;padding:16px;margin-bottom:16px}.private-url-enabled .url-box{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.private-url-enabled .url-label{color:var(--text-secondary);font-size:12px}.private-url-enabled .url-value{background:var(--bg-secondary);padding:8px 12px;border-radius:4px;font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;color:var(--text-primary);word-break:break-all;-webkit-user-select:all;-moz-user-select:all;user-select:all}.private-url-enabled .url-actions{display:flex;gap:8px;flex-wrap:wrap}.btn-link{background:none;border:none;color:var(--accent-primary);cursor:pointer;padding:0;font-size:12px}.btn-link:hover{text-decoration:underline}.slug-edit-form,.private-url-footer{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-subtle)}.private-url-indicator{display:inline-flex;align-items:center;gap:4px;color:#10b981;font-size:12px}.private-url-indicator svg{width:14px;height:14px}.totp-inputs{display:flex;justify-content:center;gap:8px;margin:24px 0}.totp-input{width:48px;height:56px;font-size:24px;font-weight:600;text-align:center;border:2px solid var(--border-subtle);border-radius:6px;background:var(--bg-card);color:var(--text-primary);transition:all .2s}.totp-input:focus{border-color:var(--accent-primary);outline:none;box-shadow:0 0 0 3px #6366f133}.totp-input::-moz-placeholder{color:var(--text-tertiary)}.totp-input::placeholder{color:var(--text-tertiary)}.auth-footer-links{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:24px}.link-button{background:none;border:none;color:var(--accent-primary);cursor:pointer;font-size:12px;padding:0}.link-button:hover{text-decoration:underline}.two-fa-card{border:1px solid var(--border-subtle);border-radius:8px;padding:24px;margin-bottom:24px}.two-fa-header{display:flex;gap:16px;margin-bottom:24px}.two-fa-header .two-fa-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#6366f126;border-radius:6px;color:var(--accent-primary);flex-shrink:0}.two-fa-header h3{margin:0 0 4px}.two-fa-header p{margin:0;color:var(--text-secondary);font-size:12px}.two-fa-disabled .two-fa-description{color:var(--text-secondary);margin-bottom:16px}.two-fa-enabled .two-fa-status{display:flex;align-items:center;gap:8px;margin-bottom:16px}.two-fa-enabled .two-fa-info{color:var(--text-secondary);font-size:12px}.two-fa-enabled .two-fa-backup-info{background:var(--bg-hover);padding:8px 16px;border-radius:4px;margin-bottom:16px;display:flex;flex-direction:column;gap:4px}.two-fa-enabled .two-fa-backup-info .warning-text{color:#f59e0b;font-size:12px}.two-fa-enabled .two-fa-actions{display:flex;gap:8px}.setup-steps{display:flex;flex-direction:column;gap:24px}.setup-step{display:flex;gap:16px}.setup-step .step-number{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--accent-primary);color:#fff;border-radius:50%;font-weight:600;font-size:12px;flex-shrink:0}.setup-step .step-content{flex:1}.setup-step .step-content h4{margin:0 0 4px}.setup-step .step-content p{color:var(--text-secondary);margin:0 0 16px;font-size:12px}.qr-code-container{display:flex;justify-content:center;padding:16px;background:#fff;border-radius:6px;margin-bottom:16px}.qr-code{width:200px;height:200px}.qr-fallback{background:var(--bg-hover);padding:16px;border-radius:6px;text-align:center}.qr-fallback .secret-key{display:block;font-size:18px;padding:8px;margin-top:8px;background:var(--bg-body);border-radius:4px;word-break:break-all}.manual-entry{margin-top:16px;font-size:12px;color:var(--text-secondary)}.manual-entry summary{cursor:pointer;color:var(--accent-primary)}.manual-entry summary:hover{text-decoration:underline}.manual-entry p{margin:4px 0}.manual-entry code{background:var(--bg-hover);padding:2px 6px;border-radius:4px}.verification-input{font-size:24px;font-weight:600;text-align:center;letter-spacing:.5em;padding:16px;width:100%;max-width:200px}.warning-box{display:flex;gap:16px;padding:16px;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:6px;margin-bottom:24px}.warning-box svg{flex-shrink:0;color:#f59e0b}.warning-box p{margin:0;color:var(--text-primary);font-size:12px}.error-text{color:#ef4444;font-size:12px;margin-top:4px}.backup-codes-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:24px}.backup-code{display:block;padding:8px 16px;background:var(--bg-hover);border-radius:4px;text-align:center;font-size:16px;font-family:JetBrains Mono,Fira Code,Monaco,monospace}.backup-codes-actions{display:flex;justify-content:center;gap:8px}.backup-codes-actions .btn svg{margin-right:4px}.modal-md{max-width:500px}.loading-sm{color:var(--text-tertiary);font-size:12px}.notification-tabs{display:flex;gap:8px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border-subtle)}.notification-tab{display:flex;align-items:center;gap:8px;padding:12px 16px;background:transparent;border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease}.notification-tab svg{stroke-width:2}.notification-tab:hover{background:var(--bg-hover);border-color:var(--border-default);color:var(--text-primary)}.notification-tab.active{background:var(--accent-glow);border-color:var(--accent-primary);color:var(--accent-primary)}.notification-tab.active svg{stroke:var(--accent-primary)}.user-notification-prefs{display:flex;flex-direction:column;gap:16px}.channel-toggles,.category-toggles{display:flex;flex-wrap:wrap;gap:12px}.channel-toggle,.category-toggle{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px;cursor:pointer;transition:all .15s ease}.channel-toggle input[type=checkbox],.category-toggle input[type=checkbox]{accent-color:var(--accent-primary)}.channel-toggle span,.category-toggle span{font-size:12px;color:var(--text-secondary)}.channel-toggle:hover,.category-toggle:hover{background:var(--bg-hover);border-color:var(--border-default)}.channel-toggle:has(input:checked),.category-toggle:has(input:checked){background:var(--accent-glow);border-color:#6366f166}.channel-toggle:has(input:checked) span,.category-toggle:has(input:checked) span{color:var(--text-primary)}.notification-channels{display:flex;flex-direction:column;gap:16px}.notification-channel-card{border:1px solid var(--border-subtle);border-radius:8px;background:var(--bg-card);overflow:hidden;transition:border-color .2s}.notification-channel-card.enabled{border-color:#10b98166}.channel-header{display:flex;align-items:center;gap:16px;padding:16px 24px;cursor:pointer;transition:background .2s}.channel-header:hover{background:var(--bg-hover)}.channel-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--bg-hover);border-radius:6px;flex-shrink:0}.channel-icon svg{color:var(--text-secondary)}.notification-channel-card.enabled .channel-icon svg{color:var(--accent-primary)}.channel-info{flex:1;min-width:0}.channel-info h3{margin:0 0 4px;font-size:16px}.channel-info p{margin:0;color:var(--text-secondary);font-size:12px}.channel-status{display:flex;align-items:center;gap:16px}.expand-icon{color:var(--text-tertiary);transition:transform .2s}.expand-icon.expanded{transform:rotate(180deg)}.channel-config{padding:24px;border-top:1px solid var(--border-subtle);background:var(--bg-body)}.toggle-switch-label{display:flex;justify-content:space-between;align-items:center}.toggle-switch-label span{font-weight:500}.severity-toggles{display:flex;flex-wrap:wrap;gap:8px}.severity-toggle{display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:4px;background:var(--bg-hover);cursor:pointer;transition:all .2s;font-size:12px}.severity-toggle input{display:none}.severity-toggle span{padding:2px 4px;border-radius:4px}.severity-toggle.critical span{background:#ef444433;color:#ef4444}.severity-toggle.warning span{background:#f59e0b33;color:#f59e0b}.severity-toggle.info span{background:#6366f133;color:var(--accent-primary)}.severity-toggle.success span{background:#10b98133;color:#10b981}.severity-toggle input:checked+span{font-weight:600}.severity-toggle:has(input:not(:checked)){opacity:.5}.severity-toggle:hover{opacity:1}.channel-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:24px;padding-top:16px;border-top:1px solid var(--border-subtle)}.query-runner-overlay.modal-overlay{padding:0;background:#000c}.query-runner-modal{width:100%;height:100%;max-width:100%;max-height:100%;display:flex;flex-direction:column;background:var(--bg-body);border-radius:0;overflow:hidden}.query-runner-modal .modal-body{padding:0;overflow:hidden;display:flex;flex-direction:column;flex:1}.query-runner-actions-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--bg-sidebar);border-bottom:1px solid var(--border-subtle);flex-shrink:0;min-height:44px}.query-runner-actions-bar .readonly-toggle{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary);cursor:pointer}.query-runner-actions-bar .readonly-toggle input[type=checkbox]{accent-color:#f59e0b}.query-runner-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--bg-sidebar);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.query-runner-title{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:600;color:var(--text-primary)}.query-runner-title svg{color:var(--accent-primary)}.query-runner-title .db-type-badge{font-size:10px;padding:4px 8px;border-radius:4px;font-weight:500}.query-runner-title .db-type-badge.mysql{background:#f2911126;color:#f29111}.query-runner-title .db-type-badge.postgresql{background:#33679126;color:#5f9ab8}.query-runner-title .db-type-badge.sqlite{background:#6366f126;color:var(--accent-primary)}.query-runner-actions{display:flex;align-items:center;gap:12px}.query-runner-actions .readonly-toggle{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary);cursor:pointer}.query-runner-actions .readonly-toggle input[type=checkbox]{accent-color:#f59e0b}.query-runner-actions .modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-secondary);font-size:24px;cursor:pointer;border-radius:6px;transition:all .15s ease}.query-runner-actions .modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.query-runner-body{flex:1;display:flex;overflow:hidden}.query-runner-sidebar{width:260px;flex-shrink:0;background:var(--bg-sidebar);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;overflow:hidden}.sidebar-section{display:flex;flex-direction:column;overflow:hidden}.sidebar-section:first-child{flex:1;min-height:150px}.sidebar-section:last-child{border-top:1px solid var(--border-subtle);max-height:40%}.sidebar-section h4{padding:12px 16px;margin:0;font-size:12px;font-weight:600;color:var(--text-secondary);background:var(--bg-card);border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.sidebar-section h4 .btn-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;border-radius:4px;transition:all .15s ease}.sidebar-section h4 .btn-icon:hover{background:var(--bg-hover);color:var(--accent-primary)}.tables-list,.columns-list{flex:1;overflow-y:auto;padding:8px}.table-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-radius:6px;cursor:pointer;transition:all .15s ease}.table-item:hover{background:var(--bg-hover)}.table-item.selected{background:var(--accent-glow);border:1px solid rgba(99,102,241,.3)}.table-item .table-name{font-size:12px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-item .table-rows{font-size:10px;color:var(--text-tertiary);flex-shrink:0;margin-left:8px}.column-item{display:flex;align-items:center;justify-content:space-between;padding:4px 12px;border-radius:4px;cursor:pointer;transition:all .15s ease}.column-item:hover{background:var(--bg-hover)}.column-item .column-name{font-size:12px;font-family:JetBrains Mono,Fira Code,Monaco,monospace;color:var(--text-primary)}.column-item .column-type{font-size:10px;font-family:JetBrains Mono,Fira Code,Monaco,monospace;color:var(--text-tertiary)}.query-runner-main{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-body)}.query-editor{flex-shrink:0;padding:16px;border-bottom:1px solid var(--border-subtle)}.query-editor textarea{width:100%;height:150px;padding:12px;font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;line-height:1.6;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-primary);resize:vertical;transition:border-color .15s ease}.query-editor textarea:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-glow)}.query-editor textarea::-moz-placeholder{color:var(--text-tertiary)}.query-editor textarea::placeholder{color:var(--text-tertiary)}.query-actions{display:flex;justify-content:space-between;align-items:center;margin-top:12px}.query-hints{display:flex;align-items:center;gap:8px}.query-hints .hint{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-tertiary)}.query-hints .hint svg{color:#f59e0b}.query-error{display:flex;align-items:flex-start;gap:8px;padding:12px 16px;background:#ef44441a;border-bottom:1px solid rgba(239,68,68,.2);color:#ef4444;font-size:12px}.query-error svg{flex-shrink:0;margin-top:2px}.query-results{flex:1;display:flex;flex-direction:column;overflow:hidden}.results-header{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;background:var(--bg-card);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.results-header .results-info{font-size:12px;color:var(--text-secondary)}.results-table-container{flex:1;overflow:auto}.results-table{width:100%;border-collapse:collapse;font-size:12px}.results-table th,.results-table td{padding:8px 12px;text-align:left;border-bottom:1px solid var(--border-subtle);white-space:nowrap;max-width:300px;overflow:hidden;text-overflow:ellipsis}.results-table th{position:sticky;top:0;background:var(--bg-card);font-weight:500;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background .15s ease}.results-table th:hover{background:var(--bg-hover)}.results-table th.sorted-asc,.results-table th.sorted-desc{color:var(--accent-primary)}.results-table th .sort-indicator{font-size:10px;margin-left:4px}.results-table td{font-family:JetBrains Mono,Fira Code,Monaco,monospace;color:var(--text-primary)}.results-table td.null-value{color:var(--text-tertiary);font-style:italic}.results-table tbody tr:hover{background:#27272a80}.query-history-panel{position:absolute;top:60px;right:0;width:400px;max-height:calc(100% - 80px);background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;z-index:70;margin:16px;overflow:hidden}.history-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border-subtle)}.history-header h4{margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.history-list{flex:1;overflow-y:auto;padding:8px}.history-item{padding:12px;border-radius:6px;cursor:pointer;transition:all .15s ease}.history-item:hover{background:var(--bg-hover)}.history-item code{display:block;font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px}.history-item .history-time{font-size:10px;color:var(--text-tertiary)}.db-item-icon.sqlite{color:var(--accent-primary)}.deploy-tab{display:flex;flex-direction:column;gap:24px}.deploy-setup .empty-state{text-align:center;padding:48px 32px;background:var(--bg-card);border:1px dashed var(--border-subtle);border-radius:8px}.deploy-setup .empty-state svg{color:var(--text-tertiary);margin-bottom:16px}.deploy-setup .empty-state h3{margin-bottom:8px}.deploy-setup .empty-state p{color:var(--text-secondary);margin-bottom:24px;max-width:400px;margin-left:auto;margin-right:auto}.deploy-header{margin-bottom:16px}.deploy-status-card{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px}.deploy-repo-info{display:flex;align-items:center;gap:12px}.deploy-repo-info svg{color:var(--text-secondary)}.deploy-repo-info .repo-url{display:block;font-weight:500;color:var(--text-primary)}.deploy-repo-info .repo-branch{display:block;font-size:12px;color:var(--text-secondary)}.deploy-actions{display:flex;gap:12px}.deploy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}.webhook-url{display:flex;gap:8px;align-items:center;margin-top:12px;padding:12px;background:var(--bg-hover);border-radius:6px;overflow:hidden}.webhook-url code{flex:1;font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.webhook-logs-toggle{margin-top:16px}.webhook-logs{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-subtle)}.webhook-logs-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.webhook-logs-header h4{margin:0;font-size:12px;font-weight:600;color:var(--text-secondary)}.webhook-logs-list{display:flex;flex-direction:column;gap:12px;max-height:400px;overflow-y:auto}.webhook-log-item{padding:12px;background:var(--bg-hover);border-radius:6px;border:1px solid var(--border-subtle)}.webhook-log-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.provider-badge{display:inline-block;padding:4px 8px;font-size:10px;font-weight:500;border-radius:4px;text-transform:capitalize}.provider-badge.github{background:#33333326;color:#333}.provider-badge.gitlab{background:#fc6d2626;color:#fc6d26}.provider-badge.bitbucket{background:#0052cc26;color:#0052cc}.webhook-log-time{font-size:10px;color:var(--text-tertiary)}.webhook-log-details{margin-bottom:8px}.webhook-log-size{font-size:12px;color:var(--text-secondary)}.webhook-log-preview{margin:0;padding:8px;background:var(--bg-body);border-radius:4px;font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:10px;color:var(--text-secondary);white-space:pre-wrap;word-break:break-all;max-height:100px;overflow-y:auto}.input-with-action .btn{flex-shrink:0}.scripts-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 768px){.scripts-grid{grid-template-columns:1fr}}.script-section h4{margin:0 0 8px;font-size:12px;color:var(--text-secondary)}.script-code{margin:0;padding:12px;background:var(--bg-hover);border-radius:6px;font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;color:var(--text-primary);white-space:pre-wrap;word-break:break-all}.card-actions{display:flex;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border-subtle)}.build-tab{display:flex;flex-direction:column;gap:24px}.detection-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-top:16px}.detection-item{display:flex;flex-direction:column;gap:4px}.detection-label{font-size:10px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.detection-value{font-size:16px;font-weight:500;color:var(--text-primary);text-transform:capitalize}.detection-value.text-success{color:#10b981}.build-actions{display:flex;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border-subtle)}.info-label{font-size:12px;color:var(--text-secondary)}.info-value{font-size:12px;font-weight:500;color:var(--text-primary)}.info-value.mono{font-family:JetBrains Mono,Fira Code,Monaco,monospace}.current-deployment{background:linear-gradient(135deg,#10b9810d,#6366f10d);border-color:#10b9814d}.current-deployment .deployment-current-info{display:flex;flex-direction:column;gap:12px;margin-top:16px}.current-deployment .deployment-version{display:flex;align-items:center;gap:12px}.current-deployment .version-number{font-size:24px;font-weight:700;color:var(--text-primary)}.current-deployment .deployment-commit{display:flex;align-items:center;gap:8px}.current-deployment .commit-hash{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;padding:4px 8px;background:var(--bg-hover);border-radius:4px}.current-deployment .commit-message{font-size:12px;color:var(--text-secondary);max-width:400px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.current-deployment .deployment-meta{display:flex;gap:16px;font-size:12px;color:var(--text-tertiary)}.current-deployment .deployment-actions{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-subtle)}.version-tag{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;font-weight:500}.build-logs-list{display:flex;flex-direction:column;gap:8px}.build-log-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg-hover);border-radius:6px;cursor:pointer;transition:all .15s ease}.build-log-item:hover{background:var(--bg-card);box-shadow:var(--shadow-sm)}.build-log-item .build-log-method{font-size:12px;font-weight:500;color:var(--text-primary);text-transform:capitalize}.build-log-item .build-log-time{font-size:12px;color:var(--text-secondary)}.build-log-item .build-log-lines{font-size:10px;color:var(--text-tertiary);margin-left:auto}.build-log-meta{display:flex;align-items:center;gap:16px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--border-subtle);flex-wrap:wrap}.build-log-meta span{font-size:12px;color:var(--text-secondary)}.build-log-output{margin:0;padding:16px;background:var(--bg-body);border-radius:6px;font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;line-height:1.6;color:var(--text-primary);max-height:500px;overflow:auto;white-space:pre-wrap;word-break:break-all}.alert{position:relative;padding:16px;border-radius:6px;margin-bottom:16px}.alert-danger{background:#ef44441a;border:1px solid rgba(239,68,68,.2);color:#ef4444}.alert-close{position:absolute;top:8px;right:12px;background:none;border:none;font-size:18px;color:inherit;opacity:.6;cursor:pointer}.alert-close:hover{opacity:1}.btn-xs{padding:4px 8px;font-size:10px}.mono{font-family:JetBrains Mono,Fira Code,Monaco,monospace}.setup-card{max-width:480px}.setup-info{display:flex;gap:16px;padding:16px;background:#6366f11a;border-radius:6px;margin-bottom:24px}.setup-info .setup-info-icon{flex-shrink:0;color:var(--accent-primary)}.setup-info p{margin:0;font-size:12px;color:var(--text-secondary);line-height:1.5}.setup-footer{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:24px;padding-top:24px;border-top:1px solid var(--border-default);color:var(--text-tertiary);font-size:12px}.setup-footer svg{color:#10b981}.users-tab .tab-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.users-tab .tab-header .tab-header-content h3{margin:0 0 4px;font-size:18px;font-weight:600}.users-tab .tab-header .tab-header-content p{margin:0;color:var(--text-secondary);font-size:12px}.users-table-container{overflow-x:auto;border:1px solid var(--border-default);border-radius:6px}.users-table{width:100%;border-collapse:collapse}.users-table th,.users-table td{padding:16px;text-align:left;border-bottom:1px solid var(--border-default)}.users-table th{background:var(--bg-hover);font-weight:500;font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.users-table tr:last-child td{border-bottom:none}.users-table tr:hover td{background:var(--bg-card)}.users-table tr.inactive{opacity:.6}.users-table tr.inactive td{background:#f59e0b0d}.users-table tr.gdpr-deleted{opacity:.5}.users-table tr.gdpr-deleted td{background:#ef44440d}.users-table .user-info{display:flex;align-items:center;gap:16px}.users-table .user-avatar{width:40px;height:40px;border-radius:50%;background:var(--accent-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:16px;flex-shrink:0}.users-table .user-details{display:flex;flex-direction:column;gap:2px}.users-table .user-details .username{font-weight:500;display:flex;align-items:center;gap:8px}.users-table .user-details .email{font-size:12px;color:var(--text-secondary)}.users-table .you-badge{font-size:10px;padding:2px 6px;background:var(--accent-primary);color:#fff;border-radius:4px;font-weight:500}.users-table .status-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:9999px;font-size:10px;font-weight:500}.users-table .status-badge.active{background:#10b98126;color:#10b981}.users-table .status-badge.inactive{background:#f59e0b26;color:#f59e0b}.users-table .status-badge.gdpr-deleted{background:#ef444426;color:#ef4444}.users-table .date-cell{font-size:12px;color:var(--text-secondary);white-space:nowrap}.users-table .actions-cell{display:flex;gap:4px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 600px){.form-row{grid-template-columns:1fr}}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.checkbox-label .checkbox-text{font-weight:400}.form-help{display:block;margin-top:4px;font-size:10px;color:var(--text-tertiary)}.role-descriptions{margin-top:24px;padding:16px;background:var(--bg-hover);border-radius:6px}.role-descriptions h4{margin:0 0 16px;font-size:12px;font-weight:600;color:var(--text-secondary)}.role-descriptions .role-item{display:flex;gap:8px;padding:8px 0}.role-descriptions .role-item:not(:last-child){border-bottom:1px solid var(--border-default)}.role-descriptions .role-item .role-name{font-weight:500;min-width:80px;font-size:12px}.role-descriptions .role-item .role-desc{font-size:12px;color:var(--text-secondary)}.audit-log-tab .tab-header{margin-bottom:24px}.audit-log-tab .tab-header h3{margin:0 0 4px;font-size:18px;font-weight:600}.audit-log-tab .tab-header p{margin:0;color:var(--text-secondary);font-size:12px}.filters-bar{display:flex;gap:16px;align-items:flex-end;margin-bottom:24px;padding:16px;background:var(--bg-hover);border-radius:6px}.filters-bar .filter-group label{font-size:12px;font-weight:500;color:var(--text-secondary)}.filters-bar .filter-group select{min-width:180px}.log-entry{display:flex;gap:16px;padding:16px;background:var(--bg-card);border-radius:6px;border-left:3px solid transparent}.log-entry.action-success{border-left-color:#10b981}.log-entry.action-warning{border-left-color:#f59e0b}.log-entry.action-danger{border-left-color:#ef4444}.log-entry.action-info{border-left-color:var(--accent-primary)}.log-entry .log-icon{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--bg-hover);border-radius:4px;color:var(--text-secondary)}.log-entry .log-header{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:4px}.log-entry .log-header .log-action{font-weight:500;text-transform:capitalize}.log-entry .log-header .log-user{color:var(--text-secondary);font-size:12px}.log-entry .log-header .log-target{color:var(--text-tertiary);font-size:12px}.log-entry .log-details{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.log-entry .log-details .detail-item{display:inline-flex;gap:4px;padding:2px 8px;background:var(--bg-hover);border-radius:4px;font-size:10px}.log-entry .log-details .detail-item .detail-key{color:var(--text-tertiary)}.log-entry .log-details .detail-item .detail-value{color:var(--text-secondary);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-entry .log-meta{display:flex;gap:16px;font-size:10px;color:var(--text-tertiary)}.log-entry .log-meta .log-ip{font-family:JetBrains Mono,Fira Code,Monaco,monospace}.pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:24px;padding-top:24px;border-top:1px solid var(--border-default)}.pagination .pagination-info{font-size:12px;color:var(--text-secondary)}.settings-nav-divider{padding:8px 16px;margin-top:16px;font-size:10px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.1em}.settings-nav-divider:first-child{margin-top:0}.loading-state,.empty-state{padding:40px;text-align:center;color:var(--text-secondary)}.btn.text-warning{color:#f59e0b}.btn.text-warning:hover{background:#f59e0b1a}.btn.text-success{color:#10b981}.btn.text-success:hover{background:#10b9811a}.btn.text-danger{color:#ef4444}.btn.text-danger:hover{background:#ef44441a}.permission-editor{margin-top:16px;border:1px solid var(--border-default);border-radius:6px;max-height:400px;overflow-y:auto}.permission-header-row{display:grid;grid-template-columns:1fr 60px 60px;gap:8px;padding:8px 16px;background:var(--bg-hover);font-size:10px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-default);position:sticky;top:0;z-index:1}.permission-level-label{text-align:center}.permission-group:not(:last-child){border-bottom:1px solid var(--border-default)}.permission-group-label{padding:8px 16px;font-size:10px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.1em;background:#27272a80}.permission-row{display:grid;grid-template-columns:1fr 60px 60px;gap:8px;align-items:center;padding:8px 16px}.permission-row:hover{background:var(--bg-hover)}.permission-feature-name{font-size:12px}.permission-checkbox{display:flex;justify-content:center}.permission-checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer}.customize-permissions-section{margin-top:16px}.customize-permissions-section>.btn{margin-bottom:8px}.invitations-section{margin-top:32px;padding-top:32px;border-top:1px solid var(--border-default)}.invitations-section .tab-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.invitations-section .tab-header .tab-header-content h4{margin:0 0 4px;font-size:16px;font-weight:600}.invitations-section .tab-header .tab-header-content p{margin:0;color:var(--text-secondary);font-size:12px}.invite-link-display{display:flex;align-items:center;gap:8px;padding:12px;background:var(--bg-hover);border:1px solid var(--border-default);border-radius:6px;margin-top:8px}.invite-link-display code{flex:1;font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;word-break:break-all;color:var(--text-primary)}.invitation-status{display:inline-flex;align-items:center;padding:3px 8px;border-radius:9999px;font-size:10px;font-weight:500;text-transform:capitalize}.invitation-status.pending{background:#6366f126;color:var(--accent-primary)}.invitation-status.accepted{background:#10b98126;color:#10b981}.invitation-status.expired{background:#71717a26;color:var(--text-tertiary)}.invitation-status.revoked{background:#ef444426;color:#ef4444}.activity-tab .tab-header{margin-bottom:24px}.activity-tab .tab-header h3{margin:0 0 4px;font-size:1.5rem;font-weight:700;color:var(--text-primary)}.activity-tab .tab-header p{margin:0;color:var(--text-secondary);font-size:16px}.activity-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:32px}@media (max-width: 768px){.activity-summary{grid-template-columns:1fr}}.activity-stat-card{display:flex;flex-direction:column;padding:24px;background:var(--bg-card);border:1px solid var(--border-default);border-radius:8px;box-shadow:var(--shadow-sm);transition:box-shadow .2s ease}.activity-stat-card:hover{box-shadow:var(--shadow-md)}.activity-stat-card .stat-label{font-size:12px;font-weight:500;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.activity-stat-card .stat-number{font-size:2.25rem;font-weight:800;color:var(--accent-primary);line-height:1}.most-active-users{margin-bottom:32px;padding:24px;background:var(--bg-card);border:1px solid var(--border-default);border-radius:8px;box-shadow:var(--shadow-sm)}.most-active-users h4{margin:0 0 24px;font-size:18px;font-weight:600;color:var(--text-primary)}.active-users-list{display:flex;flex-direction:column;gap:16px}.active-user-item{display:flex;align-items:center;gap:16px}.active-user-item .active-user-rank{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--bg-hover);border-radius:50%;font-weight:700;font-size:10px;color:var(--text-tertiary)}.active-user-item .active-user-info{flex:1;display:flex;flex-direction:column;gap:4px}.active-user-item .active-user-name{font-size:12px;font-weight:600;color:var(--text-primary)}.active-user-item .active-user-bar-wrapper{height:6px;background:var(--bg-hover);border-radius:9999px;overflow:hidden}.active-user-item .active-user-bar{height:100%;background:linear-gradient(90deg,var(--accent-primary),var(--accent-hover));border-radius:9999px;transition:width .6s cubic-bezier(.16,1,.3,1)}.active-user-item .active-user-count{font-size:12px;font-weight:600;color:var(--text-secondary);white-space:nowrap}.activity-feed-section{margin-top:32px}.activity-feed-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.activity-feed-section .section-header h4{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.filters-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-bottom:20px;padding:16px;background:var(--bg-hover);border-radius:8px;border:1px solid var(--border-default)}.filters-bar .filter-group{display:flex;flex-direction:column;gap:4px}.filters-bar .filter-group label{display:flex;align-items:center;gap:4px;font-size:10px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.filters-bar .btn-clear{height:36px;display:flex;align-items:center;gap:8px;padding:0 12px;color:var(--text-tertiary)}.filters-bar .btn-clear:hover{color:#ef4444;background:#ef44441a}.audit-log-list{display:flex;flex-direction:column;gap:8px}.audit-filter-trigger{min-width:180px;height:36px;font-size:12px}.log-entry{display:flex;gap:12px;padding:12px 16px;background:var(--bg-card);border-radius:6px;border:1px solid var(--border-default);transition:background .15s ease,border-color .15s ease}.log-entry:hover{background:var(--bg-hover);border-color:var(--border-active)}.log-entry.action-success .log-icon{background:#10b9811a;color:#10b981}.log-entry.action-warning .log-icon{background:#f59e0b1a;color:#f59e0b}.log-entry.action-danger .log-icon{background:#ef44441a;color:#ef4444}.log-entry.action-info .log-icon{background:#6366f11a;color:var(--accent-primary)}.log-entry .log-icon{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;background:var(--bg-hover);color:var(--text-secondary)}.log-entry .log-content{flex:1;min-width:0}.log-entry .log-header{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.log-entry .log-header .log-action{font-weight:600;color:var(--text-primary);text-transform:capitalize;font-size:12px}.log-entry .log-header .log-user{font-weight:500;color:var(--accent-primary);background:#6366f114;padding:1px 7px;border-radius:9999px;font-size:10px}.log-entry .log-header .log-target{color:var(--text-tertiary);font-size:10px}.log-entry .log-header .log-time{margin-left:auto;color:var(--text-tertiary);font-size:10px;font-weight:500;white-space:nowrap}.log-entry .log-header .log-ip{font-size:10px;color:var(--text-tertiary);background:var(--bg-hover);padding:1px 5px;border-radius:4px;font-family:JetBrains Mono,Fira Code,Monaco,monospace}.log-entry .log-details{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.log-entry .log-details .detail-item{display:inline-flex;align-items:center;gap:8px;padding:2px 12px;background:var(--bg-hover);border:1px solid var(--border-default);border-radius:6px;font-size:10px}.log-entry .log-details .detail-item .detail-key{color:var(--text-tertiary);font-weight:600;text-transform:uppercase;letter-spacing:.05em;font-size:.65rem}.log-entry .log-details .detail-item .detail-value{color:var(--text-secondary);font-family:JetBrains Mono,Fira Code,Monaco,monospace;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.linked-apps-section{margin-top:16px}.linked-apps-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.linked-apps-header h3{display:flex;align-items:center;gap:8px;margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.linked-apps-content{display:flex;flex-direction:column;gap:16px}.current-environment{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg-hover);border-radius:6px}.current-environment .env-label{font-size:12px;color:var(--text-secondary)}.linked-apps-divider{display:flex;align-items:center;gap:12px;color:var(--text-tertiary);font-size:12px}.linked-apps-divider:before,.linked-apps-divider:after{content:"";flex:1;height:1px;background:var(--border-subtle)}.linked-apps-list{display:flex;flex-direction:column;gap:12px}.linked-app-item{display:flex;align-items:center;justify-content:space-between;padding:12px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px;transition:border-color .15s ease}.linked-app-item:hover{border-color:var(--border-default)}.linked-app-info{display:flex;align-items:center;gap:12px}.linked-app-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--accent-glow);color:var(--accent-primary);border-radius:6px}.linked-app-details{display:flex;flex-direction:column;gap:4px}.linked-app-name{font-weight:500;color:var(--text-primary)}.linked-app-meta{display:flex;align-items:center;gap:8px;font-size:12px}.linked-app-port{color:var(--text-tertiary);font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:10px}.linked-app-actions{display:flex;gap:8px}.linked-apps-empty,.linked-apps-info{padding:16px;text-align:center;background:var(--bg-hover);border-radius:6px}.linked-apps-empty p,.linked-apps-info p{margin:0 0 12px;color:var(--text-secondary);font-size:12px}.linked-apps-empty .btn,.linked-apps-info .btn{margin-top:8px}.linked-apps-info p{margin:0}.shared-config-info{padding:12px;background:#6366f11a;border:1px solid rgba(99,102,241,.2);border-radius:6px}.shared-config-badge{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:500;color:var(--accent-primary);margin-bottom:8px}.shared-config-details{display:flex;flex-wrap:wrap;gap:12px;font-size:10px;color:var(--text-secondary);font-family:JetBrains Mono,Fira Code,Monaco,monospace}.shared-config-details span{background:var(--bg-card);padding:4px 8px;border-radius:4px}.link-app-modal{max-width:500px}.link-app-modal .modal-header h2{display:flex;align-items:center;gap:8px}.link-app-current{display:flex;align-items:center;gap:8px;padding:12px;background:var(--bg-hover);border-radius:6px;margin-bottom:16px}.link-app-current .link-app-label{color:var(--text-tertiary);font-size:12px}.link-app-current .link-app-name{font-weight:500;color:var(--text-primary)}.link-app-empty{text-align:center;padding:24px}.link-app-empty svg{color:var(--text-tertiary);margin-bottom:12px}.link-app-empty h3{margin:0 0 8px;font-size:18px}.link-app-empty p{color:var(--text-secondary);font-size:12px;margin-bottom:16px}.env-radio-group{display:flex;gap:8px}.env-radio-option{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px;background:var(--bg-card);border:2px solid var(--border-subtle);border-radius:6px;cursor:pointer;transition:all .15s ease}.env-radio-option input{display:none}.env-radio-option:hover{border-color:var(--border-default)}.env-radio-option.selected{border-color:var(--accent-primary);background:var(--accent-glow)}.env-radio-option .env-radio-label{font-size:10px;color:var(--text-secondary)}.link-preview{margin:16px 0;padding:16px;background:var(--bg-hover);border-radius:6px}.link-preview-title{font-size:10px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.link-preview-diagram{display:flex;align-items:center;justify-content:center;gap:16px}.link-preview-app{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px;min-width:120px}.link-preview-name{font-size:12px;font-weight:500;color:var(--text-primary)}.link-preview-connector{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--accent-glow);color:var(--accent-primary);border-radius:50%}.modal-loading{padding:24px;text-align:center;color:var(--text-secondary)}.status-badge-sm{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:9999px;font-size:10px;font-weight:500}.status-badge-sm .status-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.status-badge-sm.status-active{background:#10b9811a;color:#10b981}.status-badge-sm.status-stopped{background:#71717a1a;color:var(--text-tertiary)}.status-badge-sm.status-error{background:#ef44441a;color:#ef4444}.status-badge-sm.status-warning{background:#f59e0b1a;color:#f59e0b}.api-settings{display:flex;flex-direction:column;gap:24px}.api-settings__table-wrap{overflow-x:auto}.api-settings__table{width:100%;border-collapse:collapse;font-size:12px}.api-settings__table th,.api-settings__table td{padding:8px 12px;text-align:left;border-bottom:1px solid var(--border-subtle)}.api-settings__table th{color:var(--text-secondary);font-weight:500;font-size:10px;text-transform:uppercase;letter-spacing:.05em}.api-settings__table td{color:var(--text-primary)}.api-settings__table tbody tr:hover{background:var(--bg-hover)}.api-settings__table code{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:10px;padding:2px 6px;background:var(--bg-elevated);border-radius:4px}.api-settings__table--compact th,.api-settings__table--compact td{padding:4px 8px}.api-settings__key-name{font-weight:500}.api-settings__key-prefix{font-family:JetBrains Mono,Fira Code,Monaco,monospace}.api-settings__muted{color:var(--text-tertiary);font-size:10px}.api-settings__actions{display:flex;gap:4px}.api-settings__error-count{color:#ef4444;font-weight:600}.api-settings__rate-limits{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:16px}.api-settings__rate-limits .form-group--inline{display:flex;flex-direction:column;gap:4px}.api-settings__rate-limits .form-group--inline label{font-size:12px;font-weight:500;color:var(--text-secondary)}.api-settings__webhooks{display:flex;flex-direction:column;gap:8px;padding:8px}.api-settings__webhook-card{border:1px solid var(--border-subtle);border-radius:6px;overflow:hidden}.api-settings__webhook-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;cursor:pointer;transition:background .15s}.api-settings__webhook-header:hover{background:var(--bg-hover)}.api-settings__webhook-info{display:flex;flex-direction:column;gap:4px;min-width:0}.api-settings__webhook-name{font-weight:600;color:var(--text-primary)}.api-settings__webhook-url{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:10px;color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.api-settings__webhook-events{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.api-settings__webhook-controls{display:flex;align-items:center;gap:8px;flex-shrink:0}.api-settings__webhook-details{border-top:1px solid var(--border-subtle);padding:12px 16px}.api-settings__webhook-actions{display:flex;gap:8px;margin-bottom:12px}.api-settings__deliveries h4{font-size:12px;color:var(--text-secondary);margin-bottom:8px}.api-settings__period-select{display:flex;gap:4px}.api-settings__stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:16px}.api-settings__stat-card{display:flex;flex-direction:column;gap:4px;padding:12px;background:var(--bg-elevated);border-radius:6px;text-align:center}.api-settings__stat-value{font-size:20px;font-weight:700;color:var(--text-primary)}.api-settings__stat-label{font-size:10px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.api-settings__chart{padding:16px}.api-settings__chart h4{font-size:12px;color:var(--text-secondary);margin-bottom:12px}.api-settings__bar-chart{display:flex;align-items:flex-end;gap:2px;height:120px;padding:8px 0}.api-settings__bar-col{flex:1;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-end;height:100%;min-width:4px}.api-settings__bar{background:var(--accent-primary);border-radius:4px 4px 0 0;min-height:2px;transition:height .3s ease}.api-settings__bar--error{background:#ef4444;border-radius:0}.api-settings__top-endpoints{padding:16px}.api-settings__top-endpoints h4{font-size:12px;color:var(--text-secondary);margin-bottom:8px}.badge--method{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:10px;font-weight:600;padding:1px 6px;border-radius:4px}.badge--get{background:#10b9811a;color:#10b981}.badge--post{background:#3b82f61a;color:#3b82f6}.badge--put{background:#f59e0b1a;color:#f59e0b}.badge--delete{background:#ef44441a;color:#ef4444}.badge--patch{background:#3b82f61a;color:#3b82f6}.badge--standard{background:var(--bg-elevated);color:var(--text-secondary)}.badge--elevated{background:#3b82f61a;color:#3b82f6}.badge--unlimited{background:#f59e0b1a;color:#f59e0b}.badge--subtle{background:var(--bg-elevated);color:var(--text-secondary);font-size:10px;padding:1px 6px;border-radius:4px}.api-key-modal{max-width:520px}.api-key-modal .api-key-modal__warning{display:flex;align-items:center;gap:8px;padding:12px;background:#f59e0b1a;border:1px solid rgba(245,158,11,.2);border-radius:6px;color:#f59e0b;font-size:12px;margin-bottom:16px}.api-key-modal .api-key-modal__key-display{display:flex;align-items:center;gap:8px;padding:12px;background:var(--bg-elevated);border-radius:6px;overflow-x:auto}.api-key-modal .api-key-modal__key-display code{flex:1;font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;word-break:break-all}.api-key-modal .api-key-modal__tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.api-key-modal .api-key-modal__tier-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px;border:1px solid var(--border-subtle);border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s}.api-key-modal .api-key-modal__tier-btn:hover{border-color:var(--border-default);background:var(--bg-hover)}.api-key-modal .api-key-modal__tier-btn.active{border-color:var(--accent-primary);background:#6366f114;color:var(--accent-primary)}.api-key-modal .api-key-modal__tier-label{font-weight:600;font-size:12px}.api-key-modal .api-key-modal__tier-desc{font-size:10px;opacity:.7}.api-key-modal .api-key-modal__scopes{display:flex;flex-wrap:wrap;gap:8px;padding:12px;border:1px solid var(--border-subtle);border-radius:6px;background:var(--bg-elevated)}.api-key-modal .api-key-modal__scope-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border:1px solid var(--border-subtle);border-radius:999px;background:transparent;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .15s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.api-key-modal .api-key-modal__scope-chip:hover{border-color:var(--border-default);background:var(--bg-hover);color:var(--text-primary)}.api-key-modal .api-key-modal__scope-chip.active{border-color:var(--accent-primary);background:#6366f11a;color:var(--accent-primary)}.webhook-modal{max-width:600px}.webhook-modal .webhook-modal__events{max-height:300px;overflow-y:auto;border:1px solid var(--border-subtle);border-radius:6px;padding:8px}.webhook-modal .webhook-modal__event-group{margin-bottom:8px}.webhook-modal .webhook-modal__event-group:last-child{margin-bottom:0}.webhook-modal .webhook-modal__category{display:flex;align-items:center;gap:8px;padding:4px;cursor:pointer;font-size:12px}.webhook-modal .webhook-modal__category input[type=checkbox]{accent-color:var(--accent-primary)}.webhook-modal .webhook-modal__event-list{padding-left:24px}.webhook-modal .webhook-modal__event-item{display:flex;align-items:center;gap:8px;padding:4px;cursor:pointer;font-size:12px}.webhook-modal .webhook-modal__event-item:hover{background:var(--bg-hover);border-radius:4px}.webhook-modal .webhook-modal__event-item input[type=checkbox]{accent-color:var(--accent-primary)}.webhook-modal .webhook-modal__event-type{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:10px;color:var(--text-primary)}.webhook-modal .webhook-modal__event-desc{color:var(--text-tertiary);font-size:10px}.webhook-modal .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 768px){.api-settings__stats-grid{grid-template-columns:repeat(2,1fr)}.api-settings__rate-limits,.api-key-modal__tiers{grid-template-columns:1fr}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px;text-align:center;min-height:200px}.empty-state__icon{color:var(--text-tertiary);margin-bottom:16px;opacity:.5}.empty-state__title{font-size:18px;font-weight:600;color:var(--text-secondary);margin:0 0 8px}.empty-state__description{font-size:13px;color:var(--text-tertiary);max-width:400px;margin:0 0 16px}.empty-state__action{margin-top:8px}.status-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:9999px;font-size:11px;font-weight:500;line-height:1.4}.status-badge__dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.status-badge--success{background:#10b98126;color:#10b981}.status-badge--success .status-badge__dot{background:#10b981}.status-badge--danger{background:#ef444426;color:#ef4444}.status-badge--danger .status-badge__dot{background:#ef4444}.status-badge--warning{background:#f59e0b26;color:#f59e0b}.status-badge--warning .status-badge__dot{background:#f59e0b}.status-badge--info{background:#6366f126;color:var(--accent-primary)}.status-badge--info .status-badge__dot{background:var(--accent-primary)}.status-badge--muted{background:var(--bg-hover);color:var(--text-tertiary)}.status-badge--muted .status-badge__dot{background:var(--text-tertiary)}.server-selector{display:flex;align-items:center;gap:8px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px;padding:8px 12px}.server-selector svg{color:var(--text-tertiary);flex-shrink:0}.server-selector select{background:transparent;border:none;color:var(--text-primary);font-size:12px;cursor:pointer;padding-right:16px;min-width:140px}.server-selector select:focus{outline:none}.server-selector select option{background:var(--bg-card);color:var(--text-primary)}.server-selector select option:disabled{color:var(--text-tertiary)}.contribution-graph-container{padding:16px;background:var(--bg-card);border:1px solid var(--border-default);border-radius:6px;margin-bottom:24px}.contribution-graph-container .graph-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.contribution-graph-container .graph-header h4{margin:0;font-size:16px;font-weight:600}.contribution-graph-container .graph-header h4 .username{color:var(--accent-primary);margin-left:8px;font-weight:500}.contribution-graph-container .graph-header .graph-legend{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--text-tertiary)}.contribution-graph-container .graph-header .graph-legend .legend-cells{display:flex;gap:2px}.contribution-graph-container .graph-header .graph-legend .legend-cells .cell{width:10px;height:10px;border-radius:2px}.contribution-graph-container .graph-grid-wrapper{overflow-x:auto;padding-bottom:8px}.contribution-graph-container .graph-grid-wrapper::-webkit-scrollbar{height:6px}.contribution-graph-container .graph-grid-wrapper::-webkit-scrollbar-track{background:transparent}.contribution-graph-container .graph-grid-wrapper::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:9999px}.contribution-graph-container .graph-grid{display:flex;gap:3px;min-width:-moz-fit-content;min-width:fit-content}.contribution-graph-container .graph-week{display:flex;flex-direction:column;gap:3px}.contribution-graph-container .graph-cell{width:12px;height:12px;border-radius:2px;transition:transform .1s ease}.contribution-graph-container .graph-cell:hover{transform:scale(1.2);z-index:10}.contribution-graph-container .level-0{background-color:var(--bg-hover)}.contribution-graph-container .level-1{background-color:#6366f14d}.contribution-graph-container .level-2{background-color:#6366f18c}.contribution-graph-container .level-3{background-color:#6366f1cc}.contribution-graph-container .level-4{background-color:var(--accent-primary)}.command-palette-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:70;display:flex;justify-content:center;padding-top:15vh}.command-palette{width:560px;max-height:460px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;animation:palette-enter .15s ease-out}@keyframes palette-enter{0%{opacity:0;transform:scale(.96) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.command-palette__input-wrapper{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border-subtle);color:var(--text-tertiary)}.command-palette__input-wrapper svg{flex-shrink:0}.command-palette__input{flex:1;background:none;border:none;outline:none;font-size:16px;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.command-palette__input::-moz-placeholder{color:var(--text-tertiary)}.command-palette__input::placeholder{color:var(--text-tertiary)}.command-palette__kbd{font-size:10px;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;padding:2px 6px;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-tertiary);flex-shrink:0}.command-palette__results{flex:1;overflow-y:auto;padding:8px 0}.command-palette__empty{padding:32px 20px;text-align:center;color:var(--text-tertiary);font-size:12px}.command-palette__group:not(:first-child){margin-top:8px}.command-palette__group-label{padding:8px 20px;font-size:10px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.command-palette__item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 20px;background:none;border:none;cursor:pointer;font-size:14px;color:var(--text-secondary);text-align:left;transition:background .15s ease,color .15s ease}.command-palette__item:hover,.command-palette__item--active{background:var(--bg-hover);color:var(--text-primary)}.command-palette__item--active{background:var(--bg-hover)}.command-palette__item-label{font-weight:500}.command-palette__item-path{font-size:10px;color:var(--text-tertiary);font-family:JetBrains Mono,Fira Code,Monaco,monospace}.logs-drawer{position:fixed;bottom:0;left:280px;right:0;z-index:30;background:var(--bg-card);border-top:1px solid var(--border-subtle);display:flex;flex-direction:column}.logs-drawer--collapsed{height:36px;cursor:pointer;transition:background .15s ease}.logs-drawer--collapsed:hover{background:var(--bg-hover)}.logs-drawer--expanded{box-shadow:0 -4px 16px #0000004d}.logs-drawer__resize-handle{height:4px;cursor:ns-resize;background:transparent;transition:background .15s ease;flex-shrink:0}.logs-drawer__resize-handle:hover,.logs-drawer__resize-handle:active{background:var(--accent-primary)}.logs-drawer__collapsed-bar{display:flex;align-items:center;gap:12px;padding:0 16px;height:36px;overflow:hidden}.logs-drawer__collapsed-actions{margin-left:auto;flex-shrink:0}.logs-drawer__header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.logs-drawer__header-left,.logs-drawer__header-right{display:flex;align-items:center;gap:12px}.logs-drawer__live-dot{width:8px;height:8px;border-radius:9999px;background:#10b981;animation:live-pulse 2s infinite;flex-shrink:0}@keyframes live-pulse{0%,to{opacity:1}50%{opacity:.4}}.logs-drawer__service-name{font-weight:600;font-size:12px;color:var(--text-primary);white-space:nowrap}.logs-drawer__line-count{font-size:10px;color:var(--text-tertiary)}.logs-drawer__last-line{flex:1;font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:10px;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logs-drawer__toggle{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--text-tertiary);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.logs-drawer__toggle input{accent-color:#6366f1}.logs-drawer__content{flex:1;overflow-y:auto;padding:8px 16px;font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:10px;line-height:1.6;background:var(--bg-body)}.logs-drawer__empty{color:var(--text-tertiary);padding:16px;text-align:center}.logs-drawer__line{color:var(--text-secondary);white-space:pre-wrap;word-break:break-all}.logs-drawer__line--error{color:#ef4444}.logs-drawer__line--warn{color:#f59e0b}.pricing-plans-tab .plans-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;margin-top:1.5rem}.pricing-plans-tab .plan-card{background-color:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;transition:border-color .2s ease}.pricing-plans-tab .plan-card{padding:1rem;display:flex;flex-direction:column;transition:border-color .15s}.pricing-plans-tab .plan-card:hover{border-color:var(--border-active)}.pricing-plans-tab .plan-card.inactive{opacity:.6;filter:grayscale(.5)}.pricing-plans-tab .plan-card .plan-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.pricing-plans-tab .plan-card .plan-header .plan-title h3{margin:0 0 .25rem;font-size:1.25rem}.pricing-plans-tab .plan-card .plan-header .plan-title p{margin:0;font-size:.875rem;color:var(--text-muted)}.pricing-plans-tab .plan-card .plan-header .plan-actions{display:flex;gap:.5rem}.pricing-plans-tab .plan-card .plan-header .plan-actions .icon-btn{padding:.5rem;border-radius:.375rem;color:var(--text-muted)}.pricing-plans-tab .plan-card .plan-header .plan-actions .icon-btn:hover{background:var(--bg-hover);color:var(--primary-color)}.pricing-plans-tab .plan-card .plan-header .plan-actions .icon-btn.delete:hover{color:var(--danger-color);background:rgba(var(--danger-rgb),.1)}.pricing-plans-tab .plan-card .plan-price{display:flex;align-items:baseline;gap:.25rem;margin:1.5rem 0 .5rem}.pricing-plans-tab .plan-card .plan-price.secondary{margin:0 0 1.5rem;opacity:.7}.pricing-plans-tab .plan-card .plan-price.secondary .amount{font-size:1.5rem}.pricing-plans-tab .plan-card .plan-price .currency{font-size:1.25rem;font-weight:600}.pricing-plans-tab .plan-card .plan-price .amount{font-size:2.5rem;font-weight:700;line-height:1}.pricing-plans-tab .plan-card .plan-price .term{font-size:.875rem;color:var(--text-muted)}.pricing-plans-tab .plan-card .plan-specs{margin-top:auto;padding-top:1.5rem;border-top:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:1rem}.pricing-plans-tab .plan-card .plan-specs .spec-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-secondary)}.pricing-plans-tab .plan-card .plan-specs .spec-item svg{color:var(--primary-color)}.plan-modal-section{padding:16px 0;border-bottom:1px solid var(--border-subtle)}.plan-modal-section--last{border-bottom:none}.plan-modal-section__title{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);margin-bottom:12px}.plan-price-group{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:6px;padding:12px 16px;display:flex;flex-direction:column;gap:8px}.plan-price-group__header{display:flex;align-items:center;justify-content:space-between}.plan-price-group__input{display:flex;align-items:center;gap:8px}.plan-price-group__currency{font-size:12px;color:var(--text-secondary);font-weight:500;min-width:10px}.plan-price-group__period{font-size:10px;color:var(--text-tertiary);white-space:nowrap}.plan-price-group__disabled{font-size:10px;color:var(--text-tertiary);font-style:italic;padding:4px 0}.plan-flag-toggle{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:6px;padding:12px 16px;display:flex;flex-direction:column;gap:8px}.plan-flag-toggle__label{display:flex;align-items:center;gap:8px}.plan-flag-toggle__status{font-size:10px;color:var(--text-tertiary)}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.auth-card{width:100%;max-width:400px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:16px;padding:40px}.auth-container:has(#name) .auth-card,.register-page .auth-card{max-width:520px}.auth-header{text-align:center;margin-bottom:32px}.auth-header .brand-logo{width:48px;height:48px;margin:0 auto 16px}.auth-header h1{font-size:24px;font-weight:700;margin-bottom:8px}.auth-header p{color:var(--text-secondary)}.auth-footer{text-align:center;margin-top:24px;color:var(--text-secondary)}.auth-footer a{color:var(--accent-primary);font-weight:500}.auth-footer a:hover{text-decoration:underline}.sso-providers{display:flex;flex-direction:column;gap:12px}.form-group-inline{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.form-group-inline .label-row{display:flex;justify-content:space-between;align-items:center;width:100%}.form-group-inline .label-row label{margin-bottom:0}.form-group-inline .label-row .btn-link-inline{font-size:12px;padding:0}.form-group-inline input{width:100%}.btn-sso{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:12px 16px;border:1px solid var(--border-subtle);border-radius:8px;background:var(--bg-card);color:var(--text-primary);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-sso:hover:not(:disabled){border-color:var(--border-active);background:var(--bg-hover)}.btn-sso:disabled{opacity:.6;cursor:not-allowed}.btn-sso svg{flex-shrink:0}.sso-divider{display:flex;align-items:center;gap:16px;margin:24px 0;color:var(--text-tertiary);font-size:12px}.sso-divider:before,.sso-divider:after{content:"";flex:1;height:1px;background:var(--border-subtle)}.sso-loading{display:flex;justify-content:center;margin-bottom:16px}.sso-loading .spinning{animation:spin 1s linear infinite}.password-strength{margin-top:8px}.password-strength .strength-bar{height:4px;background:var(--bg-hover);border-radius:9999px;overflow:hidden;margin-bottom:4px}.password-strength .strength-fill{height:100%;transition:width .15s ease,background-color .15s ease}.password-strength .strength-label{font-size:10px;color:var(--text-secondary)}.captcha-group .captcha-challenge{background:var(--bg-hover);padding:12px;border-radius:8px;text-align:center;margin-bottom:8px;font-weight:500}.captcha-group .form-error{color:#ef4444;font-size:10px;margin-top:4px;display:block}.demo-credentials{margin-bottom:12px;border:1px solid rgba(245,158,11,.4);border-radius:6px;overflow:hidden}.demo-credentials__title{font-size:10px;font-weight:600;color:#f59e0b;text-transform:uppercase;letter-spacing:.06em;padding:8px 12px;background:#f59e0b1a;margin:0}.demo-credentials__list{display:flex;flex-direction:column}.demo-credentials__item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:transparent;border:none;border-top:1px solid rgba(245,158,11,.15);cursor:pointer;text-align:left;width:100%;transition:background .15s ease}.demo-credentials__item:hover{background:#f59e0b14}.demo-credentials__role{font-size:10px;font-weight:600;color:var(--text-primary);min-width:40px}.demo-credentials__info{font-size:10px;color:var(--text-secondary);font-family:monospace}.dashboard-page{display:flex;flex-direction:column;gap:24px;min-height:100%}.dashboard-page>.top-bar{margin-bottom:0}.top-bar{display:flex;justify-content:space-between;align-items:center;padding-bottom:16px;border-bottom:1px solid var(--border-subtle)}.server-identity h1{font-size:1.5rem;font-weight:700;letter-spacing:-.02em;display:flex;align-items:center;gap:10px;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.status-dot-live{width:10px;height:10px;background:#10b981;border-radius:50%;box-shadow:0 0 10px #10b981;display:inline-block}.server-details{display:flex;align-items:center;gap:12px;margin-top:8px;font-size:12px;color:var(--text-tertiary);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.server-details .detail-separator{color:var(--border-default);-webkit-user-select:none;-moz-user-select:none;user-select:none}.top-bar-right{display:flex;align-items:center;gap:20px}.clock-widget{display:flex;flex-direction:column;align-items:flex-end}.clock-time{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:1.25rem;font-weight:700;color:var(--text-primary);letter-spacing:-.01em;font-variant-numeric:tabular-nums}.clock-zone{color:var(--accent-primary);font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.setup-warnings{display:flex;flex-direction:column;gap:8px}.setup-warning{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f59e0b1a;border:1px solid rgba(245,158,11,.2);border-radius:6px;font-size:12px}.setup-warning__icon{color:#f59e0b;flex-shrink:0}.setup-warning__msg{flex:1;color:var(--text-primary)}.setup-warning__link{color:#f59e0b;font-weight:500;white-space:nowrap;text-decoration:none}.setup-warning__link:hover{text-decoration:underline}.demo-banner{display:flex;align-items:center;gap:12px;padding:8px 16px;background:#f59e0b1f;border-bottom:1px solid rgba(245,158,11,.35);font-size:12px}.demo-banner__badge{background:#f59e0b;color:#000;font-size:10px;font-weight:700;letter-spacing:.06em;padding:2px 6px;border-radius:4px;flex-shrink:0}.demo-banner__text{color:var(--text-primary);flex:1}.demo-banner__text strong{color:#f59e0b;font-weight:600}.grid-container{display:grid;grid-template-columns:repeat(12,1fr);gap:20px;max-width:1800px;margin:0 auto;width:100%}.metric-tile{grid-column:span 3;position:relative;overflow:hidden}.metric-tile:before{content:"";position:absolute;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,var(--accent-primary),transparent);opacity:.5;z-index:1}@media (max-width: 1280px){.metric-tile{grid-column:span 6}}@media (max-width: 768px){.metric-tile{grid-column:span 12}}.tile-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.tile-title{font-size:10px;font-weight:600;text-transform:uppercase;color:var(--text-tertiary);letter-spacing:.05em}.tile-icon.cpu{color:var(--accent-primary)}.tile-icon.memory{color:#10b981}.tile-icon.network{color:#f59e0b}.tile-icon.disk{color:#ef4444}.tile-val{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:1.75rem;font-weight:700;color:var(--text-primary)}.tile-val-unit{font-size:14px;font-weight:400;color:var(--text-tertiary);margin-left:4px}.tile-sub{font-size:12px;color:var(--text-tertiary);margin-top:8px;display:flex;justify-content:space-between}.trend-up{color:#f59e0b}.trend-down{color:#10b981}.chart-panel{grid-column:span 8;padding:20px;min-height:450px;display:flex;flex-direction:column}.chart-panel .metrics-graph-card{background:transparent;border:none;padding:0;margin-bottom:0;height:100%;display:flex;flex-direction:column}.chart-panel .metrics-graph-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:16px}.chart-panel .graph-title{font-weight:600;font-size:14px;color:var(--text-primary)}.chart-panel .metrics-chart-container{flex-grow:1;margin-bottom:0}@media (max-width: 1024px){.chart-panel{grid-column:span 12;min-height:400px}}@media (max-width: 768px){.chart-panel .metrics-graph-header{flex-wrap:wrap;gap:12px}}.spec-panel{grid-column:span 4;display:flex;flex-direction:column}@media (max-width: 1024px){.spec-panel{grid-column:span 12}}.spec-panel-title{font-size:12px;text-transform:uppercase;color:var(--text-tertiary);font-weight:600;letter-spacing:.05em}.spec-row{display:flex;justify-content:space-between;border-bottom:1px solid var(--border-subtle);padding-bottom:12px;font-size:12px}.spec-row:last-child{border:none;padding-bottom:0}.spec-label{color:var(--text-tertiary)}.spec-data{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--text-primary);text-align:right;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-action{width:100%;padding:12px;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-primary);font-weight:600;font-size:12px;cursor:pointer;text-align:left;display:flex;justify-content:space-between;align-items:center;transition:all .15s ease}.btn-action:hover{border-color:var(--accent-primary);background:var(--accent-glow)}.btn-action svg{color:var(--text-tertiary)}.table-panel{grid-column:span 12;overflow:hidden}.table-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-subtle);font-weight:600;color:var(--text-primary)}.data-table{width:100%;border-collapse:collapse;font-size:12px}.data-table th{text-align:left;padding:16px 20px;background:var(--bg-hover);color:var(--text-tertiary);font-weight:600;text-transform:uppercase;font-size:10px;letter-spacing:.05em}.data-table td{padding:16px 20px;border-bottom:1px solid var(--border-subtle);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--text-secondary)}.data-table tr:hover{background:var(--bg-hover)}.app-name-cell{display:flex;align-items:center;gap:8px;color:var(--text-primary)}.app-icon-mini{display:flex;align-items:center;justify-content:center;color:var(--text-tertiary)}.badge{padding:2px 8px;border-radius:4px;font-size:10px;text-transform:uppercase;font-weight:600;letter-spacing:.5px}.badge-running{color:#10b981;background:#10b9811a;border:1px solid rgba(16,185,129,.2)}.badge-warning{color:#f59e0b;background:#f59e0b1a;border:1px solid rgba(245,158,11,.2)}.badge-stopped{color:#ef4444;background:#ef44441a;border:1px solid rgba(239,68,68,.2)}@media (max-width: 768px){.top-bar{flex-direction:column;align-items:flex-start;gap:16px}.server-details{flex-wrap:wrap;gap:12px}.clock-widget{text-align:left}.data-table th:nth-child(3),.data-table th:nth-child(5),.data-table td:nth-child(3),.data-table td:nth-child(5){display:none}}@media (max-width: 640px){.server-details{flex-direction:column;gap:4px}.metric-tile{padding:16px}.tile-val{font-size:1.5rem}}.refresh-control{display:flex;flex-direction:column;align-items:flex-end;gap:8px;padding-left:20px;border-left:1px solid var(--border-subtle)}.refresh-control .refresh-select,.refresh-control .btn-refresh{width:100%}.refresh-select{background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:12px;padding:4px 8px;cursor:pointer;outline:none}.refresh-select:hover{border-color:var(--accent-primary)}.refresh-select:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-glow)}.btn-refresh{display:flex;align-items:center;justify-content:center;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-secondary);padding:8px;cursor:pointer;transition:all .15s ease}.btn-refresh:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:var(--accent-glow)}.status-dot-live.disconnected{background:#f59e0b;box-shadow:0 0 10px #f59e0b}@media (max-width: 768px){.refresh-control{width:100%;justify-content:flex-start;margin-left:0;padding-left:0}}.user-dashboard{display:flex;flex-direction:column;gap:32px;width:100%;min-width:0}.ud-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:24px;border-bottom:1px solid var(--border-subtle)}@media (max-width: 640px){.ud-header{flex-direction:column;align-items:flex-start}}.ud-header__title{font-size:1.6rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.ud-header__title span{color:var(--accent-primary)}.ud-header__sub{margin-top:4px;font-size:12px;color:var(--text-secondary)}.ud-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}@media (max-width: 768px){.ud-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.ud-stats{grid-template-columns:1fr}}.ud-stat-card{display:flex;align-items:center;gap:16px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;padding:20px;min-width:0}.ud-stat-card__icon{width:44px;height:44px;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ud-stat-card__icon--blue{background:rgba(var(--accent-primary),.12);color:var(--accent-primary)}.ud-stat-card__icon--green{background:#10b9811f;color:#10b981}.ud-stat-card__icon--purple{background:#8b5cf61f;color:#8b5cf6}.ud-stat-card__value{font-size:1.75rem;font-weight:700;color:var(--text-primary);line-height:1}.ud-stat-card__label{font-size:10px;color:var(--text-tertiary);margin-top:2px;font-weight:500;text-transform:uppercase;letter-spacing:.04em}.ud-main-content{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:24px;align-items:start}@media (max-width: 1024px){.ud-main-content{grid-template-columns:minmax(0,1fr)}}.ud-section{display:flex;flex-direction:column;gap:16px;min-width:0}.ud-section__header{display:flex;align-items:center;justify-content:space-between;min-height:32px}.ud-section__title{font-size:14px;font-weight:600;color:var(--text-primary)}.ud-sites-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.ud-site-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;padding:16px;cursor:pointer;transition:border-color .15s,transform .12s,box-shadow .15s}.ud-site-card:hover{border-color:var(--accent-primary);transform:translateY(-1px);box-shadow:0 4px 16px #00000026}.ud-site-card__header{display:flex;align-items:center;gap:12px}.ud-site-card__avatar{width:36px;height:36px;border-radius:6px;background:var(--accent-primary);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;flex-shrink:0}.ud-site-card__info{flex:1;min-width:0}.ud-site-card__name{font-size:12px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ud-site-card__url{font-size:10px;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.ud-site-card__meta{font-size:10px;color:var(--text-tertiary);margin-top:8px;padding-top:8px;border-top:1px solid var(--border-subtle)}.ud-site-card--skeleton{height:72px;cursor:default;background:linear-gradient(90deg,var(--bg-hover) 25%,var(--bg-elevated) 50%,var(--bg-hover) 75%);background-size:800px 100%;animation:shimmer 1.4s infinite linear}.ud-site-card--skeleton:hover{transform:none;box-shadow:none;border-color:var(--border-subtle)}.ud-status{width:8px;height:8px;border-radius:50%;flex-shrink:0}.ud-status--running{background:#10b981;box-shadow:0 0 6px #10b981}.ud-status--stopped{background:var(--text-tertiary)}.ud-status--suspended{background:#f59e0b}.ud-status--other{background:var(--text-tertiary)}.ud-plan-alert{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#f59e0b1a;border:1px solid rgba(245,158,11,.2);border-radius:8px;color:#f59e0b;font-size:12px}.ud-plan-alert__link{background:none;border:none;color:inherit;font-weight:600;font-size:inherit;text-decoration:underline;cursor:pointer;padding:0;margin-left:2px}.ud-plan-card{display:flex;align-items:center;gap:16px;padding:16px 20px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px}@media (max-width: 640px){.ud-plan-card{flex-wrap:wrap}}.ud-plan-card__icon{width:36px;height:36px;border-radius:6px;background:#6366f11a;color:var(--accent-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.ud-plan-card__info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.ud-plan-card__name{font-size:14px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.ud-plan-card__trial-badge{display:inline-flex;align-items:center;padding:1px 8px;background:#f59e0b1a;color:#f59e0b;border:1px solid rgba(245,158,11,.3);border-radius:9999px;font-size:10px;font-weight:500}.ud-plan-card__expires{font-size:10px;color:var(--text-tertiary)}.ud-plan-card__expires--soon{color:#f59e0b;font-weight:500}.ud-plan-card__specs{display:flex;gap:4px;flex-wrap:wrap;margin-top:2px}.ud-plan-card__specs span{padding:1px 7px;background:var(--bg-secondary);border-radius:9999px;font-size:10px;color:var(--text-secondary)}.ud-plan-card__usage{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.ud-plan-card__usage-label{font-size:10px;color:var(--text-tertiary)}.ud-plan-card__usage-value{font-size:14px;font-weight:600;color:var(--text-primary)}.ud-plan-card__bar{width:80px;height:4px;background:var(--bg-tertiary);border-radius:9999px;overflow:hidden}.ud-plan-card__bar-fill{height:100%;background:var(--accent-primary);border-radius:9999px;transition:width .3s ease}.ud-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:40px 24px;background:var(--bg-card);border:1px dashed var(--border-subtle);border-radius:8px;text-align:center}.ud-empty__icon{color:var(--text-tertiary);margin-bottom:8px}.ud-empty__title{font-size:14px;font-weight:600;color:var(--text-primary)}.ud-empty__sub{font-size:12px;color:var(--text-secondary);max-width:320px}.ud-support-grid{display:flex;flex-direction:column;gap:8px}.ud-support-card{display:flex;align-items:center;gap:12px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;padding:16px 20px;text-decoration:none;color:var(--text-primary);transition:border-color .15s,background .15s}.ud-support-card:hover{border-color:var(--accent-primary);background:var(--bg-hover);text-decoration:none}.ud-support-card__icon{width:36px;height:36px;border-radius:6px;background:var(--bg-elevated);display:flex;align-items:center;justify-content:center;color:var(--accent-primary);flex-shrink:0}.ud-support-card__body{flex:1}.ud-support-card__label{font-size:12px;font-weight:600;color:var(--text-primary)}.ud-support-card__desc{font-size:10px;color:var(--text-tertiary);margin-top:1px}.ud-support-card__arrow{color:var(--text-tertiary);flex-shrink:0}.applications-page{display:flex;flex-direction:column;gap:16px}.apps-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.apps-toolbar-left{display:flex;align-items:center;gap:16px;flex:1;min-width:0}.apps-toolbar-right{display:flex;align-items:center;gap:12px}.apps-search-wrapper{position:relative;max-width:300px;flex:1}.apps-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-tertiary);pointer-events:none}.apps-search-input{width:100%;padding:8px 32px 8px 36px;background:var(--bg-card);border:1px solid var(--border-default);border-radius:6px;color:var(--text-primary);font-size:12px;transition:border-color .2s ease}.apps-search-input::-moz-placeholder{color:var(--text-tertiary)}.apps-search-input::placeholder{color:var(--text-tertiary)}.apps-search-input:focus{outline:none;border-color:var(--accent-primary)}.apps-search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;padding:4px;cursor:pointer;color:var(--text-tertiary);display:flex;align-items:center;justify-content:center;border-radius:4px;transition:color .2s ease}.apps-search-clear:hover{color:var(--text-primary)}.apps-count{font-size:12px;color:var(--text-tertiary);white-space:nowrap}.apps-sort-wrapper{position:relative}.apps-sort-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:8px 32px 8px 12px;background:var(--bg-card);border:1px solid var(--border-default);border-radius:6px;color:var(--text-primary);font-size:12px;cursor:pointer;transition:border-color .2s ease}.apps-sort-select:focus{outline:none;border-color:var(--accent-primary)}.apps-sort-icon{position:absolute;right:8px;top:50%;transform:translateY(-50%);color:var(--text-tertiary);pointer-events:none}.apps-view-toggle{display:flex;background:var(--bg-card);border:1px solid var(--border-default);border-radius:6px;overflow:hidden}.apps-view-btn{padding:8px;background:transparent;border:none;cursor:pointer;color:var(--text-tertiary);display:flex;align-items:center;justify-content:center;transition:all .2s ease}.apps-view-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.apps-view-btn.active{color:var(--accent-primary);background:var(--accent-glow)}.apps-view-btn:first-child{border-right:1px solid var(--border-default)}.apps-bulk-bar{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--accent-glow);border:1px solid rgba(99,102,241,.3);border-radius:8px;gap:16px;flex-wrap:wrap}.apps-bulk-info{display:flex;align-items:center;gap:8px;color:var(--accent-primary);font-size:12px;font-weight:500}.apps-bulk-clear{background:none;border:none;color:var(--text-secondary);font-size:12px;cursor:pointer;padding:4px 8px;margin-left:8px;border-radius:4px;transition:color .2s ease}.apps-bulk-clear:hover{color:var(--text-primary)}.apps-bulk-actions{display:flex;gap:8px}.apps-checkbox-label{display:inline-flex;align-items:center;cursor:pointer;position:relative}.apps-checkbox-label input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.apps-checkbox-label input[type=checkbox]:checked+.apps-checkbox-custom{background:var(--accent-primary);border-color:var(--accent-primary)}.apps-checkbox-label input[type=checkbox]:checked+.apps-checkbox-custom:after{opacity:1}.apps-checkbox-label input[type=checkbox]:focus+.apps-checkbox-custom{box-shadow:0 0 0 2px var(--accent-glow)}.apps-checkbox-custom{width:18px;height:18px;background:var(--bg-card);border:1px solid var(--border-default);border-radius:4px;position:relative;transition:all .2s ease}.apps-checkbox-custom:after{content:"";position:absolute;left:5px;top:2px;width:5px;height:9px;border:solid var(--text-primary);border-width:0 2px 2px 0;transform:rotate(45deg);opacity:0;transition:opacity .2s ease}.apps-checkbox-custom:hover{border-color:var(--accent-primary)}.apps-list{display:flex;flex-direction:column;gap:8px}.apps-list-header{display:flex;align-items:center;gap:16px;padding:8px 16px;color:var(--text-tertiary);font-size:12px;font-weight:500}.apps-list-header-text{margin-left:4px}.app-row{display:flex;align-items:center;gap:20px;padding:16px 20px;background-color:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;transition:border-color .2s ease}.app-row{display:flex;align-items:center;gap:16px;transition:all .2s ease}.app-row.selected{background:var(--accent-glow);border-color:#6366f14d}.app-row:hover{border-color:var(--border-active)}.app-info{display:flex;align-items:center;justify-content:flex-start;gap:16px;flex:1;min-width:0}.app-icon{width:40px;height:40px;border-radius:6px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:16px;flex-shrink:0}.app-icon svg{color:#fff}.app-details{min-width:0;flex:1}.app-details h3{font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-meta{display:flex;align-items:center;justify-content:flex-start;gap:12px;font-size:12px;color:var(--text-tertiary);flex-wrap:wrap}.app-meta a{color:var(--text-secondary);transition:color .2s ease}.app-meta a:hover{color:var(--accent-primary)}.app-type-badge{font-size:10px;font-weight:500;color:var(--accent-primary);background:var(--accent-glow);padding:2px 8px;border-radius:4px}.app-port{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:10px;color:var(--text-secondary)}.app-domains-info{display:inline-flex;align-items:center;gap:4px;color:var(--text-secondary)}.app-domains-info a{color:var(--text-secondary)}.app-domains-info a:hover{color:var(--accent-primary)}.private-url-indicator{display:inline-flex;align-items:center;gap:4px;color:#10b981;font-size:10px}.app-status{flex-shrink:0}.status-badge-enhanced{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:9999px;font-size:12px;font-weight:500;text-transform:capitalize}.status-badge-enhanced.status-active{background:#10b9811a;color:#10b981}.status-badge-enhanced.status-active .status-dot-animated{background:#10b981;animation:pulse-green 2s ease-in-out infinite}.status-badge-enhanced.status-stopped{background:var(--bg-tertiary);color:var(--text-secondary)}.status-badge-enhanced.status-stopped .status-dot-animated{background:var(--text-tertiary)}.status-badge-enhanced.status-error{background:#ef44441a;color:#ef4444}.status-badge-enhanced.status-error .status-dot-animated{background:#ef4444}.status-badge-enhanced.status-warning{background:#f59e0b1a;color:#f59e0b}.status-badge-enhanced.status-warning .status-dot-animated{background:#f59e0b;animation:pulse-yellow 2s ease-in-out infinite}.status-badge-enhanced.transitioning .status-dot-animated{animation:pulse-fast .5s ease-in-out infinite}.status-dot-animated{width:8px;height:8px;border-radius:50%;flex-shrink:0}@keyframes pulse-green{0%,to{box-shadow:0 0 #10b98166}50%{box-shadow:0 0 0 4px #10b98100}}@keyframes pulse-yellow{0%,to{box-shadow:0 0 #f59e0b66}50%{box-shadow:0 0 0 4px #f59e0b00}}@keyframes pulse-fast{0%,to{opacity:1}50%{opacity:.4}}.app-actions{display:flex;gap:8px;flex-shrink:0}@media (max-width: 768px){.app-actions .btn-text{display:none}}.apps-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.app-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:8px;padding:16px;cursor:pointer;position:relative;transition:all .2s ease}.app-card:hover{border-color:var(--border-active);box-shadow:var(--shadow-md)}.app-card.selected{background:var(--accent-glow);border-color:#6366f14d}.app-card-checkbox{position:absolute;top:12px;left:12px;z-index:1}.app-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;padding-left:32px}.app-card-body h3{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-card-meta{display:flex;align-items:center;gap:8px;margin-bottom:12px}.app-card-info{display:flex;flex-direction:column;gap:4px;min-height:48px}.app-card-info-row{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary)}.app-card-info-row svg{color:var(--text-tertiary);flex-shrink:0}.app-card-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border-subtle)}.btn-icon{padding:8px!important}.btn-icon svg{margin:0!important}.confirm-modal{max-width:420px}.confirm-modal-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.confirm-modal-header h2{margin:0;font-size:18px}.confirm-icon-danger{color:#ef4444;flex-shrink:0}.confirm-modal-message{color:var(--text-secondary);font-size:14px;line-height:1.6;margin-bottom:20px}.app-header-info{display:flex;align-items:center;justify-content:flex-start;gap:20px}@media (max-width: 768px){.app-header-info{flex-direction:column;align-items:flex-start}}.app-header-title{display:flex;align-items:center;justify-content:flex-start;gap:16px}.app-header-title h1{font-size:24px}.deploy-tab{display:flex;flex-direction:column;gap:20px}.deploy-tab .deploy-setup{padding:32px 0}.deploy-tab .deploy-header{margin-bottom:20px}.deploy-tab .deploy-status-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px}@media (max-width: 768px){.deploy-tab .deploy-status-card{flex-direction:column;align-items:flex-start}}.deploy-tab .deploy-repo-info{display:flex;align-items:center;gap:12px}.deploy-tab .deploy-repo-info svg{flex-shrink:0;color:var(--text-secondary)}.deploy-tab .deploy-repo-info>div{display:flex;flex-direction:column;gap:4px}.deploy-tab .deploy-repo-info .repo-url{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;color:var(--text-primary);word-break:break-all}.deploy-tab .deploy-repo-info .repo-branch{font-size:10px;color:var(--text-tertiary)}.deploy-tab .deploy-actions{display:flex;gap:8px;flex-shrink:0}.deploy-tab .deploy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px}.deploy-tab .webhook-url{display:flex;align-items:center;gap:12px;margin-top:12px;padding:12px;background:var(--bg-hover);border-radius:6px}.deploy-tab .webhook-url code{flex:1;font-size:10px;color:var(--text-secondary);word-break:break-all}.deploy-tab .webhook-url .btn{flex-shrink:0}.deploy-tab .scripts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.deploy-tab .script-section h4{font-size:12px;font-weight:500;color:var(--text-secondary);margin-bottom:8px}.deploy-tab .script-code{padding:12px;background:var(--bg-hover);border-radius:6px;font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:10px;color:var(--text-secondary);overflow-x:auto;white-space:pre-wrap;word-break:break-word;margin:0}.deploy-tab .card-actions{display:flex;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border-subtle)}.deploy-tab .checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer}.deploy-tab .checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.deploy-tab .checkbox-label span{font-size:12px;color:var(--text-primary)}.deploy-tab .form-help{display:block;margin-top:4px;font-size:10px;color:var(--text-tertiary)}.deploy-tab textarea{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;resize:vertical;min-height:80px}.deploy-tab .text-danger{color:#ef4444;font-size:12px}.deploy-tab .text-muted{color:var(--text-tertiary);font-size:12px}.diagnostics-card .card-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.diagnostics-card .card-header-row h3{margin:0}.diagnostics-card .diagnostics-hint{color:var(--text-tertiary);font-size:12px;margin:0}.diagnostics-card .diagnostics-results{display:flex;flex-direction:column;gap:16px}.diagnostics-card .health-summary{padding:12px 16px;border-radius:6px;font-weight:500}.diagnostics-card .health-summary.healthy{background:#22c55e1a;color:#10b981}.diagnostics-card .health-summary.unhealthy{background:#ef44441a;color:#ef4444}.diagnostics-card .diagnostics-section h4{font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:8px;display:flex;align-items:center;gap:8px}.diagnostics-card .diagnostics-section.issues,.diagnostics-card .diagnostics-section.recommendations{padding:12px;border-radius:6px}.diagnostics-card .diagnostics-section.issues{background:#ef44440d;border:1px solid rgba(239,68,68,.2)}.diagnostics-card .diagnostics-section.recommendations{background:#eab3080d;border:1px solid rgba(234,179,8,.2)}.diagnostics-card .check-list{display:flex;flex-wrap:wrap;gap:8px 16px}.diagnostics-card .check-item{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary)}.diagnostics-card .health-icon{font-weight:700;font-size:14px}.diagnostics-card .health-icon.healthy{color:#10b981}.diagnostics-card .health-icon.unhealthy{color:#ef4444}.diagnostics-card .issues-list,.diagnostics-card .recommendations-list{margin:0;padding-left:20px;font-size:12px}.diagnostics-card .issues-list li,.diagnostics-card .recommendations-list li{margin-bottom:4px}.diagnostics-card .issues-list li:last-child,.diagnostics-card .recommendations-list li:last-child{margin-bottom:0}.diagnostics-card .issues-list{color:#ef4444}.diagnostics-card .recommendations-list{color:#f59e0b}.diagnostics-card .config-preview{margin:8px 0 0;padding:12px;background:var(--bg-hover);border-radius:6px;font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:10px;color:var(--text-secondary);overflow-x:auto;white-space:pre;max-height:300px;overflow-y:auto}.port-status{font-size:10px;margin-left:8px}.port-status.accessible{color:#10b981}.port-status.not-accessible{color:#ef4444}.app-detail-page{display:flex;flex-direction:column;gap:16px}.app-detail-topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.app-detail-breadcrumbs{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-tertiary)}.app-detail-breadcrumbs a{color:var(--text-secondary);text-decoration:none;transition:color .2s ease}.app-detail-breadcrumbs a:hover{color:var(--accent-primary)}.app-detail-breadcrumbs .breadcrumb-separator{color:var(--text-tertiary)}.app-detail-breadcrumbs .breadcrumb-current{color:var(--text-primary);font-weight:500}.app-detail-actions{display:flex;gap:8px}.app-detail-header{display:flex;align-items:center;gap:16px;padding:20px;background:var(--bg-card);border:1px solid var(--border-default);border-radius:8px}.app-detail-icon{width:56px;height:56px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:20px;font-weight:700;color:#fff}.app-detail-icon img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;border-radius:8px}.app-detail-icon svg{color:#fff}.app-detail-title-block{flex:1;min-width:0}.app-detail-title-block h1{font-size:20px;font-weight:600;color:var(--text-primary);margin:0 0 4px;display:flex;align-items:center;gap:12px}.app-detail-meta{display:flex;align-items:center;gap:16px;font-size:12px;color:var(--text-tertiary)}.app-detail-meta span{display:flex;align-items:center;gap:4px}.app-detail-meta a{color:var(--text-secondary);transition:color .2s ease}.app-detail-meta a:hover{color:var(--accent-primary)}.app-status-badge{display:inline-flex;align-items:center;gap:8px;padding:4px 12px;border-radius:9999px;font-size:12px;font-weight:500}.app-status-badge.running{background:#10b9811a;color:#10b981}.app-status-badge.stopped{background:var(--bg-tertiary);color:var(--text-secondary)}.app-status-badge.error{background:#ef44441a;color:#ef4444}.pulse-dot{width:8px;height:8px;border-radius:50%;background:currentColor}.running .pulse-dot{animation:pulse-green 2s ease-in-out infinite}.app-detail-tabs{display:inline-flex;align-items:center;gap:4px;height:36px;border-radius:8px;background:hsl(var(--muted));padding:3px;overflow-x:auto;scrollbar-width:none;width:-moz-fit-content;width:fit-content}.app-detail-tabs::-webkit-scrollbar{display:none}.app-detail-tab{display:inline-flex;align-items:center;justify-content:center;gap:4px;height:calc(100% - 1px);background:none;border:1px solid transparent;border-radius:6px;padding:0 12px;color:hsl(var(--muted-foreground));font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;transition:color .15s ease,box-shadow .15s ease,background .15s ease;font-family:Inter,ui-sans-serif,system-ui,sans-serif}.app-detail-tab:hover{color:hsl(var(--foreground))}.app-detail-tab.active{background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.app-detail-content{min-height:400px}.app-overview-grid{display:grid;grid-template-columns:2fr 1fr;gap:16px}@media (max-width: 1024px){.app-overview-grid{grid-template-columns:1fr}}.app-overview-left,.app-overview-right{display:flex;flex-direction:column;gap:16px}.app-panel{background:var(--bg-card);border:1px solid var(--border-default);border-radius:8px;overflow:hidden}.app-panel-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid var(--border-subtle)}.app-panel-header h3{margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.app-panel-body{padding:16px}.app-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media (max-width: 640px){.app-info-grid{grid-template-columns:1fr}}.app-info-item{display:flex;flex-direction:column;gap:4px}.app-info-item .info-label{font-size:10px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.app-info-item .info-value{font-size:12px;color:var(--text-primary);font-weight:500}.app-info-item .info-value.mono{font-family:JetBrains Mono,Fira Code,Monaco,monospace}.app-info-item .info-value a{color:var(--accent-primary);transition:color .2s ease}.app-info-item .info-value a:hover{text-decoration:underline}.private-url-box{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg-hover);border-radius:6px}.private-url-box code{flex:1;font-size:12px;color:var(--text-secondary);word-break:break-all}.resource-bar-container{display:flex;flex-direction:column;gap:12px}.resource-bar-item{display:flex;align-items:center;gap:12px}.resource-bar-label{width:40px;font-size:12px;color:var(--text-secondary);flex-shrink:0}.resource-bar-track{flex:1;height:8px;background:var(--bg-hover);border-radius:4px;overflow:hidden}.resource-bar-fill{height:100%;border-radius:4px;transition:width .2s ease}.resource-bar-fill.cpu{background:var(--accent-primary)}.resource-bar-fill.ram{background:#f59e0b}.resource-bar-value{width:48px;font-size:12px;font-weight:500;color:var(--text-primary);text-align:right;flex-shrink:0}.env-link-section{display:flex;flex-direction:column;gap:12px}.env-link-item{display:flex;align-items:center;justify-content:space-between;padding:12px;background:var(--bg-hover);border-radius:6px}.env-link-item .env-link-info{display:flex;align-items:center;gap:12px}.env-link-item .env-link-info .env-badge{padding:4px 8px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase}.env-link-item .env-link-info .env-badge.prod{background:#ef444426;color:#ef4444}.env-link-item .env-link-info .env-badge.dev{background:#22c55e26;color:#10b981}.env-link-item .env-link-info .env-badge.staging{background:#eab30826;color:#f59e0b}.env-link-item .env-link-info .env-name{font-size:12px;color:var(--text-primary)}.process-list{display:flex;flex-direction:column;gap:8px}.process-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg-hover);border-radius:6px}.process-item .process-name{font-size:12px;color:var(--text-primary);font-family:JetBrains Mono,Fira Code,Monaco,monospace}.process-item .process-status{display:flex;align-items:center;gap:8px;font-size:10px}.process-item .process-status.running{color:#10b981}.process-item .process-status.stopped{color:var(--text-tertiary)}.domain-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg-hover);border-radius:6px}.domain-item .domain-url{font-size:12px;color:var(--text-primary)}.domain-item .domain-url a{color:var(--accent-primary);transition:color .2s ease}.domain-item .domain-url a:hover{text-decoration:underline}.domain-item .domain-ssl{display:flex;align-items:center;gap:4px;font-size:10px;color:#10b981}.domain-item .domain-ssl.no-ssl{color:var(--text-tertiary)}.panel-empty{text-align:center;padding:24px;color:var(--text-tertiary);font-size:12px}.resources-loading{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;color:var(--text-tertiary);font-size:12px}@media (max-width: 768px){.apps-toolbar,.apps-toolbar-left{flex-direction:column;align-items:stretch}.apps-search-wrapper{max-width:none}.apps-toolbar-right{justify-content:space-between}.apps-bulk-bar{flex-direction:column;align-items:stretch}.apps-bulk-actions{justify-content:flex-end}.app-row{flex-wrap:wrap}.app-actions{width:100%;justify-content:flex-end;margin-top:8px;padding-top:8px;border-top:1px solid var(--border-subtle)}}.docker-page-new{padding:0}.docker-page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.docker-page-title h2{font-size:20px;font-weight:600;color:var(--text-primary);margin:0}.docker-page-subtitle{color:var(--text-secondary);font-size:12px;margin-top:4px}.docker-page-actions{display:flex;align-items:center;gap:12px}.docker-page-actions .server-selector{margin-right:8px}.docker-stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}@media (max-width: 1024px){.docker-stats-row{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.docker-stats-row{grid-template-columns:1fr}}.docker-stat-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px;padding:20px}.docker-stat-label{font-size:10px;font-weight:600;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:8px;letter-spacing:.05em}.docker-stat-value{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:24px;font-weight:700;color:var(--text-primary)}.docker-stat-meta{font-size:10px;color:var(--text-tertiary);margin-top:4px;display:flex;align-items:center;gap:12px}.docker-stat-running{color:#10b981}.docker-stat-running:before{content:"";display:inline-block;width:6px;height:6px;background:#10b981;border-radius:50%;margin-right:4px}.docker-stat-stopped{color:var(--text-tertiary)}.docker-stat-stopped:before{content:"";display:inline-block;width:6px;height:6px;background:var(--text-tertiary);border-radius:50%;margin-right:4px}.docker-panel{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px;overflow:hidden}.docker-panel-header{padding:16px 20px;border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;align-items:center}.docker-panel-tabs{display:flex;gap:24px}.docker-panel-tab{color:var(--text-tertiary);font-size:12px;font-weight:500;cursor:pointer;padding-bottom:4px;border-bottom:2px solid transparent;transition:all .2s}.docker-panel-tab:hover{color:var(--text-primary)}.docker-panel-tab.active{color:var(--text-primary);border-color:var(--accent-primary)}.docker-panel-actions{display:flex;gap:8px}.docker-table-header{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;border-bottom:1px solid var(--border-subtle);background:var(--bg-hover)}.docker-filter-toggle{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary);cursor:pointer}.docker-filter-toggle input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent-primary)}.docker-search{background:var(--bg-card);border:1px solid var(--border-subtle);padding:8px 12px;border-radius:4px;color:var(--text-primary);font-size:10px;width:200px}.docker-search::-moz-placeholder{color:var(--text-tertiary)}.docker-search::placeholder{color:var(--text-tertiary)}.docker-search:focus{outline:none;border-color:var(--accent-primary)}.docker-table{width:100%;border-collapse:collapse;font-size:12px}.docker-table th{text-align:left;padding:12px 20px;background:var(--bg-hover);color:var(--text-tertiary);font-size:10px;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.docker-table td{padding:16px 20px;border-bottom:1px solid var(--border-subtle);vertical-align:middle}.docker-table tr:hover{background:#f4f4f505}.docker-table tr:last-child td{border-bottom:none}.docker-container-name{font-weight:600;color:var(--text-primary);font-size:12px;display:block;margin-bottom:4px}.docker-container-id{font-family:JetBrains Mono,Fira Code,Monaco,monospace;color:var(--accent-primary);font-size:10px}.docker-image-tag{font-family:JetBrains Mono,Fira Code,Monaco,monospace;color:var(--text-secondary);font-size:10px;background:var(--bg-hover);padding:4px 8px;border-radius:4px}.docker-status-pill{display:inline-flex;align-items:center;gap:8px;font-size:10px;font-weight:600;padding:4px 8px;border-radius:9999px}.docker-status-pill.running{background:#10b9811a;color:#10b981;border:1px solid rgba(16,185,129,.2)}.docker-status-pill.exited{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.2)}.docker-status-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.docker-status-detail{font-size:10px;color:var(--text-tertiary);margin-top:4px}.docker-ports{font-family:JetBrains Mono,Fira Code,Monaco,monospace;color:var(--text-primary);font-size:10px;line-height:1.6}.docker-ports.faded{opacity:.4}.docker-res-container{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--text-tertiary);margin-bottom:4px}.docker-res-container:last-child{margin-bottom:0}.docker-res-label{width:28px;flex-shrink:0}.docker-res-track{width:50px;height:4px;background:var(--bg-hover);border-radius:2px;overflow:hidden}.docker-res-fill{height:100%;border-radius:2px;transition:width .3s ease}.docker-res-value{width:32px;text-align:right;font-family:JetBrains Mono,Fira Code,Monaco,monospace}.faded{opacity:.3}.docker-actions-cell{text-align:right;white-space:nowrap}.docker-icon-action{background:transparent;border:1px solid transparent;color:var(--text-tertiary);width:28px;height:28px;border-radius:4px;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;padding:0}.docker-icon-action:hover:not(:disabled){color:var(--text-primary);background:var(--bg-hover);border-color:var(--border-subtle)}.docker-icon-action:disabled{opacity:.5;cursor:not-allowed}.docker-icon-action svg{width:14px;height:14px}.docker-empty{text-align:center;padding:48px;color:var(--text-secondary)}.docker-empty h3{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.docker-empty p{margin:0;font-size:12px}.docker-loading{text-align:center;padding:48px;color:var(--text-secondary)}.docker-list{display:flex;flex-direction:column;gap:12px}.docker-item{display:flex;align-items:center;gap:20px;padding:16px 20px;background-color:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;transition:border-color .2s ease}.docker-item:hover{border-color:var(--border-active)}.docker-item-info{display:flex;align-items:center;justify-content:flex-start;gap:16px;flex:1;min-width:0}.docker-item-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--bg-hover);border-radius:8px;color:#2496ed}.docker-item-icon.image-icon{color:#a78bfa}.docker-item-icon.network-icon{color:#34d399}.docker-item-icon.volume-icon{color:#fbbf24}.docker-item-details{min-width:0}.docker-item-details h3{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.docker-item-meta{display:flex;align-items:center;justify-content:flex-start;gap:12px;font-size:12px;color:var(--text-tertiary);flex-wrap:wrap}.docker-item-meta .mono{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;background:var(--bg-hover);padding:2px 6px;border-radius:4px}.docker-item-status{flex-shrink:0}.docker-item-actions{display:flex;gap:8px;flex-shrink:0}.exec-modal-body{display:flex;flex-direction:column;height:400px}.exec-output{flex:1;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px;padding:16px;overflow-y:auto;font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;margin-bottom:12px}.exec-welcome{color:var(--text-secondary);text-align:center;padding:32px 0}.exec-welcome p{margin-bottom:8px}.exec-welcome code{background:var(--bg-hover);padding:4px 8px;border-radius:4px;color:var(--accent-primary)}.exec-line{margin-bottom:8px}.exec-line pre{margin:0;white-space:pre-wrap;word-break:break-all}.exec-line.exec-command{color:var(--accent-primary);font-weight:500}.exec-line.exec-output{color:var(--text-primary)}.exec-line.exec-error{color:#ef4444}.exec-line.exec-info{color:var(--text-tertiary);font-size:10px}.exec-line.exec-loading{color:var(--text-secondary);display:flex;align-items:center;gap:8px}.exec-input-form{display:flex;align-items:center;gap:8px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px;padding:8px 12px}.exec-input-form:focus-within{border-color:var(--accent-primary)}.exec-prompt{color:var(--accent-primary);font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-weight:600}.exec-input{flex:1;border:none;background:transparent;color:var(--text-primary);font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;outline:none}.exec-input::-moz-placeholder{color:var(--text-tertiary)}.exec-input::placeholder{color:var(--text-tertiary)}.exec-input:disabled{opacity:.5}.docker-page .page-header{margin-bottom:24px}.docker-page .page-header .page-header-content h1{font-size:24px;font-weight:600;margin:0 0 4px}.docker-page .page-header .page-header-content .page-description{color:var(--text-secondary);margin:0}.docker-unavailable{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px 24px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;max-width:600px;margin:0 auto}.docker-unavailable .docker-unavailable-icon{width:100px;height:100px;display:flex;align-items:center;justify-content:center;background:#2496ed1a;border-radius:12px;margin-bottom:24px}.docker-unavailable .docker-unavailable-icon svg{stroke:#2496ed;opacity:.6}.docker-unavailable h2{font-size:20px;font-weight:600;margin:0 0 8px;color:var(--text-primary)}.docker-unavailable .docker-unavailable-message{color:var(--text-secondary);font-size:14px;margin:0 0 16px}.docker-unavailable .docker-unavailable-details{width:100%;margin-bottom:24px}.docker-unavailable .docker-unavailable-details code{display:block;padding:12px 16px;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:6px;font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:10px;color:var(--text-tertiary);word-break:break-all;text-align:left}.docker-unavailable .docker-unavailable-help{width:100%;padding:20px;background:var(--bg-hover);border-radius:8px;text-align:left;margin-bottom:24px}.docker-unavailable .docker-unavailable-help h4{font-size:12px;font-weight:600;margin:0 0 12px;color:var(--text-primary)}.docker-unavailable .docker-unavailable-help ul{margin:0;padding-left:20px}.docker-unavailable .docker-unavailable-help ul li{font-size:12px;color:var(--text-secondary);margin-bottom:8px}.docker-unavailable .docker-unavailable-help ul li:last-child{margin-bottom:0}.docker-unavailable .btn{display:inline-flex;align-items:center;gap:8px}.docker-unavailable .btn svg{width:16px;height:16px}.db-status{display:flex;gap:24px;margin-bottom:24px}@media (max-width: 768px){.db-status{flex-direction:column}}.db-status-item{display:flex;align-items:center;justify-content:flex-start;gap:12px;padding:16px 24px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;flex:1}.status-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:10px;font-size:20px;font-weight:700}.status-icon.mysql{background:linear-gradient(135deg,#00758f,#f29111);color:#fff}.status-icon.postgresql{background:linear-gradient(135deg,#336791,#5f9ab8);color:#fff}.status-info h3{font-size:16px;font-weight:600;margin-bottom:4px}.status-info span{font-size:13px;color:var(--text-secondary)}.status-info span.running{color:#10b981}.status-info span.stopped{color:#ef4444}.db-list{display:flex;flex-direction:column;gap:12px}.db-item{display:flex;align-items:center;gap:20px;padding:16px 20px;background-color:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;transition:border-color .2s ease}.db-item:hover{border-color:var(--border-active)}.db-item-info{display:flex;align-items:center;justify-content:flex-start;gap:16px;flex:1;min-width:0}.db-item-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--bg-hover);border-radius:8px}.db-item-icon.mysql{color:#f29111}.db-item-icon.postgresql{color:#336791}.db-item-icon.user{color:var(--accent-primary)}.db-item-details{min-width:0}.db-item-details h3{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.db-item-meta{display:flex;align-items:center;justify-content:flex-start;gap:12px;font-size:12px;color:var(--text-tertiary);flex-wrap:wrap}.db-item-meta .mono{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;background:var(--bg-hover);padding:2px 6px;border-radius:4px}.db-item-meta .host{color:var(--text-secondary)}.db-item-actions{display:flex;gap:8px;flex-shrink:0}.db-explorer{display:flex;flex-direction:column;width:92vw;max-width:1300px;height:82vh;background:var(--bg-body);border:1px solid var(--border-subtle);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-lg);position:relative}.dbe-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:var(--bg-sidebar);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.dbe-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text-primary)}.dbe-title svg{color:var(--accent-primary);flex-shrink:0}.dbe-badge{font-size:10px;font-weight:500;padding:2px 8px;border-radius:9999px}.dbe-badge.dbe-badge--mysql{background:#f2911126;color:#f29111}.dbe-badge.dbe-badge--postgresql{background:#33679126;color:#5f9ab8}.dbe-badge.dbe-badge--sqlite{background:var(--accent-glow);color:var(--accent-primary)}.dbe-body{display:flex;flex:1;overflow:hidden}.dbe-sidebar{width:220px;flex-shrink:0;background:var(--bg-sidebar);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;overflow:hidden}.dbe-search{display:flex;align-items:center;gap:8px;padding:12px;border-bottom:1px solid var(--border-subtle)}.dbe-search svg{color:var(--text-tertiary);flex-shrink:0}.dbe-search input{flex:1;background:transparent;border:none;outline:none;font-size:12px;color:var(--text-primary)}.dbe-search input::-moz-placeholder{color:var(--text-tertiary)}.dbe-search input::placeholder{color:var(--text-tertiary)}.dbe-table-count{padding:8px 12px;font-size:10px;color:var(--text-tertiary);font-weight:500;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-subtle)}.dbe-table-list{flex:1;overflow-y:auto;padding:8px}.dbe-table-item{display:flex;align-items:center;gap:8px;padding:8px;border-radius:6px;cursor:pointer;transition:background .15s ease}.dbe-table-item svg{color:var(--text-tertiary);flex-shrink:0}.dbe-table-item:hover{background:var(--bg-hover)}.dbe-table-item:hover svg{color:var(--accent-primary)}.dbe-table-item.active{background:var(--accent-glow);border:1px solid rgba(99,102,241,.25)}.dbe-table-item.active svg{color:var(--accent-primary)}.dbe-table-item.active .dti-name{color:var(--accent-primary)}.dti-name{flex:1;font-size:12px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:JetBrains Mono,Fira Code,Monaco,monospace}.dti-rows{font-size:10px;color:var(--text-tertiary);flex-shrink:0}.dbe-pagination{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 12px;border-top:1px solid var(--border-subtle);font-size:10px;color:var(--text-secondary)}.dbe-pagination button{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--bg-hover);border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:14px;transition:all .15s ease}.dbe-pagination button:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.dbe-pagination button:disabled{opacity:.3;cursor:default}.dbe-main{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-body)}.dbe-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--text-tertiary)}.dbe-empty p{font-size:14px;margin:0}.dbe-query-bar{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border-subtle);background:var(--bg-sidebar);flex-shrink:0}.dbe-query-input{flex:1;padding:8px 12px;font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-primary);outline:none;transition:border-color .15s ease}.dbe-query-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-glow)}.dbe-query-input::-moz-placeholder{color:var(--text-tertiary)}.dbe-query-input::placeholder{color:var(--text-tertiary)}.dbe-error{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#ef44441a;border-bottom:1px solid rgba(239,68,68,.2);color:#ef4444;font-size:12px;flex-shrink:0}.dbe-section{flex-shrink:0;border-bottom:1px solid var(--border-subtle)}.dbe-section--data{flex:1;display:flex;flex-direction:column;overflow:hidden;border-bottom:none}.dbe-section-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--bg-card);border-bottom:1px solid var(--border-subtle);font-size:12px;font-weight:600;color:var(--text-secondary)}.dbe-section-header em.dbe-count{font-style:normal;font-weight:400;color:var(--text-tertiary)}.dbe-hint-sm{font-size:10px;color:var(--text-tertiary);font-weight:400}.dbe-page-btns{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--text-secondary)}.dbe-page-btns button{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:var(--bg-hover);border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:14px;transition:all .15s ease}.dbe-page-btns button:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.dbe-page-btns button:disabled{opacity:.3;cursor:default}.dbe-cols-grid{padding:8px 12px;display:flex;flex-wrap:wrap;gap:4px}.dbe-col-row{display:flex;align-items:center;gap:8px;padding:4px 12px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px;min-width:180px;flex:1}.dcr-name{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;color:var(--text-primary);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dcr-type{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:10px;color:var(--text-tertiary);flex-shrink:0}.dcr-badges{display:flex;gap:4px;margin-left:auto;flex-shrink:0}.dbe-tag{font-size:10px;font-weight:700;padding:1px 5px;border-radius:4px}.dbe-tag.pk{background:#6366f126;color:var(--accent-primary);border:1px solid rgba(99,102,241,.3)}.dbe-tag.nn{background:#f59e0b1a;color:#f59e0b;border:1px solid rgba(245,158,11,.25)}.dbe-loading{padding:16px;font-size:12px;color:var(--text-tertiary);text-align:center}.dbe-data-wrap{flex:1;overflow:auto}.dbe-data-table{width:100%;border-collapse:collapse;font-size:12px}.dbe-data-table th,.dbe-data-table td{padding:8px 12px;text-align:left;border-bottom:1px solid var(--border-subtle);white-space:nowrap;max-width:280px;overflow:hidden;text-overflow:ellipsis}.dbe-data-table th{position:sticky;top:0;background:var(--bg-card);font-weight:500;color:var(--text-secondary);z-index:1}.dbe-data-table th.dbe-actions-th{width:60px;text-align:center}.dbe-data-table td{font-family:JetBrains Mono,Fira Code,Monaco,monospace;color:var(--text-primary)}.dbe-data-table td.dbe-null{color:var(--text-tertiary);font-style:italic}.dbe-data-table tbody tr{transition:background .15s ease}.dbe-data-table tbody tr:hover{background:var(--bg-hover)}.dbe-row-actions{text-align:center;width:60px}.dbe-row-btn{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:4px;color:var(--text-tertiary);cursor:pointer;transition:all .15s ease}.dbe-row-btn:hover{background:var(--bg-hover);color:var(--accent-primary)}.dbe-row-btn.dbe-row-btn--del:hover{background:#ef44441a;color:#ef4444}.dbe-edit-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10;border-radius:12px}.dbe-edit-modal{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;width:480px;max-width:90%;max-height:80%;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);overflow:hidden}.dbe-edit-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-subtle)}.dbe-edit-header h3{margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.dbe-edit-body{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:12px}.dbe-edit-field{display:flex;flex-direction:column;gap:4px}.dbe-edit-field label{font-size:12px;font-weight:500;color:var(--text-secondary);display:flex;align-items:center;gap:8px}.dbe-edit-field input{padding:8px 12px;background:var(--bg-body);border:1px solid var(--border-subtle);border-radius:6px;font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;color:var(--text-primary);outline:none;transition:border-color .15s ease}.dbe-edit-field input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-glow)}.dbe-edit-field input:disabled{color:var(--text-tertiary);cursor:not-allowed;background:var(--bg-hover)}.dbe-edit-field input::-moz-placeholder{color:var(--text-tertiary);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-style:italic}.dbe-edit-field input::placeholder{color:var(--text-tertiary);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-style:italic}.dbe-edit-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid var(--border-subtle);background:var(--bg-body)}.users-header{display:flex;align-items:center;justify-content:space-between;margin:32px 0 16px;padding-top:24px;border-top:1px solid var(--border-subtle)}.users-header h3{font-size:16px;font-weight:600}.domains-section-title{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border-subtle)}.domains-ssl-bar{display:flex;gap:16px;margin-bottom:24px}@media (max-width: 768px){.domains-ssl-bar{flex-direction:column}}.domains-ssl-card{display:flex;align-items:center;gap:12px;padding:16px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;flex:1}.domains-ssl-card__icon{width:40px;height:40px;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.domains-ssl-card__icon.active{background:#10b9811a;color:#10b981}.domains-ssl-card__icon.inactive{background:#ef44441a;color:#ef4444}.domains-ssl-card__title{font-size:10px;color:var(--text-secondary);margin-bottom:2px}.domains-ssl-card__value{font-size:12px;font-weight:600;color:var(--text-primary)}.domains-list{display:flex;flex-direction:column;gap:8px}.domains-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;transition:border-color .15s ease,box-shadow .15s ease}.domains-card:hover{border-color:var(--border-hover);box-shadow:0 2px 8px #0000001a}.domains-card__left{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.domains-card__icon{width:36px;height:36px;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--bg-hover);color:var(--text-secondary)}.domains-card__icon.ssl{background:#10b9811a;color:#10b981}.domains-card__icon.dynadot{background:#6366f11a;color:#6366f1}.domains-card__info{min-width:0;flex:1}.domains-card__name{font-size:12px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:3px}.domains-card__meta{display:flex;align-items:center;gap:12px;font-size:10px;color:var(--text-tertiary);flex-wrap:wrap}.domains-card__meta span{display:flex;align-items:center;gap:4px}.domains-card__meta span.valid{color:#10b981}.domains-card__meta span.expiring{color:#f59e0b}.domains-card__ssl{color:#10b981;display:flex;align-items:center;gap:4px}.domains-card__actions{display:flex;align-items:center;gap:8px;flex-shrink:0;flex-wrap:wrap}.domains-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:4px;font-size:10px;font-weight:600}.domains-badge--primary{background:#3b82f61f;color:var(--accent-primary)}.domains-badge--provider{background:#6366f11a;color:#6366f1}.domains-badge--valid{background:#10b9811a;color:#10b981}.domains-badge--expiring{background:#f59e0b1a;color:#f59e0b}.domains-badge--status.active{background:#10b9811a;color:#10b981}.domains-badge--status.expired{background:#ef44441a;color:#ef4444}.ssl-status-bar{display:flex;gap:24px;margin-bottom:32px}@media (max-width: 768px){.ssl-status-bar{flex-direction:column}}.ssl-status-item{display:flex;align-items:center;justify-content:flex-start;gap:16px;padding:20px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;flex:1}.ssl-status-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:10px}.ssl-status-icon.active{background:#10b9811a;color:#10b981}.ssl-status-icon.inactive{background:#ef44441a;color:#ef4444}.ssl-status-info h4{font-size:16px;font-weight:600;margin-bottom:4px}.ssl-status-info span{font-size:13px;color:var(--text-secondary)}.domain-list{display:flex;flex-direction:column;gap:12px}.domain-item{display:flex;align-items:center;gap:20px;padding:16px 20px;background-color:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;transition:border-color .2s ease}.domain-item:hover{border-color:var(--border-active)}.domain-item-info{display:flex;align-items:center;justify-content:flex-start;gap:16px;flex:1;min-width:0}.domain-item-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--bg-hover);border-radius:8px;color:var(--text-secondary)}.domain-item-icon.ssl{background:#10b9811a;color:#10b981}.domain-item-details{min-width:0}.domain-item-details h3{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:4px;display:flex;align-items:center;justify-content:flex-start;gap:8px}.primary-badge{background:var(--accent-glow);color:var(--accent-primary);padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase}.domain-item-meta{display:flex;align-items:center;justify-content:flex-start;gap:16px;font-size:12px;color:var(--text-tertiary)}.domain-item-meta span{display:flex;align-items:center;justify-content:flex-start;gap:4px}.app-link{color:var(--text-secondary)}.ssl-badge{color:#10b981}.domain-item-actions{display:flex;gap:8px;flex-shrink:0;flex-wrap:wrap}.cert-list{display:flex;flex-direction:column;gap:12px}.cert-item{display:flex;align-items:center;gap:20px;padding:16px 20px;background-color:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;transition:border-color .2s ease}.cert-item:hover{border-color:var(--border-active)}.cert-item-info{display:flex;align-items:center;justify-content:flex-start;gap:16px;flex:1;min-width:0}.cert-item-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#10b9811a;border-radius:8px;color:#10b981}.cert-item-details{min-width:0}.cert-item-details h3{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.cert-item-meta{display:flex;align-items:center;justify-content:flex-start;gap:16px;font-size:12px;color:var(--text-tertiary)}.cert-item-meta span{display:flex;align-items:center;justify-content:flex-start;gap:4px}.cert-item-meta span.valid{color:#10b981}.cert-item-meta span.expiring{color:#f59e0b}.cert-status{flex-shrink:0}.ssl-info-box{display:flex;align-items:center;justify-content:flex-start;gap:16px;padding:20px;background:#10b9811a;border:1px solid rgba(16,185,129,.2);border-radius:8px;margin-bottom:20px;color:#10b981}.ssl-info-box h4{font-size:14px;font-weight:600;margin-bottom:4px}.ssl-info-box p{font-size:12px;color:var(--text-secondary)}.ssl-info-box p strong{color:var(--text-primary)}.checkbox-label{display:flex;align-items:center;justify-content:flex-start;gap:8px;cursor:pointer}.checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent-primary)}.domain-search-results{display:flex;flex-direction:column;gap:12px;margin-top:16px}.domain-search-item{padding:12px 16px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px}.domain-search-info{display:flex;align-items:center;gap:12px;margin-bottom:8px}.domain-search-actions{display:flex;align-items:center;gap:12px}.domain-name{font-size:12px;font-weight:600;color:var(--text-primary)}.domain-availability{font-size:10px;font-weight:500;padding:2px 8px;border-radius:4px}.domain-availability.available{background:#10b9811a;color:#10b981}.domain-availability.unavailable{background:#ef44441a;color:#ef4444}.domain-price{font-size:12px;color:var(--text-secondary);font-weight:500}.monitoring-page .monitoring-overview{display:flex;flex-direction:column;gap:24px}.monitoring-page .threshold-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.monitoring-page .threshold-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--bg-hover);border-radius:6px}.monitoring-page .threshold-label{color:var(--text-secondary);font-size:12px}.monitoring-page .threshold-value{font-size:18px;font-weight:600;color:var(--accent-primary)}.monitoring-page .threshold-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px}.monitoring-page .alert-list{display:flex;flex-direction:column;gap:8px}.monitoring-page .alert-item{display:flex;align-items:center;gap:16px;padding:12px 16px;background:var(--bg-hover);border-radius:6px}.monitoring-page .alert-item .badge{flex-shrink:0}.monitoring-page .alert-item .alert-message{flex:1;font-size:12px;color:var(--text-primary)}.monitoring-page .alert-item .alert-time{color:var(--text-tertiary);font-size:10px;white-space:nowrap}.monitoring-page .stat-icon.status{background:#10b9811a;color:#10b981}.monitoring-page .stat-icon.alerts{background:#ef44441a;color:#ef4444}.monitoring-page .stat-icon.interval{background:#6366f11a;color:var(--accent-primary)}.monitoring-page .stat-icon.notifications{background:#a855f71a;color:#a855f7}.monitoring-page .text-success{color:#10b981}.monitoring-page .text-muted{color:var(--text-tertiary)}.monitoring-page .input-group{display:flex;gap:8px}.monitoring-page .input-group input{flex:1}.monitoring-page .input-group .btn{flex-shrink:0}.monitoring-page .checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer}.monitoring-page .checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.monitoring-page .checkbox-label span{font-size:12px;color:var(--text-primary)}.monitoring-page .form-help{display:block;margin-top:4px;font-size:10px;color:var(--text-tertiary)}.backups-page .backups-loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:64px;color:var(--text-tertiary);font-size:12px}.backups-page .spin{animation:bk-spin .9s linear infinite}@keyframes bk-spin{to{transform:rotate(360deg)}}.backups-page .bk-stats{display:flex;gap:16px;margin-bottom:24px}@media (max-width: 640px){.backups-page .bk-stats{flex-wrap:wrap}}.backups-page .bk-stat{flex:1;display:flex;align-items:center;gap:12px;padding:16px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px}.backups-page .bk-stat__icon{width:38px;height:38px;border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.backups-page .bk-stat__icon--blue{background:#6366f11f;color:var(--accent-primary)}.backups-page .bk-stat__icon--green{background:#10b9811f;color:#10b981}.backups-page .bk-stat__icon--purple{background:#a855f71f;color:#a855f7}.backups-page .bk-stat__icon--teal{background:#3b82f61f;color:#3b82f6}.backups-page .bk-stat__body{display:flex;flex-direction:column}.backups-page .bk-stat__val{font-size:20px;font-weight:600;color:var(--text-primary);line-height:1.2}.backups-page .bk-stat__lbl{font-size:10px;color:var(--text-tertiary)}.backups-page .bk-panel{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px;overflow:hidden}.backups-page .bk-panel__toolbar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border-subtle);gap:12px}.backups-page .bk-panel__title{font-size:12px;color:var(--text-tertiary)}.backups-page .bk-filter-pills{display:flex;gap:4px;flex-wrap:wrap}.backups-page .bk-pill{padding:4px 12px;border-radius:999px;border:1px solid var(--border-subtle);background:transparent;color:var(--text-secondary);font-size:10px;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.backups-page .bk-pill:hover{background:var(--bg-hover);color:var(--text-primary)}.backups-page .bk-pill--active{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.backups-page .bk-pill--active:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.backups-page .bk-list{display:flex;flex-direction:column}.backups-page .bk-row{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border-subtle);transition:background .12s}.backups-page .bk-row:last-child{border-bottom:none}.backups-page .bk-row:hover{background:var(--bg-hover)}.backups-page .bk-row--disabled{opacity:.55}.backups-page .bk-row__icon{width:34px;height:34px;border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.backups-page .bk-row__icon--primary{background:#6366f11f;color:var(--accent-primary)}.backups-page .bk-row__icon--purple{background:#a855f71f;color:#a855f7}.backups-page .bk-row__icon--warning{background:#f59e0b1f;color:#f59e0b}.backups-page .bk-row__icon--blue,.backups-page .bk-row__icon--teal{background:#3b82f61f;color:#3b82f6}.backups-page .bk-row__info{flex:1;min-width:0}.backups-page .bk-row__name{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:12px;font-weight:500;color:var(--text-primary);display:flex;align-items:center;gap:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.backups-page .bk-row__site{font-size:10px;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--text-tertiary);background:var(--bg-hover);padding:1px 8px;border-radius:999px;border:1px solid var(--border-subtle);flex-shrink:0}.backups-page .bk-row__path{font-size:11px;color:var(--text-tertiary);font-family:JetBrains Mono,Fira Code,Monaco,monospace;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:380px}.backups-page .bk-row__meta{display:flex;gap:4px;flex-wrap:wrap;flex-shrink:0}.backups-page .bk-row__size{font-size:10px;color:var(--text-secondary);min-width:60px;text-align:right;flex-shrink:0}.backups-page .bk-row__date{font-size:10px;color:var(--text-tertiary);min-width:130px;text-align:right;flex-shrink:0}.backups-page .bk-row__actions{display:flex;gap:4px;flex-shrink:0}.backups-page .bk-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:500;white-space:nowrap}.backups-page .bk-badge--primary{background:#6366f124;color:var(--accent-primary)}.backups-page .bk-badge--purple{background:#a855f724;color:#a855f7}.backups-page .bk-badge--warning{background:#f59e0b24;color:#f59e0b}.backups-page .bk-badge--blue,.backups-page .bk-badge--teal{background:#3b82f624;color:#3b82f6}.backups-page .bk-badge--green{background:#10b98124;color:#10b981}.backups-page .bk-badge--red{background:#ef444424;color:#ef4444}.backups-page .bk-badge--muted{background:var(--bg-hover);color:var(--text-tertiary);border:1px solid var(--border-subtle)}.backups-page .bk-action-btn{width:30px;height:30px;border-radius:4px;border:1px solid var(--border-subtle);background:transparent;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s,color .12s,border-color .12s}.backups-page .bk-action-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.backups-page .bk-action-btn:disabled{opacity:.4;cursor:not-allowed}.backups-page .bk-action-btn--danger:hover:not(:disabled){background:#ef44441f;color:#ef4444;border-color:#ef4444}.backups-page .bk-action-btn--success:hover:not(:disabled){background:#10b9811f;color:#10b981;border-color:#10b981}.backups-page .bk-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 32px;gap:12px;text-align:center}.backups-page .bk-empty svg{color:var(--text-tertiary)}.backups-page .bk-empty h3{font-size:14px;font-weight:600;color:var(--text-primary);margin:0}.backups-page .bk-empty p{font-size:12px;color:var(--text-tertiary);margin:0;max-width:320px}.backups-page .bk-storage-form{display:flex;flex-direction:column;gap:16px}.backups-page .bk-section{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px;padding:20px}.backups-page .bk-section__title{font-size:12px;font-weight:600;color:var(--text-primary);margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid var(--border-subtle)}.backups-page .bk-provider-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media (max-width: 600px){.backups-page .bk-provider-cards{grid-template-columns:1fr}}.backups-page .bk-provider-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px;border-radius:6px;border:1px solid var(--border-subtle);background:var(--bg-secondary);cursor:pointer;text-align:center;transition:border-color .15s,background .15s;color:var(--text-secondary)}.backups-page .bk-provider-card:hover{border-color:var(--border-active);background:var(--bg-hover);color:var(--text-primary)}.backups-page .bk-provider-card--active{border-color:var(--accent-primary);background:#6366f114;color:var(--accent-primary)}.backups-page .bk-provider-card__label{font-size:12px;font-weight:500;color:inherit}.backups-page .bk-provider-card__desc{font-size:10px;color:var(--text-tertiary)}.backups-page .bk-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 600px){.backups-page .bk-form-grid{grid-template-columns:1fr}}.backups-page .bk-toggle-row{display:flex;align-items:flex-start;gap:12px;padding:8px 0}.backups-page .bk-toggle-row__label{font-size:12px;font-weight:500;color:var(--text-primary)}.backups-page .bk-toggle-row__desc{font-size:10px;color:var(--text-tertiary);margin-top:2px}.backups-page .bk-toggle{position:relative;display:inline-block;width:36px;height:20px;flex-shrink:0;margin-top:1px;cursor:pointer}.backups-page .bk-toggle input{opacity:0;width:0;height:0;position:absolute}.backups-page .bk-toggle__track{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:var(--border-default);transition:background .2s}.backups-page .bk-toggle__track:after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform .2s}input:checked~.backups-page .bk-toggle__track{background:var(--accent-primary)}input:checked~.backups-page .bk-toggle__track:after{transform:translate(16px)}.backups-page .bk-retention__header{display:flex;justify-content:space-between;margin-bottom:8px}.backups-page .bk-retention__label{font-size:12px;font-weight:500;color:var(--text-primary)}.backups-page .bk-retention__value{font-size:12px;font-weight:600;color:var(--accent-primary)}.backups-page .bk-retention__marks{display:flex;justify-content:space-between;margin-top:4px;font-size:10px;color:var(--text-tertiary)}.backups-page .bk-retention__hint{font-size:10px;color:var(--text-tertiary);margin:8px 0 0}.backups-page .bk-slider{width:100%;height:5px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--border-default);border-radius:999px;outline:none;cursor:pointer}.backups-page .bk-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--accent-primary);border:2px solid var(--bg-card);box-shadow:0 0 0 1px var(--accent-primary);cursor:pointer}.backups-page .bk-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--accent-primary);border:2px solid var(--bg-card);cursor:pointer}.backups-page .bk-form-actions{display:flex;gap:12px;padding-top:8px}.backups-page .bk-type-pills{display:flex;gap:8px;margin-bottom:20px;border-bottom:1px solid var(--border-subtle);padding-bottom:16px;flex-wrap:wrap}.backups-page .bk-type-pill{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:6px;border:1px solid var(--border-subtle);background:transparent;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .15s}.backups-page .bk-type-pill:hover{border-color:var(--border-active);color:var(--text-primary);background:var(--bg-hover)}.backups-page .bk-type-pill--active{border-color:var(--accent-primary);background:#6366f11a;color:var(--accent-primary);font-weight:500}.backups-page .bk-db-fields{display:flex;flex-direction:column;gap:12px;padding:12px;background:var(--bg-hover);border-radius:6px;border:1px solid var(--border-subtle);margin-top:8px}.backups-page .bk-checkbox-row{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary);cursor:pointer;padding:4px 0}.backups-page .bk-checkbox-row input[type=checkbox]{width:16px;height:16px;cursor:pointer;flex-shrink:0}.backups-page .bk-restore-warn{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#ef444414;border:1px solid rgba(239,68,68,.25);border-radius:6px;margin-bottom:16px}.backups-page .bk-restore-warn svg{color:#ef4444;flex-shrink:0;margin-top:2px}.backups-page .bk-restore-warn h4{margin:0 0 4px;font-size:12px;font-weight:600;color:#ef4444}.backups-page .bk-restore-warn p{margin:0;font-size:12px;color:var(--text-secondary)}.backups-page .bk-restore-details{border:1px solid var(--border-subtle);border-radius:6px;overflow:hidden}.backups-page .bk-restore-details__row{display:flex;justify-content:space-between;padding:12px 16px;font-size:12px;border-bottom:1px solid var(--border-subtle)}.backups-page .bk-restore-details__row:last-child{border-bottom:none}.backups-page .bk-restore-details__row span:first-child{color:var(--text-tertiary)}.backups-page .bk-restore-details__row span:last-child{color:var(--text-primary);font-weight:500}.backups-page .form-help-inline{font-size:10px;color:var(--text-tertiary);font-weight:400}.backups-page textarea{width:100%;padding:8px 12px;border:1px solid var(--border-subtle);border-radius:6px;background:var(--bg-card);color:var(--text-primary);font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;resize:vertical}.backups-page textarea:focus{outline:none;border-color:var(--accent-primary)}.terminal-page .tabs .tab{display:flex;align-items:center;gap:8px}.terminal-page .tabs .tab svg{stroke:currentColor;fill:none;stroke-width:2}.logs-container{height:calc(100vh - 240px);min-height:500px}.logs-layout{display:grid;grid-template-columns:300px 1fr;gap:24px;height:100%}@media (max-width: 1024px){.logs-layout{grid-template-columns:1fr;grid-template-rows:auto 1fr}}.logs-sidebar{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;display:flex;flex-direction:column;overflow:hidden}.logs-sidebar .sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border-subtle)}.logs-sidebar .sidebar-header h3{font-size:12px;font-weight:600;margin:0}.terminal-sidebar{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px}.terminal-sidebar__title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);padding:12px 16px;border-bottom:1px solid var(--border-subtle)}.log-files-list{flex:1;overflow-y:auto;padding:8px}.log-files-list .empty-hint{padding:24px;text-align:center;color:var(--text-tertiary);font-size:12px}.log-file-item{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:6px;cursor:pointer;transition:all .15s ease;border-left:2px solid transparent}.log-file-item:hover{background:var(--bg-hover)}.log-file-item.active{background:#3b82f626;color:var(--text-primary);border-left-color:var(--primary)}.log-file-item.active .log-file-path,.log-file-item.active .log-file-size{color:var(--text-secondary)}.log-file-item.active .log-icon{background:#3b82f633}.log-file-item .log-icon{width:32px;height:32px;border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--bg-hover)}.log-file-item .log-icon svg{stroke:currentColor;fill:none;stroke-width:2}.log-file-item .log-icon.error{color:#ef4444}.log-file-item .log-icon.access{color:#10b981}.log-file-item .log-icon.nginx{color:var(--accent-primary)}.log-file-item .log-icon.database{color:#a855f7}.log-file-item .log-file-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.log-file-item .log-file-name{font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.log-file-item .log-file-path{font-size:10px;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.log-file-item .log-file-size{font-size:10px;color:var(--text-tertiary);flex-shrink:0}.logs-viewer{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;display:flex;flex-direction:column;overflow:hidden}.viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 16px;background:var(--bg-card);border-bottom:1px solid var(--border-subtle);flex-wrap:wrap}.viewer-toolbar .toolbar-left,.viewer-toolbar .toolbar-right{display:flex;align-items:center;gap:8px}.search-input{display:flex;align-items:center;gap:8px;padding:4px 8px;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:6px}.search-input svg{stroke:var(--text-tertiary);fill:none;stroke-width:2;flex-shrink:0}.search-input input{border:none;background:none;padding:0;font-size:12px;width:180px}.search-input input:focus{outline:none}.lines-select{width:100%;height:36px;padding:0 12px;background:hsl(var(--background));border:1px solid hsl(var(--input));border-radius:6px;color:hsl(var(--foreground));font-size:12px;line-height:1;transition:border-color .2s ease}.lines-select:focus{border-color:var(--accent-primary);outline:none;box-shadow:none}.lines-select::-moz-placeholder{color:hsl(var(--muted-foreground))}.lines-select::placeholder{color:hsl(var(--muted-foreground))}.lines-select:disabled{cursor:not-allowed;opacity:.5}.lines-select{width:auto;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='hsl(var(--muted-foreground))' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;padding-right:28px;font-size:12px}.auto-refresh-toggle{display:flex;align-items:center;gap:4px;cursor:pointer;font-size:12px;color:var(--text-secondary)}.auto-refresh-toggle input{cursor:pointer}.log-content{flex:1;overflow:auto;padding:1rem;background:var(--bg-code)}.log-content pre{margin:0;font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;line-height:1.4;color:var(--text-code);white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word}.log-content .empty-viewer{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-tertiary);opacity:.6}.log-content .empty-viewer svg{stroke:currentColor;fill:none;stroke-width:1.5;margin-bottom:16px;opacity:.5}.log-content .empty-viewer p{font-size:12px}.terminal-output{background:#0d1117;color:#e6edf3}.terminal-output pre{margin:0;color:#e6edf3;font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;line-height:1.6;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word}.terminal-output__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-tertiary);opacity:.6}.terminal-output__empty svg{stroke:currentColor;fill:none;stroke-width:1.5;margin-bottom:16px;opacity:.5}.terminal-output__empty p{font-size:12px}.journal-container{display:flex;flex-direction:column;gap:24px;height:calc(100vh - 240px);min-height:500px}.terminal-controls-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;padding:16px;display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}.journal-controls{display:flex;align-items:flex-end;gap:24px;flex-wrap:wrap;flex:1}.journal-controls .control-group{display:flex;flex-direction:column;gap:4px}.journal-controls .control-group label{font-size:10px;font-weight:500;color:var(--text-secondary)}.journal-controls .control-group input,.journal-controls .control-group select{width:100%;height:36px;padding:0 12px;background:hsl(var(--background));border:1px solid hsl(var(--input));border-radius:6px;color:hsl(var(--foreground));font-size:12px;line-height:1;transition:border-color .2s ease}.journal-controls .control-group input:focus,.journal-controls .control-group select:focus{border-color:var(--accent-primary);outline:none;box-shadow:none}.journal-controls .control-group input::-moz-placeholder,.journal-controls .control-group select::-moz-placeholder{color:hsl(var(--muted-foreground))}.journal-controls .control-group input::placeholder,.journal-controls .control-group select::placeholder{color:hsl(var(--muted-foreground))}.journal-controls .control-group input:disabled,.journal-controls .control-group select:disabled{cursor:not-allowed;opacity:.5}.journal-controls .control-group input,.journal-controls .control-group select{width:auto;font-size:12px}.journal-controls .control-group input{width:200px}.journal-controls .control-group select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='hsl(var(--muted-foreground))' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;padding-right:28px}.input-with-suggestions{display:flex;flex-direction:column;gap:8px}.quick-units{display:flex;flex-wrap:wrap;gap:4px}.unit-chip{padding:2px 8px;border:1px solid var(--border-subtle);border-radius:9999px;background:var(--bg-card);font-size:10px;cursor:pointer;transition:all .15s ease}.unit-chip:hover{border-color:var(--primary);color:var(--primary)}.unit-chip.active{background:var(--primary);border-color:var(--primary);color:#fff}.journal-source-notice{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px;font-size:10px;color:var(--text-secondary);margin-top:-16px}.journal-source-notice svg{stroke:currentColor;fill:none;stroke-width:2;flex-shrink:0}.journal-source-notice strong{color:var(--text-primary)}.journal-viewer{flex:1;background:#0d1117;border-radius:8px;overflow:auto;padding:1rem}.journal-viewer pre{margin:0;font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;line-height:1.6;color:#e6edf3;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word}.processes-container{display:flex;flex-direction:column;gap:24px}.processes-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.processes-toolbar .toolbar-left,.processes-toolbar .toolbar-right{display:flex;align-items:center;gap:8px}.processes-toolbar select{padding:4px 8px;border:1px solid var(--border-subtle);border-radius:4px;background:var(--bg-card);font-size:12px}.processes-table-wrapper{overflow-x:auto;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px}.processes-table{width:100%;min-width:800px;table-layout:fixed;border-collapse:collapse}.processes-table th,.processes-table td{padding:8px 12px;text-align:left;vertical-align:middle;font-size:12px}.processes-table th{position:sticky;top:0;background:var(--bg-card);z-index:1;font-weight:600;color:var(--text-secondary);font-size:10px;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--border-subtle)}.processes-table th:nth-child(1),.processes-table td:nth-child(1){width:70px}.processes-table th:nth-child(2),.processes-table td:nth-child(2){width:auto}.processes-table th:nth-child(3),.processes-table td:nth-child(3){width:90px}.processes-table th:nth-child(4),.processes-table td:nth-child(4){width:110px}.processes-table th:nth-child(5),.processes-table td:nth-child(5){width:110px}.processes-table th:nth-child(6),.processes-table td:nth-child(6){width:90px}.processes-table th:nth-child(7),.processes-table td:nth-child(7){width:80px}.processes-table th:nth-child(8),.processes-table td:nth-child(8){width:80px}.processes-table tr{cursor:pointer;transition:background .15s ease}.processes-table tr:hover{background:var(--bg-hover)}.processes-table tr.selected{background:#3b82f61a}.processes-table tbody tr{border-bottom:1px solid var(--border-subtle)}.processes-table .mono{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:10px}.processes-table .process-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.processes-table .usage-cell{position:relative}.processes-table .usage-cell .usage-bar{position:absolute;left:0;bottom:0;height:3px;border-radius:2px;opacity:.4}.processes-table .usage-cell .usage-bar.cpu{background:var(--accent-primary)}.processes-table .usage-cell .usage-bar.memory{background:#a855f7}.processes-table .usage-cell span{position:relative;font-size:10px;font-family:JetBrains Mono,Fira Code,Monaco,monospace}.processes-table .action-buttons{display:flex;gap:4px}.btn-xs{padding:2px 6px;font-size:11px}.btn-xs svg{stroke:currentColor;fill:none;stroke-width:2}.process-details-panel{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;overflow:hidden}.process-details-panel .panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border-subtle)}.process-details-panel .panel-header h3{font-size:16px;font-weight:600;margin:0}.process-details-panel .panel-body{padding:16px}.process-details-panel .details-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}.process-details-panel .detail-item{display:flex;flex-direction:column;gap:4px}.process-details-panel .detail-item .detail-label{font-size:10px;color:var(--text-tertiary)}.process-details-panel .detail-item .detail-value{font-size:12px;font-weight:500}.process-details-panel .detail-item .detail-value.mono{font-family:JetBrains Mono,Fira Code,Monaco,monospace}.process-details-panel .command-line{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-subtle)}.process-details-panel .command-line .detail-label{display:block;font-size:10px;color:var(--text-tertiary);margin-bottom:4px}.process-details-panel .command-line code{display:block;padding:8px;background:var(--bg-hover);border-radius:4px;font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:10px;word-break:break-all}.services-container{display:flex;flex-direction:column;gap:24px}.services-toolbar{display:flex;align-items:center;gap:8px}.services-toolbar .btn svg{stroke:currentColor;fill:none;stroke-width:2}.services-grid,.terminal-services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.service-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-left:3px solid transparent;border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:8px;transition:border-color .2s ease,box-shadow .2s ease}.service-card:hover{box-shadow:0 4px 12px #00000026}.service-card.running,.service-card.active{border-left-color:#10b981}.service-card.failed{border-left-color:#ef4444}.service-card.stopped,.service-card.inactive{border-left-color:var(--border-subtle)}.service-card .service-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.service-card .service-header .service-info{display:flex;align-items:center;gap:8px}.service-card .service-header .service-info .status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.service-card .service-header .service-info .status-dot.success{background:#10b981}.service-card .service-header .service-info .status-dot.danger{background:#ef4444}.service-card .service-header .service-info .status-dot.warning{background:#f59e0b}.service-card .service-header .service-info .status-dot.secondary{background:var(--text-tertiary)}.service-card .service-header .service-info h4{font-size:12px;font-weight:600;margin:0}.service-card .service-description{font-size:10px;color:var(--text-secondary);margin:0}.service-card .service-meta{display:flex;gap:16px;font-size:10px;color:var(--text-tertiary)}.service-card .service-meta .meta-label{color:var(--text-secondary)}.service-card .service-actions{display:flex;gap:4px;margin-top:8px;padding-top:8px;border-top:1px solid var(--border-subtle)}.modal-lg{max-width:900px;width:90%}.modal-log-viewer{max-height:500px;overflow:auto;background:#0d1117;border-radius:6px;padding:1rem}.modal-log-viewer pre{margin:0;font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;line-height:1.6;color:#e6edf3;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word}.settings-page .page-header{margin-bottom:24px}.settings-page .page-header h1{font-size:24px;font-weight:600;margin:0 0 4px}.settings-page .page-header .page-subtitle{color:var(--text-secondary);margin:0}.settings-layout{display:grid;grid-template-columns:240px 1fr;gap:24px;min-height:calc(100vh - 200px)}@media (max-width: 1024px){.settings-layout{grid-template-columns:1fr}}.settings-nav{display:flex;flex-direction:column;gap:4px;position:sticky;top:24px;max-height:calc(100vh - 48px);overflow-y:auto}.settings-nav::-webkit-scrollbar{width:4px}.settings-nav::-webkit-scrollbar-track{background:transparent}.settings-nav::-webkit-scrollbar-thumb{background:var(--border-active);border-radius:9999px}@media (max-width: 1024px){.settings-nav{flex-direction:row;flex-wrap:wrap;position:static;max-height:none;overflow-y:visible;background:var(--bg-card);padding:8px;border-radius:8px}}.settings-nav-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:transparent;border:none;border-radius:6px;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease;text-align:left;width:100%}.settings-nav-item svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;flex-shrink:0}.settings-nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.settings-nav-item.active{background:var(--accent-primary);color:#fff}.settings-nav-item.active svg{stroke:#fff}@media (max-width: 1024px){.settings-nav-item{width:auto;padding:8px 12px}}.settings-nav-spacer{flex:1;min-height:16px}.settings-content{min-width:0}.settings-section{display:flex;flex-direction:column;gap:20px}.settings-section .section-header{margin-bottom:8px}.settings-section .section-header h2{font-size:18px;font-weight:600;margin:0 0 4px}.settings-section .section-header p{color:var(--text-secondary);margin:0;font-size:12px}.settings-section h3{font-size:14px;font-weight:600;margin:0 0 12px;color:var(--text-primary)}.settings-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;padding:20px}.settings-card h3{margin:0}.settings-card>p{color:var(--text-secondary);font-size:12px;margin:0 0 16px}.settings-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.settings-card__header-left{display:flex;align-items:center;gap:12px}.settings-card__header-left>svg{flex-shrink:0;color:var(--text-tertiary);margin-top:0}.settings-card__header-left h3{font-size:14px;font-weight:600;color:var(--text-primary);margin:0}.settings-card__header-left p{color:var(--text-secondary);font-size:12px;margin:0}.settings-card__empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 16px;color:var(--text-tertiary);text-align:center}.settings-card__empty>svg{opacity:.4}.settings-card__empty p{margin:0;font-size:12px;color:var(--text-tertiary)}.settings-card__loading{padding:24px;text-align:center;color:var(--text-tertiary);font-size:12px}.settings-card__footer{display:flex;gap:8px;margin-top:20px;padding-top:16px;border-top:1px solid var(--border-subtle)}.settings-form{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;padding:20px}.settings-form .form-group{margin-bottom:16px}.settings-form .form-group:last-of-type{margin-bottom:0}.settings-form .form-group label{display:block;font-size:12px;font-weight:500;color:var(--text-secondary);margin-bottom:8px}.settings-form .form-group input:not([type=checkbox]):not([type=radio]),.settings-form .form-group select,.settings-form .form-group textarea{width:100%;padding:12px;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-primary);font-size:12px;transition:border-color .15s ease}.settings-form .form-group input:not([type=checkbox]):not([type=radio]):focus,.settings-form .form-group select:focus,.settings-form .form-group textarea:focus{outline:none;border-color:var(--accent-primary)}.settings-form .form-group input:not([type=checkbox]):not([type=radio]):disabled,.settings-form .form-group input:not([type=checkbox]):not([type=radio]).input-disabled,.settings-form .form-group select:disabled,.settings-form .form-group select.input-disabled,.settings-form .form-group textarea:disabled,.settings-form .form-group textarea.input-disabled{opacity:.6;cursor:not-allowed;background:var(--bg-body)}.settings-form .form-group .form-help{display:block;margin-top:4px;font-size:10px;color:var(--text-tertiary)}.settings-form .form-actions{margin-top:20px;padding-top:20px;border-top:1px solid var(--border-subtle);display:flex;gap:8px}.alert{display:flex;align-items:center;gap:8px;padding:12px 16px;border-radius:6px;font-size:12px;margin-bottom:16px}.alert.alert-success,.alert.alert--success{background:#10b9811a;border:1px solid rgba(16,185,129,.2);color:#10b981}.alert.alert-danger,.alert.alert--danger,.alert.alert--error{background:#ef44441a;border:1px solid rgba(239,68,68,.2);color:#ef4444}.alert.alert-warning,.alert.alert--warning{background:#f59e0b1a;border:1px solid rgba(245,158,11,.2);color:#f59e0b}.session-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--bg-hover);border-radius:6px;margin-top:12px}.session-item .session-info{display:flex;align-items:center;gap:12px}.session-item .session-info svg{stroke:var(--text-secondary);fill:none;stroke-width:2}.session-item .session-info .session-device{display:block;font-weight:500;color:var(--text-primary)}.session-item .session-info .session-details{display:block;font-size:10px;color:var(--text-tertiary)}.theme-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media (max-width: 768px){.theme-options{grid-template-columns:1fr}}.theme-option{display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px;background:transparent;border:2px solid var(--border-subtle);border-radius:8px;cursor:pointer;transition:all .15s ease}.theme-option:hover{border-color:var(--border-active)}.theme-option.active{border-color:var(--accent-primary);background:#6366f10d}.theme-option span{font-size:12px;font-weight:500;color:var(--text-primary)}.theme-preview{width:100%;height:80px;border-radius:6px;display:flex;overflow:hidden}.theme-preview .preview-sidebar{width:25%;background:#18181b}.theme-preview .preview-content{flex:1;padding:8px;display:flex;flex-direction:column;gap:4px}.theme-preview .preview-card{flex:1;border-radius:4px}.theme-preview.dark{border:1px solid var(--border-subtle)}.theme-preview.dark .preview-sidebar{background:#0f0f11}.theme-preview.dark .preview-content{background:#09090b}.theme-preview.dark .preview-card{background:#18181b}.theme-preview.light{border:1px solid #e5e5e5}.theme-preview.light .preview-sidebar{background:#f5f5f5}.theme-preview.light .preview-content{background:#fff}.theme-preview.light .preview-card{background:#f5f5f5}.theme-preview.system{border:1px solid var(--border-subtle);background:linear-gradient(135deg,#09090b 50%,#fff 50%)}.theme-preview.system .preview-sidebar{background:linear-gradient(180deg,#0f0f11 50%,#f5f5f5 50%)}.theme-preview.system .preview-content{background:transparent}.theme-preview.system .preview-card{background:linear-gradient(135deg,#18181b 50%,#f5f5f5 50%)}.density-options{display:flex;gap:16px}.radio-option{display:flex;align-items:center;gap:8px;cursor:pointer}.radio-option input[type=radio]{width:18px;height:18px;accent-color:var(--accent-primary);cursor:pointer}.radio-option span{font-size:12px;color:var(--text-primary)}.notification-options{display:flex;flex-direction:column;gap:12px}.notification-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--bg-hover);border-radius:6px;gap:16px}.notification-item .notification-info{flex:1}.notification-item .notification-info .notification-title{display:block;font-weight:500;color:var(--text-primary);margin-bottom:4px}.notification-item .notification-info .notification-desc{display:block;font-size:10px;color:var(--text-tertiary)}.toggle-switch{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-switch input:checked+.toggle-slider{background:var(--accent-primary)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.toggle-switch input:focus+.toggle-slider{box-shadow:0 0 0 2px #6366f14d}.toggle-switch .toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:var(--border-active);border-radius:24px;transition:all .15s ease}.toggle-switch .toggle-slider:before{content:"";position:absolute;height:18px;width:18px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:transform .15s ease}.toggle-switch:not(:has(input)){width:44px;height:24px;background:var(--border-active);border-radius:24px;cursor:pointer;transition:background .15s ease;flex-shrink:0}.toggle-switch:not(:has(input)).on{background:var(--accent-primary)}.toggle-switch:not(:has(input)).on .toggle-knob{transform:translate(20px)}.toggle-switch:not(:has(input)) .toggle-knob{position:absolute;height:18px;width:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .15s ease;box-shadow:0 1px 3px #00000026}.toggle-label{display:flex!important;align-items:center;gap:12px;cursor:pointer}.toggle-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent-primary);cursor:pointer;flex-shrink:0}.toggle-label span{font-size:12px;font-weight:500;color:var(--text-primary)}.system-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media (max-width: 768px){.system-info-grid{grid-template-columns:1fr}}.info-list .info-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border-subtle)}.info-list .info-item:last-child{border-bottom:none}.info-list .info-item .info-label{font-size:12px;color:var(--text-tertiary)}.info-list .info-item .info-value{font-size:12px;font-weight:500;color:var(--text-primary)}.timezone-selector{display:flex;gap:12px;align-items:center}.timezone-selector select{flex:1;max-width:300px}.timezone-selector .btn{flex-shrink:0}.timezone-message{margin-top:8px;padding:8px 12px;border-radius:6px;font-size:12px}.timezone-message.success{background:#10b98126;color:#10b981}.timezone-message.error{background:#ef444426;color:#ef4444}.about-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;padding:32px;text-align:center}.about-card .about-logo{width:80px;height:80px;margin:0 auto 16px;display:flex;align-items:center;justify-content:center}.about-card h3{font-size:20px;margin-bottom:4px}.about-card .version{color:var(--text-tertiary);font-size:12px;margin-bottom:16px}.about-card .description{color:var(--text-secondary);font-size:12px;line-height:1.6;max-width:500px;margin:0 auto}.about-card .update-check{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-subtle)}.about-card .update-check .btn-sm{font-size:10px;padding:8px 12px;display:inline-flex;align-items:center;gap:4px}.about-card .update-check .btn-sm .spinning{animation:spin 1s linear infinite}.about-card .update-check .update-status{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px}.about-card .update-check .update-status.current{color:#10b981}.about-card .update-check .update-status.available{color:#f59e0b;flex-wrap:wrap}.about-card .update-check .update-status.available .btn{margin-left:8px;display:inline-flex;align-items:center;gap:4px}.about-card .update-check .update-status.error{color:#ef4444}.about-card .update-check .update-status.error .btn-link{background:none;border:none;color:var(--accent-primary);cursor:pointer;text-decoration:underline;font-size:12px;padding:0;margin-left:8px}.about-card .update-check .update-status.error .btn-link:hover{color:var(--accent-hover)}.star-prompt-card{position:relative;background:linear-gradient(135deg,var(--accent-glow) 0%,rgba(99,102,241,.08) 100%);border:1px solid rgba(99,102,241,.3);border-radius:8px;padding:24px;display:flex;align-items:flex-start;gap:16px}.star-prompt-card .dismiss-btn{position:absolute;top:12px;right:12px;background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:4px;border-radius:4px;transition:all .15s ease}.star-prompt-card .dismiss-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.star-prompt-card .star-icon{flex-shrink:0;width:48px;height:48px;background:linear-gradient(135deg,#f59e0b,#c57f08);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff}.star-prompt-card .star-content{flex:1;padding-right:24px}.star-prompt-card .star-content h4{margin:0 0 8px;font-size:16px;font-weight:600}.star-prompt-card .star-content p{margin:0 0 16px;font-size:12px;color:var(--text-secondary);line-height:1.6}.star-prompt-card .star-content .btn{display:inline-flex;align-items:center;gap:8px}@media (max-width: 640px){.star-prompt-card{flex-direction:column;text-align:center}.star-prompt-card .star-content{padding-right:0}}.feature-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:8px}@media (max-width: 768px){.feature-list{grid-template-columns:1fr}}.feature-list li{display:flex;align-items:center;gap:8px;padding:8px;font-size:12px;color:var(--text-secondary)}.feature-list li svg{stroke:#10b981;fill:none;stroke-width:2;flex-shrink:0}.link-list{display:flex;flex-direction:column;gap:8px}.link-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-hover);border-radius:6px;color:var(--text-secondary);text-decoration:none;font-size:12px;transition:all .15s ease}.link-item svg{stroke:currentColor;fill:none;stroke-width:2;flex-shrink:0}.link-item:hover{background:var(--accent-primary);color:#fff}.license-text{color:var(--text-secondary);font-size:12px;margin:0}.loading{display:flex;align-items:center;justify-content:center;padding:48px;color:var(--text-secondary);font-size:12px}.settings-row{display:flex;justify-content:space-between;align-items:flex-start;padding:16px;background:var(--bg-hover);border-radius:6px;gap:16px}.settings-row:not(:last-child){margin-bottom:12px}.settings-row.settings-linked-warning{background:#f59e0b1a;border:1px solid rgba(245,158,11,.2)}.settings-label{flex:1}.settings-label>span:first-child{display:block;font-weight:500;color:var(--text-primary);margin-bottom:4px}.settings-label .settings-hint{display:block;font-size:10px;color:var(--text-tertiary)}.settings-control{display:flex;align-items:center;gap:8px;flex-shrink:0}.settings-select{min-width:160px;padding:8px 12px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-primary);font-size:12px;cursor:pointer;transition:border-color .15s ease}.settings-select:hover{border-color:var(--border-default)}.settings-select:focus{outline:none;border-color:var(--accent-primary)}.settings-select:disabled{opacity:.6;cursor:not-allowed}.settings-saving{font-size:10px;color:var(--text-tertiary);font-style:italic}.icon-reference-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin-top:12px}.icon-reference-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;border:1px solid var(--border-default);border-radius:6px;background:var(--bg-card);cursor:pointer;transition:all .15s ease}.icon-reference-item:hover{border-color:var(--accent-primary);background:var(--bg-hover)}.icon-reference-item.copied{border-color:#10b981;background:#10b9811a}.icon-reference-item svg{color:var(--text-primary);opacity:.8}.icon-reference-item .icon-reference-name{font-size:10px;color:var(--text-secondary);text-align:center;word-break:break-word;line-height:1.2}.icon-reference-item.copied .icon-reference-name{color:#10b981;font-weight:500}.accent-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px}@media (max-width: 640px){.accent-presets{grid-template-columns:repeat(2,1fr)}}.accent-preset{display:flex;align-items:center;gap:8px;padding:8px 12px;background:transparent;border:2px solid var(--border-subtle);border-radius:6px;cursor:pointer;transition:all .15s ease}.accent-preset:hover{border-color:var(--border-active)}.accent-preset.active{border-color:var(--accent-primary);background:var(--bg-hover)}.accent-swatch{width:20px;height:20px;border-radius:9999px;flex-shrink:0}.accent-label{font-size:12px;font-weight:500;color:var(--text-primary)}.accent-custom{padding-top:12px;border-top:1px solid var(--border-subtle)}.accent-custom-label{display:block;font-size:12px;font-weight:500;color:var(--text-secondary);margin-bottom:8px}.accent-custom-row{display:flex;align-items:center;gap:12px}.accent-custom-input{width:40px;height:32px;padding:0;border:1px solid var(--border-subtle);border-radius:6px;background:transparent;cursor:pointer}.accent-custom-input::-webkit-color-swatch-wrapper{padding:2px}.accent-custom-input::-webkit-color-swatch{border:none;border-radius:4px}.accent-custom-hex{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;color:var(--text-secondary)}.widget-list{display:flex;flex-direction:column;gap:8px}.widget-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--bg-hover);border-radius:6px;transition:opacity .15s ease}.widget-item--hidden{opacity:.5}.widget-item__info{display:flex;align-items:center;gap:12px}.widget-item__label{font-size:12px;font-weight:500;color:var(--text-primary)}.widget-item__controls{display:flex;gap:4px}.widget-move-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.widget-move-btn:hover:not(:disabled){background:var(--bg-card);color:var(--text-primary);border-color:var(--border-active)}.widget-move-btn:disabled{opacity:.3;cursor:not-allowed}.whitelabel-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}@media (max-width: 768px){.whitelabel-modes{grid-template-columns:1fr}}.whitelabel-mode{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px;background:transparent;border:2px solid var(--border-subtle);border-radius:8px;cursor:pointer;transition:all .15s ease;text-align:center;color:var(--text-secondary)}.whitelabel-mode svg{opacity:.7}.whitelabel-mode:hover{border-color:var(--border-active)}.whitelabel-mode.active{border-color:var(--accent-primary);background:#6366f10d;color:var(--text-primary)}.whitelabel-mode.active svg{color:var(--accent-primary);opacity:1}.whitelabel-mode .whitelabel-mode__label{font-size:12px;font-weight:500;color:var(--text-primary)}.whitelabel-mode .whitelabel-mode__desc{font-size:10px;color:var(--text-tertiary)}.whitelabel-fields{margin-top:16px;display:flex;flex-direction:column;gap:16px}.whitelabel-fields .form-group label{display:block;font-size:12px;font-weight:500;color:var(--text-secondary);margin-bottom:8px}.whitelabel-fields .form-group input[type=text]{width:100%;max-width:320px;padding:12px;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-primary);font-size:12px;transition:border-color .15s ease}.whitelabel-fields .form-group input[type=text]:focus{outline:none;border-color:var(--accent-primary)}.whitelabel-upload{border:2px dashed var(--border-subtle);border-radius:8px;padding:20px;cursor:pointer;transition:all .15s ease;text-align:center}.whitelabel-upload:hover{border-color:var(--accent-primary);background:#6366f108}.whitelabel-upload .whitelabel-upload__placeholder{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--text-tertiary)}.whitelabel-upload .whitelabel-upload__placeholder svg{opacity:.5}.whitelabel-upload .whitelabel-upload__placeholder span{font-size:12px}.whitelabel-upload .whitelabel-upload__hint{font-size:10px!important;color:var(--text-tertiary);opacity:.7}.whitelabel-logo-preview{display:flex;align-items:center;gap:16px;justify-content:center}.whitelabel-logo-preview img{width:48px;height:48px;-o-object-fit:contain;object-fit:contain;border-radius:6px;border:1px solid var(--border-subtle);background:var(--bg-hover);padding:4px}.whitelabel-upload--favicon{padding:12px 16px}.whitelabel-favicon-preview{display:flex;align-items:center;gap:12px;justify-content:center}.whitelabel-favicon-preview img{width:32px;height:32px;-o-object-fit:contain;object-fit:contain;border-radius:4px;border:1px solid var(--border-subtle);background:var(--bg-hover);padding:2px;image-rendering:pixelated}.whitelabel-favicon-preview__name{font-size:12px;color:var(--text-secondary);margin-bottom:8px}.whitelabel-preview{margin-top:16px}.whitelabel-preview .whitelabel-preview__label{display:block;font-size:10px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.whitelabel-preview .whitelabel-preview__box{display:flex;align-items:center;gap:10px;height:70px;padding:0 16px;background:var(--bg-body);border:1px solid var(--border-subtle);border-radius:8px}.whitelabel-star-prompt{margin-top:16px;background:linear-gradient(135deg,var(--accent-glow) 0%,rgba(99,102,241,.08) 100%);border:1px solid rgba(99,102,241,.3);border-radius:8px;padding:20px;display:flex;align-items:flex-start;gap:16px}.whitelabel-star-prompt .star-icon{flex-shrink:0;width:44px;height:44px;background:linear-gradient(135deg,#f59e0b,#c57f08);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff}.whitelabel-star-prompt .star-content{flex:1}.whitelabel-star-prompt .star-content h4{margin:0 0 8px;font-size:16px;font-weight:600}.whitelabel-star-prompt .star-content p{margin:0 0 12px;font-size:12px;color:var(--text-secondary);line-height:1.6}.whitelabel-star-prompt .star-content .btn{display:inline-flex;align-items:center;gap:8px}@media (max-width: 640px){.whitelabel-star-prompt{flex-direction:column}}.sso-config{display:flex;flex-direction:column;gap:20px}.sso-general-form{display:flex;flex-direction:column;gap:16px}.sso-general-form .form-group label{display:block;font-size:12px;font-weight:500;color:var(--text-secondary);margin-bottom:8px}.sso-general-form .form-group select,.sso-general-form .form-group input[type=text]{width:100%;padding:12px;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-primary);font-size:12px}.sso-general-form .form-group select:focus,.sso-general-form .form-group input[type=text]:focus{outline:none;border-color:var(--accent-primary)}.sso-provider-config{border:1px solid var(--border-subtle)}.sso-provider-config--enabled{border-color:var(--accent-primary)}.sso-provider-config .sso-provider-config__header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:16px}.sso-provider-config .sso-provider-config__header:hover{background:var(--bg-hover)}.sso-provider-config .sso-provider-config__title{display:flex;align-items:center;gap:12px}.sso-provider-config .sso-provider-config__title h3{margin:0}.sso-provider-config .sso-provider-config__status{font-size:10px;padding:4px 8px;border-radius:9999px;font-weight:500}.sso-provider-config .sso-provider-config__status--active{background:#10b98126;color:#10b981}.sso-provider-config .sso-provider-config__body{padding:16px;border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:16px}.sso-provider-config .sso-provider-config__body .form-group label{display:block;font-size:12px;font-weight:500;color:var(--text-secondary);margin-bottom:8px}.sso-provider-config .sso-provider-config__body .form-group input,.sso-provider-config .sso-provider-config__body .form-group textarea{width:100%;padding:12px;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-primary);font-size:12px;font-family:JetBrains Mono,Fira Code,Monaco,monospace}.sso-provider-config .sso-provider-config__body .form-group input:focus,.sso-provider-config .sso-provider-config__body .form-group textarea:focus{outline:none;border-color:var(--accent-primary)}.sso-provider-config .sso-provider-config__body .form-group textarea{resize:vertical;font-family:JetBrains Mono,Fira Code,Monaco,monospace}.sso-provider-config .sso-provider-config__actions{display:flex;gap:12px;padding-top:8px}.linked-accounts-list{display:flex;flex-direction:column;gap:12px;margin:16px 0}.linked-account{display:flex;align-items:center;justify-content:space-between;padding:12px;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-subtle)}.linked-account .linked-account__info{display:flex;align-items:center;gap:12px}.linked-account .linked-account__info div{display:flex;flex-direction:column}.linked-account .linked-account__provider{font-weight:500;text-transform:capitalize}.linked-account .linked-account__email{font-size:12px;color:var(--text-secondary)}.linked-accounts-available{display:flex;gap:12px;margin-top:12px;flex-wrap:wrap}.linked-accounts-available .btn{display:flex;align-items:center;gap:8px}.sidebar-settings{display:flex;flex-direction:column;gap:32px}.sidebar-settings .settings-section-desc{color:var(--text-secondary);font-size:12px;margin:0;line-height:1.5}.sidebar-settings .settings-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.sidebar-settings .settings-section-header h3{margin-bottom:0}.sidebar-item-count{font-size:10px;color:var(--text-tertiary);background:var(--bg-secondary);padding:4px 8px;border-radius:9999px;font-weight:500}.sidebar-presets{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-top:8px}.sidebar-preset-card{display:flex;align-items:flex-start;gap:12px;padding:16px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;cursor:pointer;transition:all .15s ease;text-align:left;width:100%;position:relative}.sidebar-preset-card:hover{border-color:var(--border-hover);background:var(--bg-hover)}.sidebar-preset-card.active{border-color:var(--accent-primary);background:var(--bg-card);box-shadow:0 0 0 1px var(--accent-primary)}.sidebar-preset-card .preset-card-icon{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border-radius:6px;color:var(--text-secondary)}.sidebar-preset-card .preset-card-icon svg{stroke-width:1.5}.sidebar-preset-card.active .preset-card-icon{background:#6366f126;color:var(--accent-primary)}.sidebar-preset-card .preset-card-info{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.sidebar-preset-card .preset-card-label{font-size:12px;font-weight:600;color:var(--text-primary)}.sidebar-preset-card .preset-card-desc{font-size:10px;color:var(--text-tertiary);line-height:1.5}.sidebar-preset-card .preset-card-check{position:absolute;top:12px;right:12px;color:var(--accent-primary)}.sidebar-items-list{display:flex;flex-direction:column;gap:20px;margin-top:8px}.sidebar-items-group{display:flex;flex-direction:column;gap:0}.sidebar-items-group-label{font-size:10px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;padding:0 0 8px;border-bottom:1px solid var(--border-subtle);margin-bottom:4px}.sidebar-item-toggle{display:flex;align-items:center;justify-content:space-between;padding:12px 8px;border-radius:6px;cursor:pointer;transition:all .15s ease}.sidebar-item-toggle:hover{background:var(--bg-hover)}.sidebar-item-toggle.hidden-item .sidebar-item-toggle-info{opacity:.5}.sidebar-item-toggle-info{display:flex;align-items:center;gap:12px;transition:opacity .15s ease}.sidebar-item-toggle-info span{font-size:12px;color:var(--text-primary);font-weight:500}.sidebar-item-toggle-icon{width:18px;height:18px;stroke:var(--text-secondary);fill:none;stroke-width:2;flex-shrink:0}.sidebar-settings-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding-top:20px;border-top:1px solid var(--border-subtle)}.settings-divider{height:1px;background:var(--border-subtle);margin:24px 0}.gdpr-option{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--border-subtle)}.gdpr-option:last-child{border-bottom:none}.gdpr-option-info{display:flex;align-items:flex-start;gap:12px}.gdpr-option-info h4{font-size:12px;font-weight:500;color:var(--text-primary);margin:0 0 4px}.gdpr-option-info p{font-size:10px;color:var(--text-secondary);margin:0}.gdpr-option-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);border-radius:6px;color:var(--text-secondary);flex-shrink:0}.gdpr-option-icon.danger{background:#ef44441a;color:#ef4444}.gdpr-option-icon.warning{background:#f59e0b1a;color:#f59e0b}.gdpr-hint{display:block;font-size:10px;color:var(--text-secondary);margin-top:4px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--bg-card);border-radius:8px;padding:20px;max-width:400px;width:90%;box-shadow:var(--shadow-lg)}.modal-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.modal-header h3{font-size:14px;font-weight:600;margin:0}.modal-body{margin-bottom:20px}.modal-body p{margin:0 0 12px}.modal-body ul{margin:0;padding-left:20px;font-size:12px;color:var(--text-secondary)}.modal-body ul li{margin-bottom:4px}.modal-footer{display:flex;justify-content:flex-end;gap:8px}.text-destructive{color:#ef4444}.text-warning{color:#f59e0b}.cron-page .card-header-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.search-box{position:relative;display:flex;align-items:center}.search-box svg,.search-box .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-secondary);pointer-events:none}.search-box input,.search-box .search-input{width:100%;padding:8px 12px 8px 32px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-primary);font-size:12px;height:36px;outline:none}.search-box input::-moz-placeholder,.search-box .search-input::-moz-placeholder{color:var(--text-secondary)}.search-box input::placeholder,.search-box .search-input::placeholder{color:var(--text-secondary)}.search-box input:focus,.search-box .search-input:focus{border-color:var(--accent-primary)}.form-select{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:6px;padding:8px 12px;color:var(--text-primary);font-size:12px;cursor:pointer;outline:none}.form-select:focus{border-color:var(--accent-primary)}.pagination{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 0;margin-top:16px;border-top:1px solid var(--border-subtle)}.pagination-info{font-size:12px;color:var(--text-secondary)}.job-name{display:flex;flex-direction:column;gap:2px}.job-name strong{font-weight:500}.job-name span{font-size:10px}.status-cell{display:flex;align-items:center;gap:8px}.text-success{color:#10b981}.text-danger{color:#ef4444}.file-manager{display:flex;flex-direction:column;gap:16px}.file-manager .page-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:16px}.file-manager .page-header .page-header-content h1{font-size:24px;font-weight:600;margin:0 0 4px}.file-manager .page-header .page-header-content .page-description{color:var(--text-secondary);margin:0}.file-manager .page-header .page-header-actions{display:flex;gap:8px;flex-wrap:wrap}.file-manager .page-header .page-header-actions .btn{display:flex;align-items:center;gap:8px}.file-manager .upload-progress{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-card);border-radius:8px}.file-manager .upload-progress .progress-bar{flex:1;height:8px;background:var(--border-default);border-radius:4px;overflow:hidden}.file-manager .upload-progress .progress-bar .progress-fill{height:100%;background:var(--accent-primary);transition:width .2s ease}.file-manager .upload-progress span{font-size:12px;font-weight:500;color:var(--text-secondary);min-width:40px}.file-manager .file-manager-toolbar{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--bg-card);border-radius:8px;gap:16px;flex-wrap:wrap}.file-manager .file-manager-toolbar .path-breadcrumb{display:flex;align-items:center;gap:8px}.file-manager .file-manager-toolbar .path-breadcrumb .current-path{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;color:var(--text-primary);background:var(--bg-tertiary);padding:8px 12px;border-radius:6px}.file-manager .file-manager-toolbar .toolbar-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.file-manager .file-manager-toolbar .toolbar-actions .search-box{display:flex;align-items:center;gap:8px;background:var(--bg-tertiary);border-radius:6px;padding:0 8px;position:relative}.file-manager .file-manager-toolbar .toolbar-actions .search-box .search-icon{color:var(--text-tertiary);flex-shrink:0}.file-manager .file-manager-toolbar .toolbar-actions .search-box input{background:transparent;border:none;padding:8px 12px;font-size:12px;width:180px;color:var(--text-primary)}.file-manager .file-manager-toolbar .toolbar-actions .search-box input::-moz-placeholder{color:var(--text-tertiary)}.file-manager .file-manager-toolbar .toolbar-actions .search-box input::placeholder{color:var(--text-tertiary)}.file-manager .file-manager-toolbar .toolbar-actions .search-box input:focus{outline:none}.file-manager .file-manager-toolbar .toolbar-actions .checkbox-label{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary);cursor:pointer}.file-manager .file-manager-toolbar .toolbar-actions .checkbox-label input[type=checkbox]{width:16px;height:16px}.file-manager .file-manager-toolbar .toolbar-actions .checkbox-label svg{color:var(--text-tertiary)}.file-manager .file-manager-layout{display:flex;gap:16px;min-height:0}.file-manager .file-manager-main{flex:1;min-width:0}.file-manager .file-manager-content{display:grid;grid-template-columns:1fr 400px;gap:16px}@media (max-width: 1280px){.file-manager .file-manager-content{grid-template-columns:1fr}}.file-manager .file-manager-sidebar{width:320px;flex-shrink:0;display:flex;flex-direction:column;gap:16px;overflow-y:auto;max-height:calc(100vh - 120px);transition:all .2s ease}@media (max-width: 1024px){.file-manager .file-manager-sidebar{position:fixed;right:0;top:64px;bottom:0;width:100%;max-width:360px;max-height:none;background:var(--bg-body);padding:16px;z-index:70;box-shadow:-4px 0 20px #0000004d}.file-manager:not(.sidebar-open) .file-manager-sidebar{transform:translate(100%)}}.file-manager .sidebar-section{background:var(--bg-card);border-radius:8px;overflow:hidden}.file-manager .sidebar-section:last-child{max-height:none}.file-manager .sidebar-section-header{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--bg-elevated);border:none;width:100%;text-align:left;cursor:pointer;color:var(--text-primary);font-size:12px;font-weight:500;transition:background .2s ease}.file-manager .sidebar-section-header:hover{background:var(--bg-tertiary)}.file-manager .sidebar-section-header.static{cursor:default}.file-manager .sidebar-section-header.static:hover{background:var(--bg-elevated)}.file-manager .sidebar-section-header span{flex:1}.file-manager .sidebar-section-header .close-btn{margin-left:auto}.file-manager .sidebar-section-content{padding:12px 16px}.file-manager .disk-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.file-manager .disk-updated{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--text-tertiary)}.file-manager .disk-mount-item{padding:12px 0;border-bottom:1px solid var(--border-subtle)}.file-manager .disk-mount-item:last-child{border-bottom:none;padding-bottom:0}.file-manager .disk-mount-item:first-child{padding-top:0}.file-manager .disk-mount-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.file-manager .disk-mount-point{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;color:var(--text-primary)}.file-manager .disk-percent{font-size:12px;font-weight:500}.file-manager .disk-percent.healthy{color:#10b981}.file-manager .disk-percent.warning{color:#f59e0b}.file-manager .disk-percent.critical{color:#ef4444}.file-manager .disk-progress{height:6px;background:var(--border-default);border-radius:4px;overflow:hidden;margin-bottom:8px}.file-manager .disk-progress .disk-progress-fill{height:100%;transition:width .2s ease}.file-manager .disk-progress.healthy .disk-progress-fill{background:#10b981}.file-manager .disk-progress.warning .disk-progress-fill{background:#f59e0b}.file-manager .disk-progress.critical .disk-progress-fill{background:#ef4444}.file-manager .disk-mount-info{display:flex;justify-content:space-between;font-size:10px;color:var(--text-tertiary)}.file-manager .disk-device{font-family:JetBrains Mono,Fira Code,Monaco,monospace}.file-manager .analysis-loading{display:flex;align-items:center;justify-content:center;gap:8px;padding:24px 0;color:var(--text-secondary);font-size:12px}.file-manager .analysis-total{font-size:12px;font-weight:500;color:var(--text-primary);margin-bottom:12px}.file-manager .analysis-tabs{display:flex;gap:8px;margin-bottom:12px}.file-manager .analysis-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:4px;padding:8px;background:var(--bg-tertiary);border:1px solid transparent;border-radius:6px;font-size:10px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.file-manager .analysis-tab:hover{background:var(--bg-hover)}.file-manager .analysis-tab.active{background:var(--accent-glow);border-color:#6366f14d;color:var(--accent-primary)}.file-manager .analysis-bars{display:flex;flex-direction:column;gap:8px}.file-manager .analysis-bar-item{cursor:pointer;padding:8px;border-radius:6px;transition:background .2s ease}.file-manager .analysis-bar-item:hover{background:var(--bg-hover)}.file-manager .analysis-bar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.file-manager .analysis-bar-name{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-manager .analysis-bar-name svg{color:#f59e0b;flex-shrink:0}.file-manager .analysis-bar-size{font-size:10px;color:var(--text-tertiary);font-family:JetBrains Mono,Fira Code,Monaco,monospace}.file-manager .analysis-bar-track{height:4px;background:var(--border-default);border-radius:4px;overflow:hidden}.file-manager .analysis-bar-fill{height:100%;background:var(--accent-primary);transition:width .2s ease}.file-manager .analysis-files{display:flex;flex-direction:column;gap:4px}.file-manager .analysis-file-item{display:flex;align-items:center;gap:8px;padding:8px;border-radius:6px;cursor:pointer;transition:background .2s ease}.file-manager .analysis-file-item:hover{background:var(--bg-hover)}.file-manager .analysis-file-item svg{color:var(--text-tertiary);flex-shrink:0}.file-manager .analysis-file-name{flex:1;font-size:10px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-manager .analysis-file-size{font-size:10px;color:var(--text-tertiary);font-family:JetBrains Mono,Fira Code,Monaco,monospace}.file-manager .analysis-empty{padding:16px 0;text-align:center;color:var(--text-tertiary);font-size:12px}.file-manager .type-breakdown-chart{margin-bottom:12px}.file-manager .type-breakdown-legend{display:flex;flex-direction:column;gap:8px}.file-manager .type-legend-item{display:flex;align-items:center;gap:8px}.file-manager .type-legend-color{width:10px;height:10px;border-radius:4px;flex-shrink:0}.file-manager .type-legend-name{flex:1;font-size:10px;color:var(--text-primary)}.file-manager .type-legend-size{font-size:10px;color:var(--text-tertiary);font-family:JetBrains Mono,Fira Code,Monaco,monospace}.file-manager .file-list-container{background:var(--bg-card);border-radius:8px;overflow:hidden}.file-manager .file-list-container .loading-state,.file-manager .file-list-container .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;color:var(--text-tertiary)}.file-manager .file-list-container .loading-state svg,.file-manager .file-list-container .empty-state svg{margin-bottom:16px}.file-manager .file-list-container .loading-state p,.file-manager .file-list-container .empty-state p{margin:0}.file-manager .file-list .file-list-header{display:grid;grid-template-columns:1fr 100px 120px 120px 120px;padding:12px 16px;background:var(--bg-tertiary);font-size:10px;font-weight:600;text-transform:uppercase;color:var(--text-tertiary);border-bottom:1px solid var(--border-default)}.file-manager .file-list .file-item{display:grid;grid-template-columns:1fr 100px 120px 120px 120px;padding:12px 16px;border-bottom:1px solid var(--border-default);cursor:pointer;transition:background .2s ease}.file-manager .file-list .file-item:hover{background:var(--bg-hover)}.file-manager .file-list .file-item.selected{background:var(--accent-glow)}.file-manager .file-list .file-item .col-name{display:flex;align-items:center;gap:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-manager .file-list .file-item .col-name .link-indicator{color:var(--text-tertiary);font-size:12px}.file-manager .file-list .file-item .col-size,.file-manager .file-list .file-item .col-modified,.file-manager .file-list .file-item .col-permissions{font-size:12px;color:var(--text-secondary)}.file-manager .file-list .file-item .col-permissions{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:10px}.file-manager .file-list .file-item .col-actions{display:flex;gap:4px;justify-content:flex-end}.file-manager .file-list .file-item .col-actions .btn-icon{opacity:0;transition:opacity .2s ease}.file-manager .file-list .file-item:hover .col-actions .btn-icon{opacity:1}.file-manager .file-icon-svg{flex-shrink:0;color:var(--text-tertiary)}.file-manager .file-icon-svg.folder{color:#f59e0b}.file-manager .file-icon-svg.code{color:#8b5cf6}.file-manager .file-icon-svg.image{color:#10b981}.file-manager .file-icon-svg.video{color:#ec4899}.file-manager .file-icon-svg.audio{color:#f59e0b}.file-manager .file-icon-svg.archive{color:#ef4444}.file-manager .file-icon-svg.data{color:#14b8a6}.file-manager .file-icon-svg.text{color:var(--text-secondary)}.file-manager .file-icon-svg.terminal{color:#10b981}.file-manager .file-preview{background:var(--bg-card);border-radius:8px;display:flex;flex-direction:column;max-height:calc(100vh - 300px)}.file-manager .file-preview .preview-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid var(--border-default)}.file-manager .file-preview .preview-header h3{margin:0;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-manager .file-preview .preview-header .preview-actions{display:flex;gap:8px}.file-manager .file-preview .preview-info{display:flex;gap:16px;padding:12px 16px;background:var(--bg-tertiary);font-size:10px;color:var(--text-secondary);flex-wrap:wrap}.file-manager .file-preview .file-editor{flex:1;padding:16px;font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;line-height:1.6;background:var(--bg-body);border:none;resize:none;color:var(--text-primary)}.file-manager .file-preview .file-editor:focus{outline:none}.file-manager .file-preview .file-editor[readonly]{background:var(--bg-tertiary)}.file-manager .file-preview .preview-unavailable{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;color:var(--text-tertiary)}.file-manager .file-preview .preview-unavailable svg{margin-bottom:16px}.file-manager .file-preview .preview-unavailable p{margin-bottom:16px}.file-manager .permissions-help{margin-top:16px;padding:12px;background:var(--bg-tertiary);border-radius:6px;font-size:12px}.file-manager .permissions-help p{margin:0 0 8px;font-weight:500}.file-manager .permissions-help ul{margin:0;padding-left:20px}.file-manager .permissions-help ul li{margin-bottom:4px}.file-manager .permissions-help ul code{background:var(--bg-body);padding:2px 8px;border-radius:4px}.file-manager .spinning{animation:spin 1s linear infinite}@media (max-width: 768px){.file-manager .page-header{flex-direction:column;align-items:stretch}.file-manager .page-header .page-header-actions{justify-content:flex-end}.file-manager .file-manager-toolbar{flex-direction:column;align-items:stretch}.file-manager .file-manager-toolbar .path-breadcrumb{order:1}.file-manager .file-manager-toolbar .toolbar-actions{order:2;justify-content:space-between}.file-manager .file-list .file-list-header,.file-manager .file-list .file-item{grid-template-columns:1fr 80px 100px}.file-manager .file-list .file-list-header .col-permissions,.file-manager .file-list .file-list-header .col-modified,.file-manager .file-list .file-item .col-permissions,.file-manager .file-list .file-item .col-modified{display:none}}@media (max-width: 640px){.file-manager .file-list .file-list-header,.file-manager .file-list .file-item{grid-template-columns:1fr 80px}.file-manager .file-list .file-list-header .col-size,.file-manager .file-list .file-item .col-size{display:none}.file-manager .file-manager-content{grid-template-columns:1fr!important}}.ftp-server .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;flex-wrap:wrap;gap:16px}.ftp-server .page-header .page-header-content h1{font-size:24px;font-weight:600;margin:0 0 4px}.ftp-server .page-header .page-header-content .page-description{color:var(--text-secondary);margin:0}.ftp-server .page-header .page-header-actions{display:flex;gap:8px}.ftp-server .page-loading{display:flex;justify-content:center;align-items:center;min-height:400px}.ftp-server .empty-state-large{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 24px;background:var(--card-bg);border-radius:12px;text-align:center}.ftp-server .empty-state-large .icon{font-size:64px;color:var(--text-tertiary);margin-bottom:24px}.ftp-server .empty-state-large h2{margin:0 0 12px;font-size:24px;font-weight:600}.ftp-server .empty-state-large p{margin:0 0 24px;color:var(--text-secondary);max-width:400px}.ftp-server .status-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.ftp-server .status-card{display:flex;align-items:center;gap:16px;padding:20px;background:var(--card-bg);border-radius:12px;border-left:4px solid var(--border-color)}.ftp-server .status-card.success{border-left-color:var(--success)}.ftp-server .status-card.success .status-icon{color:var(--success)}.ftp-server .status-card.warning{border-left-color:var(--warning)}.ftp-server .status-card.warning .status-icon{color:var(--warning)}.ftp-server .status-card .status-icon .icon{font-size:32px}.ftp-server .status-card .status-info{display:flex;flex-direction:column;gap:4px}.ftp-server .status-card .status-info .status-label{font-size:13px;color:var(--text-secondary)}.ftp-server .status-card .status-info .status-value{font-size:18px;font-weight:600}.ftp-server .tabs{display:inline-flex;align-items:center;gap:4px;height:36px;border-radius:8px;background:hsl(var(--muted));padding:3px;margin-bottom:24px;overflow-x:auto;scrollbar-width:none;width:-moz-fit-content;width:fit-content}.ftp-server .tabs::-webkit-scrollbar{display:none}.ftp-server .tabs .tab{display:inline-flex;align-items:center;justify-content:center;gap:4px;height:calc(100% - 1px);background:none;border:1px solid transparent;border-radius:6px;padding:0 12px;color:hsl(var(--muted-foreground));font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;transition:color .15s ease,box-shadow .15s ease,background .15s ease}.ftp-server .tabs .tab:hover{color:hsl(var(--foreground))}.ftp-server .tabs .tab.active{background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.ftp-server .tab-content .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.ftp-server .tab-content .section-header h3{margin:0;font-size:16px;font-weight:600}.ftp-server .tab-content .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;background:var(--card-bg);border-radius:8px;color:var(--text-tertiary)}.ftp-server .tab-content .empty-state .icon{font-size:48px;margin-bottom:16px}.ftp-server .tab-content .empty-state p{margin-bottom:16px}.ftp-server .overview-tab{display:grid;grid-template-columns:1fr 1fr;gap:24px}@media (max-width: 900px){.ftp-server .overview-tab{grid-template-columns:1fr}}.ftp-server .overview-tab .config-section,.ftp-server .overview-tab .info-section{background:var(--card-bg);border-radius:8px;padding:20px}.ftp-server .overview-tab .config-section h3,.ftp-server .overview-tab .info-section h3{margin:0 0 16px;font-size:16px;font-weight:600}.ftp-server .overview-tab .config-grid,.ftp-server .overview-tab .info-grid{display:grid;gap:12px}.ftp-server .overview-tab .config-item,.ftp-server .overview-tab .info-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border-color)}.ftp-server .overview-tab .config-item:last-child,.ftp-server .overview-tab .info-item:last-child{border-bottom:none}.ftp-server .overview-tab .config-item .config-label,.ftp-server .overview-tab .config-item .info-label,.ftp-server .overview-tab .info-item .config-label,.ftp-server .overview-tab .info-item .info-label{font-size:13px;color:var(--text-secondary)}.ftp-server .overview-tab .config-item .config-value,.ftp-server .overview-tab .info-item .config-value{font-size:13px;font-weight:500}.ftp-server .overview-tab .config-item .config-value.success,.ftp-server .overview-tab .info-item .config-value.success{color:var(--success)}.ftp-server .overview-tab .config-item .config-value.warning,.ftp-server .overview-tab .info-item .config-value.warning{color:var(--warning)}.ftp-server .overview-tab .config-item code,.ftp-server .overview-tab .info-item code{font-family:var(--font-mono);font-size:13px;background:var(--bg-tertiary);padding:4px 8px;border-radius:4px}.ftp-server .users-tab .users-table,.ftp-server .users-tab .connections-table,.ftp-server .connections-tab .users-table,.ftp-server .connections-tab .connections-table{background:var(--card-bg);border-radius:8px;overflow:hidden}.ftp-server .users-tab .users-table table,.ftp-server .users-tab .connections-table table,.ftp-server .connections-tab .users-table table,.ftp-server .connections-tab .connections-table table{width:100%;border-collapse:collapse}.ftp-server .users-tab .users-table table th,.ftp-server .users-tab .users-table table td,.ftp-server .users-tab .connections-table table th,.ftp-server .users-tab .connections-table table td,.ftp-server .connections-tab .users-table table th,.ftp-server .connections-tab .users-table table td,.ftp-server .connections-tab .connections-table table th,.ftp-server .connections-tab .connections-table table td{padding:12px 16px;text-align:left}.ftp-server .users-tab .users-table table th,.ftp-server .users-tab .connections-table table th,.ftp-server .connections-tab .users-table table th,.ftp-server .connections-tab .connections-table table th{background:var(--bg-tertiary);font-size:12px;font-weight:600;text-transform:uppercase;color:var(--text-tertiary)}.ftp-server .users-tab .users-table table td,.ftp-server .users-tab .connections-table table td,.ftp-server .connections-tab .users-table table td,.ftp-server .connections-tab .connections-table table td{border-bottom:1px solid var(--border-color);font-size:13px}.ftp-server .users-tab .users-table table td:last-child,.ftp-server .users-tab .connections-table table td:last-child,.ftp-server .connections-tab .users-table table td:last-child,.ftp-server .connections-tab .connections-table table td:last-child{border-bottom:none}.ftp-server .users-tab .users-table table td code,.ftp-server .users-tab .connections-table table td code,.ftp-server .connections-tab .users-table table td code,.ftp-server .connections-tab .connections-table table td code{font-family:var(--font-mono);font-size:12px;background:var(--bg-tertiary);padding:2px 6px;border-radius:4px}.ftp-server .users-tab .users-table table tr:last-child td,.ftp-server .users-tab .connections-table table tr:last-child td,.ftp-server .connections-tab .users-table table tr:last-child td,.ftp-server .connections-tab .connections-table table tr:last-child td{border-bottom:none}.ftp-server .users-tab .users-table .user-name,.ftp-server .users-tab .connections-table .user-name,.ftp-server .connections-tab .users-table .user-name,.ftp-server .connections-tab .connections-table .user-name{font-weight:500;margin-right:8px}.ftp-server .users-tab .users-table .badge,.ftp-server .users-tab .connections-table .badge,.ftp-server .connections-tab .users-table .badge,.ftp-server .connections-tab .connections-table .badge{display:inline-block;padding:2px 8px;font-size:11px;font-weight:500;border-radius:4px}.ftp-server .users-tab .users-table .badge.badge-info,.ftp-server .users-tab .connections-table .badge.badge-info,.ftp-server .connections-tab .users-table .badge.badge-info,.ftp-server .connections-tab .connections-table .badge.badge-info{background:rgba(var(--primary-rgb),.1);color:var(--primary)}.ftp-server .users-tab .users-table .badge.badge-warning,.ftp-server .users-tab .connections-table .badge.badge-warning,.ftp-server .connections-tab .users-table .badge.badge-warning,.ftp-server .connections-tab .connections-table .badge.badge-warning{background:#ffc1071a;color:#f59e0b}.ftp-server .users-tab .users-table .status-badge,.ftp-server .users-tab .connections-table .status-badge,.ftp-server .connections-tab .users-table .status-badge,.ftp-server .connections-tab .connections-table .status-badge{display:inline-block;padding:4px 10px;font-size:12px;font-weight:500;border-radius:4px}.ftp-server .users-tab .users-table .status-badge.active,.ftp-server .users-tab .connections-table .status-badge.active,.ftp-server .connections-tab .users-table .status-badge.active,.ftp-server .connections-tab .connections-table .status-badge.active{background:#22c55e1a;color:var(--success)}.ftp-server .users-tab .users-table .status-badge.inactive,.ftp-server .users-tab .connections-table .status-badge.inactive,.ftp-server .connections-tab .users-table .status-badge.inactive,.ftp-server .connections-tab .connections-table .status-badge.inactive{background:#9ca3af1a;color:var(--text-tertiary)}.ftp-server .users-tab .users-table .actions,.ftp-server .users-tab .connections-table .actions,.ftp-server .connections-tab .users-table .actions,.ftp-server .connections-tab .connections-table .actions{display:flex;gap:4px}.ftp-server .logs-tab .log-viewer{background:var(--card-bg);border-radius:8px;padding:16px;max-height:500px;overflow:auto}.ftp-server .logs-tab .log-viewer pre{margin:0;font-family:var(--font-mono);font-size:12px;line-height:1.6;white-space:pre-wrap;word-break:break-all;color:var(--text-secondary)}.ftp-server .install-info{padding:16px;background:var(--bg-tertiary);border-radius:8px;margin-top:16px}.ftp-server .install-info p{margin:0;font-size:14px;line-height:1.6}.ftp-server .install-info p strong{color:var(--primary)}.firewall-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;flex-wrap:wrap;gap:16px}.firewall-page .page-header .page-header-content h1{font-size:24px;font-weight:600;margin:0 0 4px}.firewall-page .page-header .page-header-content .page-description{color:var(--text-secondary);margin:0}.firewall-page .page-header .page-header-actions{display:flex;gap:8px}.firewall-page .page-loading{display:flex;justify-content:center;align-items:center;min-height:400px}.firewall-page .empty-state-large{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 24px;background:var(--bg-card);border-radius:12px;text-align:center}.firewall-page .empty-state-large .icon{font-size:64px;color:var(--text-tertiary);margin-bottom:24px}.firewall-page .empty-state-large h2{margin:0 0 12px;font-size:24px;font-weight:600}.firewall-page .empty-state-large p{margin:0 0 24px;color:var(--text-secondary);max-width:400px}.firewall-page .status-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.firewall-page .status-card{display:flex;align-items:center;gap:16px;padding:20px;background:var(--bg-card);border-radius:12px;border-left:4px solid var(--border-subtle)}.firewall-page .status-card.success{border-left-color:#10b981}.firewall-page .status-card.success .status-icon{color:#10b981}.firewall-page .status-card.danger{border-left-color:#ef4444}.firewall-page .status-card.danger .status-icon{color:#ef4444}.firewall-page .status-card.warning{border-left-color:#f59e0b}.firewall-page .status-card.warning .status-icon{color:#f59e0b}.firewall-page .status-card .status-icon .icon{font-size:32px}.firewall-page .status-card .status-info{display:flex;flex-direction:column;gap:4px}.firewall-page .status-card .status-info .status-label{font-size:12px;color:var(--text-secondary)}.firewall-page .status-card .status-info .status-value{font-size:18px;font-weight:600}.firewall-page .tabs{display:inline-flex;align-items:center;gap:4px;height:36px;border-radius:8px;background:hsl(var(--muted));padding:3px;margin-bottom:24px;overflow-x:auto;scrollbar-width:none;width:-moz-fit-content;width:fit-content}.firewall-page .tabs::-webkit-scrollbar{display:none}.firewall-page .tabs .tab{display:inline-flex;align-items:center;justify-content:center;gap:4px;height:calc(100% - 1px);background:none;border:1px solid transparent;border-radius:6px;padding:0 12px;color:hsl(var(--muted-foreground));font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;transition:color .15s ease,box-shadow .15s ease,background .15s ease;font-family:Inter,ui-sans-serif,system-ui,sans-serif}.firewall-page .tabs .tab:hover{color:hsl(var(--foreground))}.firewall-page .tabs .tab.active{background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.firewall-page .tab-content .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.firewall-page .tab-content .section-header h3{margin:0;font-size:16px;font-weight:600}.firewall-page .tab-content .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;background:var(--bg-card);border-radius:8px;color:var(--text-tertiary)}.firewall-page .tab-content .empty-state .icon{font-size:48px;margin-bottom:16px}.firewall-page .tab-content .empty-state p{margin-bottom:16px}.firewall-page .overview-tab{display:grid;grid-template-columns:1fr 1fr;gap:24px}@media (max-width: 768px){.firewall-page .overview-tab{grid-template-columns:1fr}}.firewall-page .overview-tab .info-card,.firewall-page .overview-tab .protection-summary{background:var(--bg-card);border-radius:8px;padding:20px}.firewall-page .overview-tab .info-card h3,.firewall-page .overview-tab .protection-summary h3{margin:0 0 16px;font-size:16px;font-weight:600}.firewall-page .overview-tab .info-grid{display:grid;gap:12px}.firewall-page .overview-tab .info-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border-subtle)}.firewall-page .overview-tab .info-item:last-child{border-bottom:none}.firewall-page .overview-tab .info-item .info-label{font-size:12px;color:var(--text-secondary)}.firewall-page .overview-tab .info-item .info-value{font-size:12px;font-weight:500}.firewall-page .overview-tab .info-item .info-value.text-success{color:#10b981}.firewall-page .overview-tab .info-item .info-value.text-danger{color:#ef4444}.firewall-page .overview-tab .summary-grid{display:flex;flex-direction:column;gap:12px}.firewall-page .overview-tab .summary-item{display:flex;align-items:center;gap:12px}.firewall-page .overview-tab .summary-item .summary-icon.text-success{color:#10b981}.firewall-page .overview-tab .summary-item .summary-icon.text-danger{color:#ef4444}.firewall-page .overview-tab .summary-item .summary-text{font-size:12px}.firewall-page .rules-tab .rules-table{background:var(--bg-card);border-radius:8px;overflow:hidden}.firewall-page .rules-tab .rules-table table{width:100%;border-collapse:collapse}.firewall-page .rules-tab .rules-table table th,.firewall-page .rules-tab .rules-table table td{padding:12px 16px;text-align:left}.firewall-page .rules-tab .rules-table table th{background:var(--bg-hover);font-size:10px;font-weight:600;text-transform:uppercase;color:var(--text-tertiary)}.firewall-page .rules-tab .rules-table table td{border-bottom:1px solid var(--border-subtle);font-size:12px}.firewall-page .rules-tab .rules-table table td .rule-code{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:10px;background:var(--bg-hover);padding:4px 8px;border-radius:4px}.firewall-page .rules-tab .rules-table table tr:last-child td{border-bottom:none}.firewall-page .blocked-tab .blocked-list{display:flex;flex-direction:column;gap:12px}.firewall-page .blocked-tab .blocked-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--bg-card);border-radius:8px;border:1px solid var(--border-subtle)}.firewall-page .blocked-tab .blocked-item .blocked-info{display:flex;flex-direction:column;gap:4px}.firewall-page .blocked-tab .blocked-item .blocked-info .blocked-ip{font-weight:600;color:#ef4444}.firewall-page .blocked-tab .blocked-item .blocked-info .blocked-rule{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:10px;color:var(--text-tertiary)}.firewall-page .quick-tab h3{margin:0 0 8px;font-size:16px;font-weight:600}.firewall-page .quick-tab .quick-ports{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:24px}.firewall-page .quick-tab .quick-port-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--bg-card);border-radius:8px;border:1px solid var(--border-subtle)}.firewall-page .quick-tab .quick-port-item .port-info{display:flex;flex-direction:column;gap:4px}.firewall-page .quick-tab .quick-port-item .port-info .port-name{font-weight:500}.firewall-page .quick-tab .quick-port-item .port-info .port-number{font-size:12px;color:var(--text-tertiary);font-family:JetBrains Mono,Fira Code,Monaco,monospace}.firewall-page .install-info{padding:16px;background:var(--bg-hover);border-radius:8px;margin-top:16px}.firewall-page .install-info p{margin:0;font-size:12px;line-height:1.6}.firewall-page .install-info p strong{color:var(--accent-primary)}.firewall-page .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.cron-page .page-header{margin-bottom:24px}.cron-page .page-header .page-header-content h1{font-size:24px;font-weight:600;margin:0 0 4px}.cron-page .page-header .page-header-content .page-description{color:var(--text-secondary);margin:0}.cron-page .btn svg{stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.stat-icon.cron{background:#6366f11a;color:var(--accent-primary)}.stat-icon.jobs{background:#2496ed1a;color:#2496ed}.stat-icon.active{background:#10b9811a;color:#10b981}.stat-icon.platform{background:#f59e0b1a;color:#f59e0b}.cron-list{display:flex;flex-direction:column;gap:12px}.cron-item{display:flex;align-items:center;gap:20px;padding:16px 20px;background-color:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;transition:border-color .2s ease}.cron-item:hover{border-color:var(--border-active)}.cron-item{transition:opacity .2s ease,background-color .15s ease;cursor:pointer}.cron-item:hover{background:var(--bg-hover)}.cron-item.disabled{opacity:.6}.cron-item.disabled .cron-item-icon{color:var(--text-tertiary)}.cron-item-info{display:flex;align-items:center;justify-content:flex-start;gap:16px;flex:1;min-width:0}.cron-item-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--bg-hover);border-radius:8px;color:var(--accent-primary)}.cron-item-details{min-width:0;flex:1}.cron-item-details h3{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cron-item-meta{display:flex;align-items:center;justify-content:flex-start;gap:12px;font-size:12px;color:var(--text-tertiary);flex-wrap:wrap;margin-bottom:8px}.cron-item-meta .mono{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;background:var(--bg-hover);padding:2px 6px;border-radius:4px}.cron-item-meta .description{color:var(--text-secondary)}.cron-item-command code{display:inline-block;max-width:100%;font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:10px;color:var(--text-secondary);background:var(--bg-hover);padding:4px 8px;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cron-item-status{flex-shrink:0;margin-right:12px}.cron-item-actions{display:flex;gap:8px;flex-shrink:0}.cron-item-actions .btn{padding:8px}.cron-item-actions .btn svg{stroke:currentColor;stroke-width:2;fill:none}.cron-item-actions .btn-warning{background:#f59e0b1a;color:#f59e0b;border:1px solid rgba(245,158,11,.2)}.cron-item-actions .btn-warning:hover{background:#f59e0b33}.cron-item-actions .btn-success{background:#10b9811a;color:#10b981;border:1px solid rgba(16,185,129,.2)}.cron-item-actions .btn-success:hover{background:#10b98133}.run-output{display:flex;flex-direction:column;gap:16px}.run-output-exit{display:flex;align-items:center;gap:12px}.run-output-label{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.run-output-section{display:flex;flex-direction:column;gap:8px}.run-output-pre{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:10px;background:var(--bg-hover);color:var(--text-primary);padding:12px;border-radius:6px;border:1px solid var(--border-subtle);max-height:300px;overflow:auto;white-space:pre-wrap;word-break:break-all;margin:0}.run-output-pre--error{color:#ef4444;border-color:#ef444433;background:#ef44440d}.spinner-inline{display:inline-block;width:14px;height:14px;border:2px solid var(--border-subtle);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite}.security-page .tabs-nav{display:inline-flex;align-items:center;gap:4px;height:36px;border-radius:8px;background:hsl(var(--muted));padding:3px;margin-bottom:24px;overflow-x:auto;scrollbar-width:none;width:-moz-fit-content;width:fit-content}.security-page .tabs-nav::-webkit-scrollbar{display:none}.security-page .tabs-nav .tab-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;height:calc(100% - 1px);background:none;border:1px solid transparent;border-radius:6px;padding:0 12px;color:hsl(var(--muted-foreground));font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;transition:color .15s ease,box-shadow .15s ease,background .15s ease;font-family:Inter,ui-sans-serif,system-ui,sans-serif}.security-page .tabs-nav .tab-btn:hover{color:hsl(var(--foreground))}.security-page .tabs-nav .tab-btn.active{background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.security-overview .stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.security-overview .stat-card{display:flex;align-items:center;gap:16px;padding:24px;background:var(--bg-card);border-radius:8px;border:1px solid var(--border-subtle)}.security-overview .stat-card.success{border-color:#10b9814d}.security-overview .stat-card.success .stat-icon{color:#10b981;background:#10b98126}.security-overview .stat-card.warning{border-color:#f59e0b4d}.security-overview .stat-card.warning .stat-icon{color:#f59e0b;background:#f59e0b26}.security-overview .stat-card.danger{border-color:#ef44444d}.security-overview .stat-card.danger .stat-icon{color:#ef4444;background:#ef444426}.security-overview .stat-card.info{border-color:#6366f14d}.security-overview .stat-card.info .stat-icon{color:var(--accent-primary);background:#6366f126}.security-overview .stat-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--bg-hover);border-radius:6px;flex-shrink:0}.security-overview .stat-content{display:flex;flex-direction:column}.security-overview .stat-content .stat-value{font-size:20px;font-weight:700}.security-overview .stat-content .stat-label{color:var(--text-secondary);font-size:12px}.security-overview .security-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.scanner-tab .scan-options{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}@media (max-width: 768px){.scanner-tab .scan-options{grid-template-columns:1fr}}.scanner-tab .scan-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:24px 16px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;cursor:pointer;transition:all .2s ease}.scanner-tab .scan-card:hover{border-color:var(--accent-primary);background:var(--bg-elevated)}.scanner-tab .scan-card h4{margin:0 0 4px;font-size:16px;font-weight:600}.scanner-tab .scan-card .scan-desc{color:var(--text-secondary);font-size:12px;margin-bottom:16px}.scanner-tab .scan-card .btn{margin-top:auto}.scanner-tab .scan-card-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:6px;background:#6366f11a;color:var(--accent-primary);margin-bottom:12px}.scanner-tab .scan-card--custom{cursor:default}.scanner-tab .scan-card--custom:hover{border-color:var(--border-subtle);background:var(--bg-card)}.scanner-tab .scan-custom-input{display:flex;gap:8px;width:100%;margin-top:auto}.scanner-tab .scan-custom-input input{flex:1;min-width:0}.scanner-tab .scan-toolbar{display:flex;justify-content:flex-end;margin-bottom:16px}.scanner-tab .scan-toolbar .btn{display:flex;align-items:center;gap:8px}.scanner-tab .scan-progress{margin-bottom:16px;border-color:var(--accent-primary)}.scanner-tab .scan-progress .progress-info{display:flex;align-items:center;gap:16px}.scanner-tab .scan-progress .progress-info .spinner{width:32px;height:32px}.scanner-tab .scan-progress .progress-info p{margin:0}.scanner-tab .scan-progress .progress-info p:not(:last-child){margin-bottom:4px}.scanner-tab .path-cell{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px}.quarantine-tab .empty-state{display:flex;flex-direction:column;align-items:center;padding:32px;text-align:center}.quarantine-tab .empty-state svg{color:#10b981;margin-bottom:16px}.quarantine-tab .empty-state p{font-size:18px;margin-bottom:4px}.integrity-tab .description{color:var(--text-secondary);margin-bottom:24px}.integrity-tab .integrity-actions{display:flex;gap:16px}.integrity-tab .change-section{margin-bottom:24px}.integrity-tab .change-section h4{margin-bottom:8px;color:#f59e0b}.integrity-tab .file-list{list-style:none;padding:0;margin:0;background:var(--bg-hover);border-radius:6px;max-height:300px;overflow-y:auto}.integrity-tab .file-list li{padding:8px 16px;font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;border-bottom:1px solid var(--border-subtle)}.integrity-tab .file-list li:last-child{border-bottom:none}.events-tab .card-warning{border-color:#f59e0b}.events-tab .failed-login-summary{display:flex;align-items:baseline;gap:8px}.events-tab .failed-login-summary .count{font-size:24px;font-weight:700}.events-tab .failed-login-summary .count.danger{color:#ef4444}.events-tab .failed-login-summary .label{color:var(--text-secondary)}.events-tab .recent-failures{margin-top:16px}.events-tab .recent-failures summary{cursor:pointer;color:var(--accent-primary)}.events-tab .recent-failures summary:hover{text-decoration:underline}.events-tab .recent-failures pre{margin-top:8px;padding:16px;background:var(--bg-hover);border-radius:6px;font-size:10px;max-height:200px;overflow:auto}.events-tab .events-list{display:flex;flex-direction:column;gap:8px}.events-tab .event-item{display:flex;align-items:flex-start;gap:16px;padding:16px;background:var(--bg-hover);border-radius:6px;border-left:3px solid var(--border-subtle)}.events-tab .event-item.malware{border-left-color:#ef4444}.events-tab .event-item.malware .event-icon{color:#ef4444}.events-tab .event-item.integrity{border-left-color:#f59e0b}.events-tab .event-item.integrity .event-icon{color:#f59e0b}.events-tab .event-icon{flex-shrink:0;color:var(--text-secondary)}.events-tab .event-content{flex:1;min-width:0}.events-tab .event-content .event-message{display:block;margin-bottom:4px}.events-tab .event-content .event-time{font-size:12px;color:var(--text-tertiary)}.settings-tab .card{margin-bottom:24px}.settings-tab .form-actions{margin-top:24px}.not-installed{text-align:center;padding:24px}.not-installed p{margin-bottom:16px;color:var(--text-secondary)}.info-list{display:flex;flex-direction:column;gap:8px}.info-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border-subtle)}.info-item:last-child{border-bottom:none}.info-item .info-label{color:var(--text-secondary)}.info-item .info-value{font-weight:500}.help-text{color:var(--text-secondary);font-size:12px}.loading-sm{color:var(--text-tertiary);font-size:12px;padding:16px}.firewall-tab .firewall-header{margin-bottom:24px}.firewall-tab .firewall-status-row{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--bg-card);border-radius:8px;border:1px solid var(--border-subtle)}.firewall-tab .status-indicator{display:flex;align-items:center;gap:8px;font-weight:600}.firewall-tab .status-indicator.active{color:#10b981}.firewall-tab .status-indicator.inactive{color:#ef4444}.firewall-tab .status-indicator .firewall-type{color:var(--text-tertiary);font-weight:400}.firewall-tab .firewall-actions{display:flex;gap:8px}.firewall-tab .firewall-stats{display:flex;gap:16px;margin-bottom:24px}.firewall-tab .stat-mini{display:flex;flex-direction:column;align-items:center;padding:16px 24px;background:var(--bg-card);border-radius:6px;border:1px solid var(--border-subtle);min-width:100px}.firewall-tab .stat-mini .stat-value{font-size:20px;font-weight:700}.firewall-tab .stat-mini .stat-label{color:var(--text-tertiary);font-size:12px}.firewall-tab .subtabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:1px solid var(--border-subtle);padding-bottom:8px}.firewall-tab .subtabs .subtab{padding:8px 12px;border:none;background:none;color:var(--text-secondary);cursor:pointer;border-radius:4px;font-size:12px;transition:all .2s}.firewall-tab .subtabs .subtab:hover{background:var(--bg-hover);color:var(--text-primary)}.firewall-tab .subtabs .subtab.active{background:var(--bg-hover);color:var(--accent-primary)}.firewall-tab .quick-ports-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.firewall-tab .quick-port-card{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--bg-hover);border-radius:6px}.firewall-tab .quick-port-card .port-info{display:flex;flex-direction:column}.firewall-tab .quick-port-card .port-info .port-name{font-weight:500}.firewall-tab .quick-port-card .port-info .port-number{color:var(--text-tertiary);font-size:12px;font-family:JetBrains Mono,Fira Code,Monaco,monospace}.firewall-tab .blocked-list{display:flex;flex-direction:column;gap:8px}.firewall-tab .blocked-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--bg-hover);border-radius:6px}.firewall-tab .blocked-item .blocked-ip{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-weight:500}.firewall-tab .empty-state-sm{text-align:center;padding:24px;color:var(--text-secondary)}.firewall-tab .install-info{margin-top:16px;padding:16px;background:var(--bg-hover);border-radius:6px}.firewall-tab .install-info p{margin:0;font-size:12px}.tabs-nav-scrollable{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}.tabs-nav-scrollable::-webkit-scrollbar{height:4px}.tabs-nav-scrollable::-webkit-scrollbar-track{background:transparent}.tabs-nav-scrollable::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:4px}.fail2ban-tab .card-actions{display:flex;gap:8px}.ssh-keys-tab .fingerprint{font-size:10px;word-break:break-all}.ssh-keys-tab .modal-lg{max-width:600px}.ssh-keys-tab textarea{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px}.ip-lists-tab .ip-lists-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:24px}.ip-lists-tab .ip-list{display:flex;flex-direction:column;gap:8px}.ip-lists-tab .ip-list-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--bg-hover);border-radius:6px}.ip-lists-tab .ip-info{display:flex;align-items:center;gap:12px}.ip-lists-tab .ip-info code{font-weight:500}.ip-lists-tab .ip-info .ip-allowed{color:#10b981}.ip-lists-tab .ip-info .ip-blocked{color:#ef4444}.ip-lists-tab .ip-info .ip-comment{color:var(--text-secondary);font-size:12px}.ip-lists-tab .ip-info .ip-date{color:var(--text-tertiary);font-size:10px}.audit-tab .loading-state{display:flex;flex-direction:column;align-items:center;padding:32px;gap:16px}.audit-tab .loading-state .spinner{width:40px;height:40px}.audit-tab .audit-results{display:flex;flex-direction:column;gap:24px}.audit-tab .audit-score{display:flex;flex-direction:column;align-items:center;padding:24px;background:var(--bg-hover);border-radius:8px;text-align:center}.audit-tab .audit-score .score-value{font-size:3rem;font-weight:700}.audit-tab .audit-score .score-label{color:var(--text-secondary)}.audit-tab .audit-score.score-excellent{border:2px solid #10b981}.audit-tab .audit-score.score-excellent .score-value{color:#10b981}.audit-tab .audit-score.score-good{border:2px solid var(--accent-primary)}.audit-tab .audit-score.score-good .score-value{color:var(--accent-primary)}.audit-tab .audit-score.score-fair{border:2px solid #f59e0b}.audit-tab .audit-score.score-fair .score-value{color:#f59e0b}.audit-tab .audit-score.score-poor{border:2px solid #ef4444}.audit-tab .audit-score.score-poor .score-value{color:#ef4444}.audit-tab .audit-timestamp{text-align:center;color:var(--text-tertiary);font-size:12px}.audit-tab .audit-section h4{margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border-subtle)}.audit-tab .audit-section.recommendations{background:#6366f11a;padding:16px;border-radius:6px}.audit-tab .audit-section.recommendations ul{margin:0;padding-left:24px}.audit-tab .audit-section.recommendations ul li{margin-bottom:8px}.audit-tab .audit-section.recommendations ul li:last-child{margin-bottom:0}.audit-tab .findings-list{display:flex;flex-direction:column;gap:8px}.audit-tab .finding-item{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--bg-hover);border-radius:4px}.audit-tab .finding-item .finding-message{flex:1;font-size:12px}.vulnerability-tab .scan-section{margin-bottom:24px}.vulnerability-tab .scan-section h4{margin-bottom:12px;color:var(--text-secondary)}.vulnerability-tab .findings-list.compact{list-style:none;padding:0;margin:0;background:var(--bg-hover);border-radius:6px;max-height:300px;overflow-y:auto}.vulnerability-tab .findings-list.compact li{padding:8px 16px;font-size:12px;border-bottom:1px solid var(--border-subtle)}.vulnerability-tab .findings-list.compact li:last-child{border-bottom:none}.vulnerability-tab .findings-list.compact li.warning{border-left:3px solid #f59e0b}.vulnerability-tab .findings-list.compact li.suggestion{border-left:3px solid var(--accent-primary)}.auto-updates-tab .auto-updates-actions{display:flex;gap:16px}.auto-updates-tab .help-text{background:var(--bg-hover);padding:16px;border-radius:6px}.auto-updates-tab .help-text p{margin:0}.empty-state{display:flex;flex-direction:column;align-items:center;padding:32px;text-align:center}.empty-state svg{color:var(--text-tertiary);margin-bottom:16px}.empty-state h3{margin-bottom:8px}.empty-state p{color:var(--text-secondary);margin-bottom:24px}.empty-state-sm{text-align:center;padding:24px;color:var(--text-secondary)}.templates-page{min-width:0;overflow-x:hidden}.templates-page .page-description{color:var(--text-secondary);margin-top:8px}.templates-page .empty-state{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:48px;color:var(--text-tertiary)}.templates-page .empty-state svg{opacity:.5}.templates-page .empty-state p{margin:0;font-size:18px}.templates-filters{display:flex;flex-direction:column;gap:16px;margin-bottom:16px}.search-box{position:relative;max-width:400px}.search-box svg,.search-box .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-tertiary);pointer-events:none}.search-box input,.search-box .search-input{width:100%;padding:8px 12px 8px 32px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-primary);font-size:12px;height:36px}.search-box input:focus,.search-box .search-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-glow)}.search-box input::-moz-placeholder,.search-box .search-input::-moz-placeholder{color:var(--text-tertiary)}.search-box input::placeholder,.search-box .search-input::placeholder{color:var(--text-tertiary)}.modal-overlay.modal-centered{align-items:center;padding-top:20px}.category-filters{display:flex;flex-wrap:wrap;gap:8px}.category-btn{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .15s ease;text-transform:capitalize}.category-btn:hover{background:var(--bg-hover);border-color:var(--border-default);color:var(--text-primary)}.category-btn.active{background:var(--accent-glow);border-color:var(--accent-primary);color:var(--accent-primary)}.active-filters{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:16px}.filter-chip{display:inline-flex;align-items:center;gap:8px;padding:4px 4px 4px 8px;background:var(--accent-glow);border:1px solid var(--accent-primary);border-radius:9999px;font-size:12px;color:var(--accent-primary)}.filter-chip svg:first-child{flex-shrink:0}.filter-chip button{display:flex;align-items:center;justify-content:center;padding:4px;margin-left:4px;background:transparent;border:none;border-radius:9999px;color:var(--accent-primary);cursor:pointer;transition:all .15s ease}.filter-chip button:hover{background:var(--accent-primary);color:#fff}.clear-all-btn{padding:4px 12px;background:transparent;border:1px solid var(--border-subtle);border-radius:9999px;font-size:12px;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.clear-all-btn:hover{background:var(--bg-hover);border-color:var(--border-default);color:var(--text-primary)}.templates-results-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-subtle)}.results-count{font-size:12px;color:var(--text-secondary)}.sort-dropdown{display:flex;align-items:center;gap:8px;position:relative}.sort-dropdown label{font-size:12px;color:var(--text-tertiary)}.sort-dropdown select{width:100%;height:36px;padding:0 12px;background:hsl(var(--background));border:1px solid hsl(var(--input));border-radius:6px;color:hsl(var(--foreground));font-size:12px;line-height:1;transition:border-color .2s ease}.sort-dropdown select:focus{border-color:var(--accent-primary);outline:none;box-shadow:none}.sort-dropdown select::-moz-placeholder{color:hsl(var(--muted-foreground))}.sort-dropdown select::placeholder{color:hsl(var(--muted-foreground))}.sort-dropdown select:disabled{cursor:not-allowed;opacity:.5}.sort-dropdown select{width:auto;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='hsl(var(--muted-foreground))' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;padding-right:28px;font-size:12px}.sort-dropdown select:focus{outline:none;border-color:var(--accent-primary)}.sort-dropdown .dropdown-icon{position:absolute;right:8px;pointer-events:none;color:var(--text-tertiary)}.templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:20px}.template-card{position:relative;display:flex;gap:16px;padding:20px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;cursor:pointer;transition:all .15s ease}.template-card:hover{border-color:var(--accent-primary);box-shadow:var(--shadow-md)}.featured-badge{position:absolute;top:12px;right:12px;display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:4px;font-size:10px;font-weight:500;color:#fff}.featured-badge svg{fill:currentColor}.template-icon{width:64px;height:64px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--bg-hover);border-radius:6px;overflow:hidden;color:var(--accent-primary)}.template-icon img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;padding:8px}.template-icon svg{flex-shrink:0}.template-icon-placeholder{font-size:24px;font-weight:700;color:var(--accent-primary)}.template-icon-large{width:80px;height:80px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--bg-hover);border-radius:8px;overflow:hidden;color:var(--accent-primary)}.template-icon-large img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;padding:8px}.template-icon-large .template-icon-placeholder{font-size:30px}.template-info{flex:1;min-width:0}.template-info h3{margin:0 0 8px;font-size:18px;font-weight:600}.template-description{margin:0 0 12px;color:var(--text-secondary);font-size:12px;line-height:1.6;display:-webkit-box;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.template-full-description{margin-bottom:16px;color:var(--text-secondary);line-height:1.6}.template-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.template-version{font-size:10px;font-weight:500;color:var(--accent-primary);padding:4px 8px;background:var(--accent-glow);border-radius:4px}.template-link-indicator{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--bg-hover);border-radius:4px;color:var(--text-tertiary)}.template-link-indicator:hover{color:var(--accent-primary)}.template-categories{display:flex;flex-wrap:wrap;gap:4px}.category-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;font-size:10px;color:var(--text-secondary);background:var(--bg-hover);border-radius:4px;text-transform:capitalize}.template-detail-header{display:flex;align-items:center;gap:16px}.template-detail-header h2{margin:0}.template-links{display:flex;gap:8px;margin-bottom:24px}.template-links .btn{display:inline-flex;align-items:center;gap:8px}.template-details-grid{display:flex;flex-direction:column;gap:24px}.detail-section h4{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.detail-section h4 svg{flex-shrink:0}.detail-section h4 .copy-btn{margin-left:auto;padding:4px;background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;border-radius:4px;display:flex;align-items:center;transition:all .15s ease}.detail-section h4 .copy-btn:hover{color:var(--accent-primary);background:var(--bg-hover)}.requirements-list{display:flex;flex-wrap:wrap;gap:12px}.requirement-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-hover);border-radius:6px}.requirement-item .requirement-label{font-size:12px;color:var(--text-tertiary)}.requirement-item .requirement-value{font-size:12px;font-weight:500;color:var(--text-primary);font-family:JetBrains Mono,Fira Code,Monaco,monospace}.variables-list{display:flex;flex-direction:column;gap:12px}.variable-item{display:flex;flex-direction:column;gap:4px;padding:12px;background:var(--bg-hover);border-radius:6px;border-left:3px solid transparent}.variable-item.required{border-left-color:var(--accent-primary)}.variable-item .variable-header{display:flex;align-items:center;gap:8px}.variable-name{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;font-weight:500;color:var(--accent-primary)}.required-badge{font-size:10px;padding:2px 8px;background:var(--accent-primary);color:#fff;border-radius:4px;font-weight:500}.auto-badge{font-size:10px;padding:2px 8px;background:#10b9811a;color:#10b981;border-radius:4px;font-weight:500}.variable-description{font-size:12px;color:var(--text-secondary)}.variable-default{font-size:10px;color:var(--text-tertiary);font-family:JetBrains Mono,Fira Code,Monaco,monospace}.ports-list{display:flex;flex-wrap:wrap;gap:8px}.port-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-hover);border-radius:6px}.port-number{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-weight:500;color:var(--text-primary)}.port-protocol{font-size:10px;padding:4px;background:var(--bg-card);border-radius:4px;color:var(--text-secondary);text-transform:uppercase}.port-description{font-size:12px;color:var(--text-secondary)}.compose-preview{padding:16px;background:var(--bg-elevated);border-radius:6px;border:1px solid var(--border-subtle)}.compose-preview code{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;color:var(--text-secondary)}.install-modal h4{margin:16px 0 12px;font-size:14px;font-weight:600;padding-top:16px;border-top:1px solid var(--border-subtle)}.template-card-new{position:relative;display:flex;align-items:center;gap:16px;padding:16px 20px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;cursor:pointer;transition:all .15s ease}.template-card-new:hover{border-color:var(--accent-primary);box-shadow:var(--shadow-md);background:var(--bg-elevated)}.template-featured-badge{position:absolute;top:8px;right:8px;display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:4px;font-size:.625rem;font-weight:600;color:#fff;line-height:1.4}.template-featured-badge svg{fill:currentColor;flex-shrink:0}.template-card-icon{width:44px;height:44px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--bg-hover);border-radius:6px;overflow:hidden;color:var(--accent-primary)}.template-card-icon img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.template-card-body{flex:1;min-width:0}.template-card-name{margin:0 0 4px;font-size:12px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.template-card-desc{margin:0 0 8px;font-size:10px;color:var(--text-secondary);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.template-card-meta{display:flex;align-items:center;flex-wrap:wrap;gap:4px}.template-card-arrow{flex-shrink:0;color:var(--text-tertiary);margin-left:auto}.template-version-badge{display:inline-flex;align-items:center;padding:1px 8px;font-size:.625rem;font-weight:600;color:var(--accent-primary);background:var(--accent-glow);border-radius:4px;font-family:JetBrains Mono,Fira Code,Monaco,monospace}.template-cat-badge{display:inline-flex;align-items:center;padding:1px 8px;font-size:.625rem;font-weight:500;color:var(--text-secondary);background:var(--bg-hover);border-radius:4px;text-transform:capitalize}.templates-empty-state{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:4rem 24px;text-align:center}.template-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0009;display:flex;justify-content:flex-end;animation:fade-in .15s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.template-drawer{width:100%;max-width:420px;height:100%;background:var(--bg-card);border-left:1px solid var(--border-subtle);display:flex;flex-direction:column;overflow:hidden;animation:drawer-in .2s ease;box-shadow:var(--shadow-lg)}@keyframes drawer-in{0%{transform:translate(100%)}to{transform:translate(0)}}.template-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.template-drawer-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--bg-hover);border-radius:6px;overflow:hidden;color:var(--accent-primary);flex-shrink:0}.template-drawer-icon img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.template-drawer-body{flex:1;overflow-y:auto;padding:20px}.template-drawer-footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid var(--border-subtle);flex-shrink:0}.upload-drop-zone{display:flex;align-items:center;justify-content:center;min-height:80px;border:1.5px dashed var(--border-default);border-radius:6px;padding:16px;background:var(--bg-hover);transition:all .15s ease}.upload-drop-zone:hover{border-color:var(--accent-primary);background:#6366f10f}.upload-drop-zone input[type=file]{display:none}.waas-templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:20px}.waas-template-card{display:flex;flex-direction:column;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;overflow:hidden;transition:all .15s ease}.waas-template-card:hover{border-color:var(--accent-primary);box-shadow:var(--shadow-md)}.waas-card-screenshot{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--bg-hover);cursor:pointer}.waas-card-screenshot img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .3s ease}.waas-card-screenshot:hover img{transform:scale(1.03)}.waas-card-img-wrap{position:relative;width:100%;height:100%}.waas-card-img-wrap img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.waas-card-img-skeleton{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,var(--bg-hover) 25%,var(--bg-elevated) 50%,var(--bg-hover) 75%);background-size:800px 100%;animation:shimmer 1.4s infinite linear;z-index:1}.waas-card-screenshot-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:3rem;color:var(--text-tertiary)}.waas-card-iframe-wrap{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.waas-card-iframe-wrap iframe{position:absolute;top:0;left:0;width:1280px;height:800px;transform-origin:top left;border:none;background:var(--bg-card)}.waas-deploy-modal{width:min(460px,100vw - 40px);max-width:460px;max-height:90vh;overflow-y:auto}.domain-type-toggle{display:flex;gap:4px;background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:6px;padding:3px;margin-bottom:8px}.domain-type-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:5px 12px;font-size:.75rem;font-weight:500;color:var(--text-tertiary);background:transparent;border:1px solid transparent;border-radius:4px;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.domain-type-btn:hover:not(.active){color:var(--text-primary);background:var(--bg-tertiary)}.domain-type-btn.active{background:var(--bg-card);border-color:var(--border-default);color:var(--accent-primary);box-shadow:0 1px 3px #0003}.waas-featured-badge{position:absolute;top:8px;left:8px;display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:4px;font-size:.625rem;font-weight:600;color:#fff}.waas-featured-badge svg{fill:currentColor;flex-shrink:0}.waas-custom-badge{position:absolute;top:8px;right:8px;padding:2px 8px;background:var(--accent-primary);border-radius:4px;font-size:.625rem;font-weight:600;color:#fff}.waas-card-body{flex:1;padding:16px}.waas-card-title{margin:0 0 4px;font-size:12px;font-weight:600;color:var(--text-primary)}.waas-card-desc{margin:0 0 12px;font-size:10px;color:var(--text-secondary);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.waas-card-meta{display:flex;flex-wrap:wrap;gap:4px}.waas-card-footer{display:flex;gap:4px;padding:12px 16px;border-top:1px solid var(--border-subtle)}.waas-manage-grid{display:flex;flex-direction:column;gap:8px}.waas-manage-card{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--bg-hover);border-radius:6px;border:1px solid var(--border-subtle)}.waas-manage-thumb{width:56px;height:36px;flex-shrink:0;border-radius:4px;overflow:hidden;background:var(--bg-elevated)}.waas-manage-info{flex:1;min-width:0}.waas-manage-actions{display:flex;gap:4px;flex-shrink:0}.waas-preview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:var(--bg-card);display:flex;flex-direction:column;animation:fade-in .12s ease}.waas-preview-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid var(--border-subtle);background:var(--bg-elevated);flex-shrink:0}.waas-preview-title{display:flex;align-items:center;gap:8px}.waas-viewport-controls{display:flex;align-items:center;gap:2px;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:6px;padding:2px}.waas-viewport-btn{display:flex;align-items:center;justify-content:center;width:32px;height:28px;background:transparent;border:none;border-radius:4px;color:var(--text-tertiary);cursor:pointer;transition:all .15s ease}.waas-viewport-btn:hover{color:var(--text-primary);background:var(--bg-elevated)}.waas-viewport-btn.active{background:var(--bg-card);color:var(--accent-primary);box-shadow:var(--shadow-sm)}.waas-preview-body{display:flex;flex:1;overflow:hidden}.waas-preview-stage{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;overflow:auto;background:var(--bg-elevated);padding:12px}.waas-preview-sidebar{width:clamp(200px,240px,25vw);flex-shrink:0;display:flex;flex-direction:column;border-left:1px solid var(--border-subtle);background:var(--bg-card);overflow:hidden}.waas-preview-info{flex:1;overflow-y:auto;padding:20px}.waas-preview-footer{display:flex;gap:8px;padding:16px 20px;border-top:1px solid var(--border-subtle);flex-shrink:0}.wp-device{flex-shrink:0;border-radius:8px;overflow:hidden;box-shadow:var(--shadow-lg);transform-origin:center center;transition:transform .2s ease}.wp-device-desktop{width:1100px;max-width:100%;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;overflow:visible}.wp-device-tablet{width:540px;max-width:100%;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:12px;overflow:visible}.wp-device-mobile{width:320px;max-width:100%;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:24px;overflow:visible}.wp-device-chrome{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--bg-elevated);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.wp-chrome-dots{display:flex;gap:5px;flex-shrink:0}.wp-chrome-dots span{width:10px;height:10px;border-radius:50%;background:var(--border-subtle)}.wp-chrome-dots span:nth-child(1){background:#ff5f57}.wp-chrome-dots span:nth-child(2){background:#febc2e}.wp-chrome-dots span:nth-child(3){background:#28c840}.wp-chrome-url{flex:1;padding:3px 12px;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:4px;font-size:10px;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wp-device-screen-desktop{overflow:hidden}.wp-device-screen-desktop iframe,.wp-device-screen-desktop img{display:block;width:100%}.wp-device-tablet{width:540px;max-width:100%;background:var(--bg-elevated);border:6px solid var(--border-default);border-radius:16px;padding:8px;display:flex;flex-direction:column;gap:8px}.wp-device-chrome-tablet{display:flex;align-items:center;justify-content:center;padding:4px 8px;background:transparent;border:none}.wp-chrome-url-tablet{flex:1;padding:3px 12px;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:4px;font-size:10px;color:var(--text-tertiary);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wp-device-screen-tablet{border-radius:6px;overflow:hidden}.wp-device-screen-tablet iframe,.wp-device-screen-tablet img{display:block;width:100%}.wp-device-mobile{width:320px;max-width:100%;background:var(--bg-elevated);border:8px solid var(--border-default);border-radius:32px;padding:8px;display:flex;flex-direction:column;align-items:center;gap:8px}.wp-device-notch{width:90px;height:14px;background:var(--border-default);border-radius:9999px;flex-shrink:0}.wp-device-homebutton{width:36px;height:36px;border-radius:50%;border:3px solid var(--border-default);flex-shrink:0}.wp-device-screen-mobile{width:100%;border-radius:6px;overflow:hidden}.wp-device-screen-mobile iframe,.wp-device-screen-mobile img{display:block;width:100%}.wp-iframe-desktop{height:600px}.wp-iframe-tablet{height:560px}.wp-iframe-mobile{height:520px}.wp-iframe-wrapper{position:relative}.wp-iframe-wrapper .wp-iframe-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:var(--bg-elevated);color:var(--text-secondary);font-size:12px;z-index:1}.wp-iframe-wrapper .wp-iframe-spinner{width:28px;height:28px;border:2px solid var(--border-subtle);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .7s linear infinite}.subdomain-input-group{display:flex;align-items:stretch;border:1px solid var(--border-subtle);border-radius:6px;overflow:hidden;background:var(--bg-card);transition:border-color .15s ease,box-shadow .15s ease}.subdomain-input-group:focus-within{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-glow)}.subdomain-input-group .subdomain-input{flex:1;background:transparent;border:none;outline:none;padding:8px 12px;font-size:12px;font-family:JetBrains Mono,Fira Code,Monaco,monospace;color:var(--text-primary);min-width:0}.subdomain-input-group .subdomain-input::-moz-placeholder{color:var(--text-tertiary);font-family:JetBrains Mono,Fira Code,Monaco,monospace}.subdomain-input-group .subdomain-input::placeholder{color:var(--text-tertiary);font-family:JetBrains Mono,Fira Code,Monaco,monospace}.subdomain-input-group .subdomain-suffix{display:flex;align-items:center;padding:0 12px;background:var(--bg-elevated);border-left:1px solid var(--border-subtle);color:var(--text-secondary);font-size:10px;font-family:JetBrains Mono,Fira Code,Monaco,monospace;white-space:nowrap;flex-shrink:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.subdomain-preview-hint{display:flex;align-items:center;gap:5px;margin-top:8px;font-size:10px;color:var(--text-tertiary)}.subdomain-preview-hint svg{flex-shrink:0;opacity:.6}.subdomain-preview-hint strong{font-weight:500;color:var(--text-secondary)}@media (max-width: 768px){.templates-grid{grid-template-columns:1fr}.templates-results-header{flex-direction:column;align-items:flex-start;gap:12px}.sort-dropdown{width:100%}.sort-dropdown select{flex:1}.template-card{flex-direction:column}.template-icon{width:48px;height:48px}.featured-badge{top:8px;right:8px}.waas-preview-body{flex-direction:column}.waas-preview-sidebar{width:100%;border-left:none;border-top:1px solid var(--border-subtle);max-height:260px}.waas-preview-footer{flex-wrap:wrap}.waas-templates-grid{grid-template-columns:1fr}}.bp-table-wrap{overflow-x:auto;margin:0 -4px}.bp-table{min-width:640px}.bp-table td,.bp-table th{padding:8px 12px;vertical-align:middle}.bp-table th{white-space:nowrap}.bp-table td:last-child{text-align:right;width:72px}.bp-vol-name{font-size:10px;font-family:JetBrains Mono,Fira Code,Monaco,monospace;color:var(--text-secondary);background:var(--bg-secondary);padding:1px 4px;border-radius:4px;white-space:nowrap}.bp-result-grid{display:grid;grid-template-columns:max-content 1fr;gap:4px 16px;padding:12px;background:var(--bg-secondary);border-radius:6px;border:1px solid var(--border-subtle)}.bp-result-grid code{font-size:10px;font-family:JetBrains Mono,Fira Code,Monaco,monospace;color:var(--text-primary)}.workflow-page{display:flex;flex-direction:column;height:calc(100vh - 24px);padding:16px}.workflow-page.fullscreen{height:100vh;padding:0}.workflow-page.fullscreen .workflow-canvas{border-radius:0;border:none}.workflow-page .page-header{flex-shrink:0;margin-bottom:16px}.workflow-page .page-header h1{margin:0 0 4px;font-size:20px;font-weight:600}.workflow-page .page-header .page-subtitle{margin:0;color:var(--text-secondary);font-size:12px}.workflow-canvas{flex:1;height:100%;background:var(--bg-body);border:1px solid var(--border-subtle);border-radius:8px;overflow:hidden;position:relative}.workflow-canvas .react-flow{background:var(--bg-body)}.workflow-canvas .react-flow__controls{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px;box-shadow:var(--shadow-lg)}.workflow-canvas .react-flow__controls button{background:var(--bg-card);border:none;border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);width:28px;height:28px}.workflow-canvas .react-flow__controls button:hover{background:var(--bg-hover);color:var(--text-primary)}.workflow-canvas .react-flow__controls button:last-child{border-bottom:none}.workflow-canvas .react-flow__controls button svg{fill:currentColor}.workflow-canvas .react-flow__minimap{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px;box-shadow:var(--shadow-lg)}.workflow-canvas .react-flow__background{background:var(--bg-body)}.workflow-node{min-width:180px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;box-shadow:var(--shadow-md);transition:all .15s ease}.workflow-node:hover{border-color:var(--border-active);box-shadow:var(--shadow-lg)}.workflow-node.selected{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-glow)}.workflow-node-header{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:2px solid var(--accent-primary);border-top-left-radius:8px;border-top-right-radius:8px}.workflow-node-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--accent-primary);border-radius:6px;color:#fff}.workflow-node-type{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary)}.workflow-node-body{padding:12px}.workflow-node-label{font-size:12px;font-weight:500;color:var(--text-primary);margin-bottom:4px}.workflow-node-status{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:9999px;font-size:10px;font-weight:500}.workflow-node-status.status-running{background:#10b9811a;color:#10b981}.workflow-node-status.status-stopped{background:#71717a1a;color:var(--text-tertiary)}.workflow-node-status.status-error{background:#ef44441a;color:#ef4444}.node-trigger,.node-script,.node-logic,.node-notification{display:flex;align-items:center;gap:12px;padding:12px;min-width:180px;position:relative}.node-trigger.node-selected,.node-script.node-selected,.node-logic.node-selected,.node-notification.node-selected{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-glow)}.node-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;min-width:32px;background:var(--bg-elevated);border-radius:6px;color:var(--text-secondary)}.node-content{flex:1;min-width:0}.node-label{font-size:12px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.node-sublabel{font-size:10px;color:var(--text-tertiary);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.node-icon-manual{color:#3b82f6}.node-icon-cron{color:#a855f7}.node-icon-webhook{color:#10b981}.node-icon-event{color:#f59e0b}.node-icon-bash{color:var(--text-secondary)}.node-icon-python{color:#93c5fd}.node-icon-logic{color:#f97316}.node-icon-discord{color:#818cf8}.node-icon-slack{color:#ec4899}.node-icon-email{color:#3b82f6}.node-status-active{border-color:#3b82f6;box-shadow:0 0 10px #3b82f64d}.node-status-success{border-color:#10b981;box-shadow:0 0 10px #22c55e4d}.node-status-error{border-color:#ef4444;box-shadow:0 0 10px #ef44444d}.node-status-inactive{border-color:var(--border-subtle)}.node-outputs{display:flex;justify-content:space-around;width:100%;margin-top:8px;padding-top:8px;border-top:1px solid var(--border-subtle)}.node-output-branch{display:flex;flex-direction:column;align-items:center}.node-branch-label{font-size:10px;font-weight:700;margin-bottom:4px}.node-branch-label.node-branch-true{color:#10b981}.node-branch-label.node-branch-false{color:#ef4444}.handle-input,.handle-output{width:10px!important;height:10px!important;background:var(--bg-card)!important;border:2px solid var(--border-active)!important;transition:all .15s ease}.handle-input:hover,.handle-output:hover{background:var(--accent-primary)!important;border-color:var(--accent-primary)!important;transform:scale(1.2)}.handle-true{border-color:#10b981!important}.handle-true:hover{background:#10b981!important}.handle-false{border-color:#ef4444!important}.handle-false:hover{background:#ef4444!important}.workflow-handle{width:12px!important;height:12px!important;background:var(--bg-card)!important;border:2px solid var(--border-active)!important;transition:all .15s ease}.workflow-handle:hover{background:var(--accent-primary)!important;border-color:var(--accent-primary)!important;transform:scale(1.2)}.workflow-handle-target{left:-6px!important}.workflow-handle-source{right:-6px!important}.react-flow__edge-path{stroke:var(--border-active);stroke-width:2}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:hover .react-flow__edge-path{stroke:var(--accent-primary)}.react-flow__edge.animated path{stroke-dasharray:5;animation:flowAnimation .5s linear infinite}@keyframes flowAnimation{0%{stroke-dashoffset:10}to{stroke-dashoffset:0}}.workflow-palette{position:absolute;top:16px;left:16px;z-index:10;display:flex;flex-direction:column;gap:4px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;padding:8px;box-shadow:var(--shadow-lg);max-height:calc(100vh - 100px);overflow-y:auto;min-width:180px}.palette-section{display:flex;flex-direction:column;gap:4px}.palette-section:not(:last-child){padding-bottom:8px;border-bottom:1px solid var(--border-subtle);margin-bottom:4px}.palette-header{display:flex;align-items:center;gap:4px;width:100%;background:transparent;border:none;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary);padding:4px 8px;cursor:pointer;text-align:left;transition:color .15s ease,background .15s ease}.palette-header svg{flex-shrink:0;opacity:.6}.palette-header:hover{color:var(--text-secondary);background:var(--bg-hover)}.palette-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease;white-space:nowrap;text-align:left}.palette-item svg{flex-shrink:0}.palette-item:hover{background:var(--bg-hover);color:var(--text-primary)}.palette-item.palette-item-docker:hover{background:#2496ed26;color:#2496ed;border-color:#2496ed4d}.palette-item.palette-item-database:hover{background:#f59e0b26;color:#f59e0b;border-color:#f59e0b4d}.palette-item.palette-item-domain:hover{background:#10b98126;color:#10b981;border-color:#10b9814d}.palette-item.palette-item-service:hover{background:#6366f126;color:var(--accent-primary);border-color:#6366f14d}.workflow-node-docker .node-header-docker{border-color:#2496ed}.workflow-node-docker .node-icon-docker{background:#2496ed}.workflow-node-database .node-header-database{border-color:#f59e0b}.workflow-node-database .node-icon-database{background:#f59e0b}.workflow-node-domain .node-header-domain{border-color:#10b981}.workflow-node-domain .node-icon-domain{background:#10b981}.workflow-node-domain .node-label-domain{font-size:14px;font-weight:600;font-family:JetBrains Mono,Fira Code,Monaco,monospace}.workflow-node-service .node-header-service{border-color:var(--accent-primary)}.workflow-node-service .node-icon-service{background:var(--accent-primary)}.node-detail{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:10px}.node-detail .node-detail-label{color:var(--text-tertiary)}.node-detail .node-detail-value{color:var(--text-secondary);font-family:JetBrains Mono,Fira Code,Monaco,monospace}.node-detail-image .node-detail-value{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-detail-memory,.node-detail-size{color:var(--text-tertiary)}.node-detail-memory svg,.node-detail-size svg{opacity:.7}.node-description{font-size:10px;color:var(--text-tertiary);margin-top:4px}.node-ports{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.node-port-pill{display:inline-flex;align-items:center;padding:2px 8px;background:#6366f126;border:1px solid rgba(99,102,241,.3);border-radius:9999px;font-size:10px;font-family:JetBrains Mono,Fira Code,Monaco,monospace;color:var(--accent-primary)}.node-type-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600;color:#fff;margin-top:4px}.node-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.node-ssl-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border:1px solid;border-radius:4px;font-size:10px;font-weight:500}.node-dns-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:500}.node-dns-badge.dns-propagated{background:#10b9811a;color:#10b981}.node-dns-badge.dns-pending{background:#f59e0b26;color:#f59e0b}.node-status-dot{width:8px;height:8px;border-radius:50%;margin-left:auto}.node-status-dot.status-running{background:#10b981;box-shadow:0 0 0 2px #10b9814d;animation:pulseRunning 2s ease-in-out infinite}.node-status-dot.status-stopped{background:var(--text-tertiary)}.node-status-dot.status-error{background:#ef4444;box-shadow:0 0 0 2px #ef44444d;animation:pulseError 1s ease-in-out infinite}@keyframes pulseRunning{0%,to{box-shadow:0 0 0 2px #10b9814d}50%{box-shadow:0 0 0 4px #10b98126}}@keyframes pulseError{0%,to{box-shadow:0 0 0 2px #ef44444d}50%{box-shadow:0 0 0 4px #ef444426}}.workflow-handle-database{bottom:-6px!important;left:50%!important;transform:translate(-50%)}.config-panel{position:absolute;top:0;right:0;width:320px;height:100%;background:var(--bg-card);border-left:1px solid var(--border-subtle);box-shadow:var(--shadow-lg);z-index:20;display:flex;flex-direction:column;transform:translate(100%);opacity:0;transition:transform .25s ease-out,opacity .2s ease-out;pointer-events:none}.config-panel.open{transform:translate(0);opacity:1;pointer-events:auto}.config-panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:2px solid var(--accent-primary);flex-shrink:0}.config-panel-title{display:flex;align-items:center;gap:12px}.config-panel-title h3{margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.config-panel-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;color:#fff}.config-panel-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:4px;color:var(--text-tertiary);cursor:pointer;transition:all .15s ease}.config-panel-close:hover{background:var(--bg-hover);color:var(--text-primary)}.config-panel-body{flex:1;overflow-y:auto;padding:16px}.config-panel-body::-webkit-scrollbar{width:6px;height:6px}.config-panel-body::-webkit-scrollbar-track{background:var(--bg-body)}.config-panel-body::-webkit-scrollbar-thumb{background:var(--border-active);border-radius:4px}.config-panel-body::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.config-panel-body .form-group{margin-bottom:16px}.config-panel-body .form-group label{display:block;font-size:12px;font-weight:500;color:var(--text-secondary);margin-bottom:8px}.config-panel-body .form-group input,.config-panel-body .form-group select,.config-panel-body .form-group textarea{width:100%;padding:8px 12px;background:var(--bg-body);border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-primary);font-size:12px;transition:border-color .15s ease}.config-panel-body .form-group input:focus,.config-panel-body .form-group select:focus,.config-panel-body .form-group textarea:focus{outline:none;border-color:var(--accent-primary)}.config-panel-body .form-group input::-moz-placeholder,.config-panel-body .form-group select::-moz-placeholder,.config-panel-body .form-group textarea::-moz-placeholder{color:var(--text-tertiary)}.config-panel-body .form-group input::placeholder,.config-panel-body .form-group select::placeholder,.config-panel-body .form-group textarea::placeholder{color:var(--text-tertiary)}.config-panel-body .form-group select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2371717a' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.config-panel-body .form-group textarea{resize:vertical;min-height:80px;font-family:inherit}.config-panel-body .form-group .input-readonly{background:var(--bg-hover);cursor:not-allowed;color:var(--text-tertiary)}.config-panel-body .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.config-panel-body .form-hint{display:block;font-size:10px;color:var(--text-tertiary);margin-top:4px}.config-panel-footer{padding:16px;border-top:1px solid var(--border-subtle);flex-shrink:0}.trigger-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.trigger-type-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px;background:var(--bg-body);border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-tertiary);cursor:pointer;transition:all .15s ease}.trigger-type-btn:hover{border-color:var(--border-active);color:var(--text-secondary)}.trigger-type-btn.active{background:#6366f11a;border-color:var(--accent-primary);color:var(--accent-primary)}.trigger-type-btn .trigger-type-name{font-size:12px;font-weight:500}.trigger-type-btn .trigger-type-desc{font-size:10px;color:var(--text-tertiary);text-align:center;line-height:1.25}.channel-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.channel-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px;background:var(--bg-body);border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-tertiary);font-size:10px;cursor:pointer;transition:all .15s ease}.channel-btn:hover{border-color:var(--border-active);color:var(--text-secondary)}.channel-btn.active{background:#6366f11a;border-color:var(--accent-primary);color:var(--accent-primary)}.lang-toggle{display:flex;gap:8px}.lang-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px;background:var(--bg-body);border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-tertiary);font-size:12px;cursor:pointer;transition:all .15s ease}.lang-btn:hover{border-color:var(--border-active);color:var(--text-secondary)}.lang-btn.active{background:#6366f11a;border-color:var(--accent-primary);color:var(--accent-primary)}.script-editor{min-height:240px;font-size:10px;line-height:1.6;-moz-tab-size:4;-o-tab-size:4;tab-size:4}.toggle-label{display:flex!important;align-items:center;justify-content:space-between}.toggle-switch{position:relative;width:36px;height:20px;background:var(--bg-tertiary);border:none;border-radius:9999px;cursor:pointer;transition:background .15s ease}.toggle-switch.active{background:#10b981}.toggle-switch .toggle-knob{position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;transition:transform .15s ease}.toggle-switch.active .toggle-knob{transform:translate(16px)}.input-with-action{display:flex;gap:8px}.input-with-action input{flex:1}.input-action-btn{display:flex;align-items:center;justify-content:center;padding:8px 12px;background:var(--bg-body);border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.input-action-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.panel-info-box{padding:12px;background:#6366f114;border:1px solid rgba(99,102,241,.2);border-radius:6px;font-size:10px;color:var(--text-secondary);line-height:1.6;margin-top:12px}.panel-info-box code{background:#0000004d;padding:1px 4px;border-radius:3px;font-size:10px;color:var(--accent-primary)}.panel-info-box.panel-info-warning{background:#f59e0b14;border-color:#f59e0b33}.panel-info-box.panel-info-warning code{color:#f59e0b}.btn-delete-node{width:100%;padding:8px 16px;background:transparent;border:1px solid #ef4444;border-radius:6px;color:#ef4444;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-delete-node:hover{background:#ef4444;color:#fff}.branch-legend{display:flex;flex-direction:column;gap:8px;margin-top:16px}.branch-legend-item{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--text-secondary)}.branch-dot{width:8px;height:8px;border-radius:50%}.branch-dot.branch-dot-true{background:#10b981}.branch-dot.branch-dot-false{background:#ef4444}.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.font-mono{font-family:JetBrains Mono,Fira Code,Monaco,monospace!important}.port-list{display:flex;flex-direction:column;gap:8px}.port-item{display:flex;gap:8px}.port-item input{flex:1}.btn-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border-radius:6px;flex-shrink:0}.btn-danger-ghost{background:transparent;border:1px solid transparent;color:var(--text-tertiary);cursor:pointer;transition:all .15s ease}.btn-danger-ghost:hover{background:#ef44441a;border-color:#ef444433;color:#ef4444}.connection-error-toast{position:absolute;top:16px;left:50%;transform:translate(-50%);z-index:30;padding:8px 16px;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:6px;color:#ef4444;font-size:12px;font-weight:500;box-shadow:var(--shadow-lg);animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.edge-label{display:flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:500;color:#fff;white-space:nowrap;transition:all .15s ease;opacity:0}.react-flow__edge:hover .edge-label,.edge-label.edge-label-selected{opacity:1}.edge-label.edge-label-selected{color:var(--bg-body)}.edge-label-text{line-height:1}.edge-delete-btn{display:flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;margin-left:4px;background:#ef4444;border:none;border-radius:4px;color:#fff;cursor:pointer;transition:all .15s ease}.edge-delete-btn:hover{background:#eb1515}.workflow-handle{transition:all .15s ease}.workflow-handle:hover{transform:scale(1.3)}.react-flow__handle-connecting.react-flow__handle-valid{background:#10b981!important;box-shadow:0 0 6px #10b98199}.react-flow__handle-connecting:not(.react-flow__handle-valid){background:#ef4444!important;box-shadow:0 0 6px #ef444499}.react-flow__edge{cursor:pointer}.react-flow__edge.selected .react-flow__edge-path{stroke:#fff!important;stroke-width:2!important}.workflow-toolbar{position:absolute;top:16px;right:16px;z-index:15;display:flex;align-items:center;gap:12px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;padding:8px 12px;box-shadow:var(--shadow-lg)}.toolbar-left{display:flex;align-items:center;gap:12px}.toolbar-right{display:flex;align-items:center;gap:8px}.workflow-name-input{width:150px;padding:8px 12px;background:var(--bg-body);border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-primary);font-size:12px;font-weight:500;transition:border-color .15s ease}.workflow-name-input:focus{outline:none;border-color:var(--accent-primary)}.workflow-name-input::-moz-placeholder{color:var(--text-tertiary)}.workflow-name-input::placeholder{color:var(--text-tertiary)}.workflow-id-badge{padding:4px 8px;background:var(--bg-hover);border-radius:4px;font-size:10px;font-family:JetBrains Mono,Fira Code,Monaco,monospace;color:var(--text-tertiary)}.toolbar-btn{display:flex;align-items:center;gap:8px;padding:8px 12px;background:transparent;border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease;white-space:nowrap}.toolbar-btn svg{flex-shrink:0}.toolbar-btn:hover{background:var(--bg-hover);border-color:var(--border-active);color:var(--text-primary)}.toolbar-btn:disabled{opacity:.5;cursor:not-allowed}.toolbar-btn-icon{padding:8px;gap:0}.toolbar-btn-primary{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.toolbar-btn-primary:hover{background:#4c4fef;border-color:#4c4fef;color:#fff}.toolbar-btn-execute{color:#10b981}.toolbar-btn-execute:hover{background:#10b9811a;border-color:#10b981}.toolbar-divider{width:1px;height:24px;background:var(--border-subtle);margin:0 4px}.toolbar-message{position:absolute;top:100%;right:0;margin-top:8px;padding:8px 12px;background:#10b9811a;border:1px solid rgba(16,185,129,.2);border-radius:6px;color:#10b981;font-size:10px;font-weight:500;white-space:nowrap;animation:slideDown .2s ease-out}.workflow-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#09090bcc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn .15s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.workflow-modal{width:500px;max-width:90vw;max-height:80vh;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;animation:scaleIn .2s ease-out}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.workflow-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-subtle)}.workflow-modal-header h2{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.modal-close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:6px;color:var(--text-tertiary);cursor:pointer;transition:all .15s ease}.modal-close-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.workflow-modal-content{flex:1;overflow-y:auto;padding:16px}.workflow-modal-content::-webkit-scrollbar{width:6px;height:6px}.workflow-modal-content::-webkit-scrollbar-track{background:var(--bg-body)}.workflow-modal-content::-webkit-scrollbar-thumb{background:var(--border-active);border-radius:4px}.workflow-modal-content::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.workflow-list-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px;color:var(--text-tertiary)}.workflow-list-loading .spin{animation:spin 1s linear infinite}.workflow-list-error{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px;color:#ef4444}.workflow-list-error button{padding:8px 16px;background:#ef4444;border:none;border-radius:6px;color:#fff;font-size:12px;font-weight:500;cursor:pointer;transition:background .15s ease}.workflow-list-error button:hover{background:#eb1515}.workflow-list-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px;color:var(--text-tertiary)}.workflow-list-empty p{margin:0;font-size:14px;font-weight:500;color:var(--text-secondary)}.workflow-list-empty span{font-size:12px}.workflow-list{display:flex;flex-direction:column;gap:8px}.workflow-list-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-body);border:1px solid var(--border-subtle);border-radius:8px;cursor:pointer;transition:all .15s ease}.workflow-list-item:hover{border-color:var(--accent-primary);background:#6366f10d}.workflow-item-main{flex:1;min-width:0}.workflow-item-name{font-size:12px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workflow-item-desc{font-size:10px;color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.workflow-item-meta{display:flex;flex-direction:column;gap:4px;flex-shrink:0}.workflow-item-stats{display:flex;gap:12px}.workflow-item-stats .stat,.workflow-item-date{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--text-tertiary)}.workflow-item-delete{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text-tertiary);cursor:pointer;transition:all .15s ease;flex-shrink:0}.workflow-item-delete:hover{background:#ef44441a;border-color:#ef444433;color:#ef4444}.workflow-item-delete:disabled{opacity:.5;cursor:not-allowed}.workflow-item-delete .spin{animation:spin 1s linear infinite}.toolbar-btn-deploy{background:#10b981;border-color:#10b981;color:#fff}.toolbar-btn-deploy:hover:not(:disabled){background:#0ea271;border-color:#0ea271;color:#fff}.toolbar-btn-deploy:disabled{opacity:.5;cursor:not-allowed}.deployment-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#09090bcc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn .15s ease-out}.deployment-modal{width:520px;max-width:90vw;max-height:80vh;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;animation:scaleIn .2s ease-out}.deployment-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-subtle)}.deployment-modal-header h2{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.deployment-modal-content{flex:1;overflow-y:auto;padding:16px}.deployment-modal-content::-webkit-scrollbar{width:6px;height:6px}.deployment-modal-content::-webkit-scrollbar-track{background:var(--bg-body)}.deployment-modal-content::-webkit-scrollbar-thumb{background:var(--border-active);border-radius:4px}.deployment-modal-content::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.deployment-modal-footer{padding:16px;border-top:1px solid var(--border-subtle);display:flex;justify-content:flex-end}.deployment-modal-footer .btn-primary{padding:8px 20px;background:var(--accent-primary);border:none;border-radius:6px;color:#fff;font-size:12px;font-weight:500;cursor:pointer;transition:background .15s ease}.deployment-modal-footer .btn-primary:hover{background:#4c4fef}.deployment-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px;color:var(--text-tertiary)}.deployment-loading .spin{animation:spin 1s linear infinite}.deployment-loading p{margin:0;font-size:14px;font-weight:500;color:var(--text-secondary)}.deployment-loading span{font-size:12px}.deployment-summary{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:6px;margin-bottom:16px;font-size:12px;font-weight:500}.deployment-summary.success{background:#10b9811a;border:1px solid rgba(16,185,129,.2);color:#10b981}.deployment-summary.has-errors{background:#ef44441a;border:1px solid rgba(239,68,68,.2);color:#ef4444}.deployment-results{display:flex;flex-direction:column;gap:8px}.deployment-result-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-body);border:1px solid var(--border-subtle);border-radius:6px;transition:all .15s ease}.deployment-result-item.success{border-color:#10b9814d}.deployment-result-item.error{border-color:#ef44444d;background:#ef44440d}.deployment-result-item.pending{opacity:.6}.result-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;color:#fff;flex-shrink:0}.result-info{flex:1;min-width:0}.result-name{font-size:12px;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-type{font-size:10px;color:var(--text-tertiary)}.result-status{display:flex;align-items:center;flex-shrink:0}.result-status .spin{animation:spin 1s linear infinite;color:var(--text-tertiary)}.result-status .status-success{color:#10b981}.result-status .status-error{color:#ef4444}.result-status .status-pending{font-size:10px;color:var(--text-tertiary)}.result-link{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-tertiary);text-decoration:none;transition:all .15s ease;flex-shrink:0}.result-link:hover{background:var(--bg-hover);border-color:var(--accent-primary);color:var(--accent-primary)}.deployment-errors{margin-top:16px;padding:12px;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:6px}.deployment-errors h4{margin:0 0 8px;font-size:12px;font-weight:600;color:#ef4444}.error-item{display:flex;align-items:flex-start;gap:8px;padding:8px 0;font-size:10px;color:#ef4444}.error-item svg{flex-shrink:0;margin-top:2px}.error-item:not(:last-child){border-bottom:1px solid rgba(239,68,68,.2)}.workflow-node.deployed{border-color:#10b981}.workflow-node.deployed:after{content:"";position:absolute;top:-4px;right:-4px;width:12px;height:12px;background:#10b981;border:2px solid var(--bg-card);border-radius:50%}.workflow-node.is-real{border-color:var(--accent-primary)}.workflow-node.is-real .workflow-node-header{background:#6366f126}.palette-submenu{display:flex;flex-direction:column;gap:4px;margin-left:12px;margin-bottom:8px;padding-left:8px;border-left:2px solid var(--border-subtle)}.palette-subitem{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px;background:var(--bg-body);border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-secondary);font-size:10px;cursor:pointer;transition:all .15s ease}.palette-subitem:hover{background:var(--bg-hover);border-color:var(--accent-primary);color:var(--text-primary)}.palette-subitem .status-badge{font-size:10px;padding:1px 6px}.palette-empty{padding:8px;color:var(--text-tertiary);font-size:10px;font-style:italic}.palette-section-info{padding-top:12px;border-top:1px solid var(--border-subtle)}.palette-hint{font-size:10px;color:var(--text-tertiary);line-height:1.4}.node-domains{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.node-domain-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:#10b98126;border:1px solid rgba(16,185,129,.3);border-radius:9999px;font-size:10px;color:#10b981}.node-domain-pill svg{opacity:.7}.node-domain-more{font-size:10px;color:var(--text-tertiary);padding:2px 4px}.node-detail-private-url{display:flex;align-items:center;gap:4px;margin-top:8px;padding:4px 8px;background:#22d3ee1a;border-radius:4px}.node-detail-private-url svg{color:#22d3ee;flex-shrink:0}.node-detail-private-url .node-detail-value{font-size:10px;color:#22d3ee;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toolbar-btn-overview{background:#22d3ee26!important;border-color:#22d3ee4d!important;color:#22d3ee!important}.toolbar-btn-overview:hover:not(:disabled){background:#22d3ee40!important;border-color:#22d3ee!important}.form-value{padding:8px 12px;background:var(--bg-body);border:1px solid var(--border-subtle);border-radius:6px;font-size:12px;color:var(--text-primary)}.form-value.status-badge{display:inline-flex;padding:4px 8px;border-radius:4px;font-size:10px;font-weight:500;text-transform:capitalize}.form-value.status-running{background:#10b9811a;border-color:#10b98133;color:#10b981}.form-value.status-stopped{background:var(--bg-body);border-color:var(--border-subtle);color:var(--text-tertiary)}.form-value.status-error{background:#ef44441a;border-color:#ef444433;color:#ef4444}.form-value-link{display:flex;align-items:center;gap:8px;cursor:pointer;color:var(--accent-primary)}.form-value-link:hover{text-decoration:underline}.form-value-link svg:last-child{opacity:.5;margin-left:auto}.form-domains{display:flex;flex-direction:column;gap:8px}.form-domain-item{display:flex;align-items:center;gap:8px;padding:8px;background:var(--bg-body);border:1px solid var(--border-subtle);border-radius:6px;font-size:12px}.form-domain-item svg{color:#10b981}.form-domain-item .ssl-badge{margin-left:auto;padding:2px 6px;background:#10b9811a;border-radius:4px;font-size:10px;font-weight:500;color:#10b981}.action-buttons{display:flex;gap:8px;flex-wrap:wrap}.action-buttons .btn{flex:1;min-width:70px}.action-message{margin-top:8px;padding:8px;background:#10b9811a;border:1px solid rgba(16,185,129,.2);border-radius:4px;font-size:10px;color:#10b981;text-align:center}.btn-block{width:100%;justify-content:center}.git-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;flex-wrap:wrap;gap:16px}.git-page .page-header .page-header-content h1{font-size:24px;font-weight:600;margin:0 0 4px}.git-page .page-header .page-header-content .page-description{color:var(--text-secondary);margin:0}.git-page .page-header .page-header-actions{display:flex;gap:8px}.git-page .page-loading{display:flex;justify-content:center;align-items:center;min-height:400px}.git-page .empty-state-large{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;background:var(--bg-card);border-radius:12px;text-align:center}.git-page .empty-state-large .empty-icon{color:var(--text-tertiary);margin-bottom:24px}.git-page .empty-state-large h2{margin:0 0 12px;font-size:24px;font-weight:600}.git-page .empty-state-large p{margin:0 0 24px;color:var(--text-secondary);max-width:400px}.git-page .resource-warning{background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:8px;padding:20px;margin-bottom:24px;text-align:left;max-width:500px}.git-page .resource-warning .warning-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:#f59e0b}.git-page .resource-warning .warning-header strong{color:var(--text-primary)}.git-page .resource-warning ul{margin:0;padding-left:20px;color:var(--text-secondary);font-size:12px}.git-page .resource-warning ul li{margin-bottom:4px}.git-page .resource-warning ul li:last-child{margin-bottom:0}.git-page .resource-warning ul li strong{color:var(--text-primary)}.git-page .status-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.git-page .status-card{display:flex;align-items:center;gap:16px;padding:20px;background:var(--bg-card);border-radius:12px;border-left:4px solid var(--border-subtle)}.git-page .status-card.success{border-left-color:#10b981}.git-page .status-card.success .status-icon{color:#10b981}.git-page .status-card.danger{border-left-color:#ef4444}.git-page .status-card.danger .status-icon{color:#ef4444}.git-page .status-card.warning{border-left-color:#f59e0b}.git-page .status-card.warning .status-icon{color:#f59e0b}.git-page .status-card .status-icon{color:var(--text-tertiary)}.git-page .status-card .status-info{display:flex;flex-direction:column;gap:4px}.git-page .status-card .status-info .status-label{font-size:12px;color:var(--text-secondary)}.git-page .status-card .status-info .status-value{font-size:18px;font-weight:600}.git-page .tabs{display:inline-flex;align-items:center;gap:4px;height:36px;border-radius:8px;background:hsl(var(--muted));padding:3px;margin-bottom:24px;overflow-x:auto;scrollbar-width:none;width:-moz-fit-content;width:fit-content}.git-page .tabs::-webkit-scrollbar{display:none}.git-page .tabs .tab{display:inline-flex;align-items:center;justify-content:center;gap:4px;height:calc(100% - 1px);background:none;border:1px solid transparent;border-radius:6px;padding:0 12px;color:hsl(var(--muted-foreground));font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;transition:color .15s ease,box-shadow .15s ease,background .15s ease;font-family:Inter,ui-sans-serif,system-ui,sans-serif}.git-page .tabs .tab:hover{color:hsl(var(--foreground))}.git-page .tabs .tab.active{background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.git-page .tab-content .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.git-page .tab-content .section-header h3{margin:0;font-size:16px;font-weight:600}.git-page .overview-tab{display:grid;grid-template-columns:1fr 1fr;gap:24px}@media (max-width: 768px){.git-page .overview-tab{grid-template-columns:1fr}}.git-page .overview-tab .info-card{background:var(--bg-card);border-radius:8px;padding:20px}.git-page .overview-tab .info-card h3{margin:0 0 16px;font-size:16px;font-weight:600}.git-page .overview-tab .info-grid{display:grid;gap:12px}.git-page .overview-tab .info-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border-subtle)}.git-page .overview-tab .info-item:last-child{border-bottom:none}.git-page .overview-tab .info-item .info-label{font-size:12px;color:var(--text-secondary)}.git-page .overview-tab .info-item .info-value{font-size:12px;font-weight:500}.git-page .overview-tab .info-item .info-value.text-success{color:#10b981}.git-page .overview-tab .info-item .info-value.text-danger{color:#ef4444}.git-page .overview-tab .info-item .info-value.code{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:10px;background:var(--bg-hover);padding:4px 8px;border-radius:4px}.git-page .overview-tab .info-item .info-value a{color:var(--accent-primary);text-decoration:none}.git-page .overview-tab .info-item .info-value a:hover{text-decoration:underline}.git-page .overview-tab .quick-actions{display:flex;gap:12px;flex-wrap:wrap}.git-page .access-tab{display:flex;flex-direction:column;gap:16px}.git-page .access-tab .info-card{background:var(--bg-card);border-radius:8px;padding:20px}.git-page .access-tab .info-card h3{margin:0 0 8px;font-size:16px;font-weight:600}.git-page .access-tab .info-card .text-muted{color:var(--text-secondary);font-size:12px;margin:0 0 16px}.git-page .access-tab .access-url{display:flex;align-items:center;gap:12px;background:var(--bg-hover);padding:12px 16px;border-radius:6px;margin-bottom:12px}.git-page .access-tab .access-url code{flex:1;font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;color:var(--accent-primary);word-break:break-all}.git-page .access-tab .ssh-note{font-size:12px;color:var(--text-secondary);padding:12px;background:#3b82f61a;border-radius:6px;border-left:3px solid #3b82f6}.git-page .access-tab .ssh-note strong{color:var(--text-primary)}.git-page .settings-tab{display:flex;flex-direction:column;gap:16px}.git-page .settings-tab .info-card{background:var(--bg-card);border-radius:8px;padding:20px}.git-page .settings-tab .info-card h3{margin:0 0 16px;font-size:16px;font-weight:600}.git-page .settings-tab .info-card.danger-zone{border:1px solid rgba(239,68,68,.3);background:#ef44440d}.git-page .settings-tab .info-card.danger-zone h3{color:#ef4444}.git-page .settings-tab .info-card.danger-zone .text-muted{color:var(--text-secondary);font-size:12px;margin:0}.git-page .settings-tab .settings-actions{display:flex;gap:12px}.git-page .modal-lg{max-width:500px}.git-page .install-warning{display:flex;gap:12px;background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:8px;padding:16px;margin-bottom:20px}.git-page .install-warning svg{flex-shrink:0;color:#3b82f6}.git-page .install-warning strong{display:block;margin-bottom:8px}.git-page .install-warning ul{margin:0;padding-left:16px;font-size:12px;color:var(--text-secondary)}.git-page .install-warning ul li{margin-bottom:4px}.git-page .required{color:#ef4444}.git-page .webhooks-tab .webhooks-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.git-page .webhooks-tab .webhooks-header h3{margin:0 0 4px;font-size:16px;font-weight:600}.git-page .webhooks-tab .webhooks-header .text-muted{color:var(--text-secondary);font-size:12px;margin:0}.git-page .webhooks-tab .loading-state{display:flex;justify-content:center;padding:40px}.git-page .webhooks-tab .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;background:var(--bg-card);border-radius:12px;text-align:center}.git-page .webhooks-tab .empty-state svg{color:var(--text-tertiary);margin-bottom:16px}.git-page .webhooks-tab .empty-state h4{margin:0 0 8px;font-size:18px;font-weight:600}.git-page .webhooks-tab .empty-state p{margin:0 0 20px;color:var(--text-secondary)}.git-page .webhooks-tab .webhooks-list{display:flex;flex-direction:column;gap:16px}.git-page .webhooks-tab .webhook-card{background:var(--bg-card);border-radius:8px;padding:20px;border:1px solid var(--border-subtle);transition:border-color .15s ease}.git-page .webhooks-tab .webhook-card:hover{border-color:var(--border-default)}.git-page .webhooks-tab .webhook-card.inactive{opacity:.7;background:var(--bg-hover)}.git-page .webhooks-tab .webhook-card .webhook-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.git-page .webhooks-tab .webhook-card .webhook-header .webhook-info{display:flex;align-items:center;gap:12px}.git-page .webhooks-tab .webhook-card .webhook-header .webhook-info h4{margin:0;font-size:16px;font-weight:600}.git-page .webhooks-tab .webhook-card .webhook-header .webhook-status{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary)}.git-page .webhooks-tab .webhook-card .webhook-header .webhook-status .status-dot{width:8px;height:8px;border-radius:50%;background:var(--text-tertiary)}.git-page .webhooks-tab .webhook-card .webhook-header .webhook-status .status-dot.active{background:#10b981}.git-page .webhooks-tab .webhook-card .webhook-header .webhook-status .status-dot.inactive{background:var(--text-tertiary)}.git-page .webhooks-tab .webhook-card .webhook-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:16px;padding:16px;background:var(--bg-hover);border-radius:6px}.git-page .webhooks-tab .webhook-card .webhook-details .detail-item{display:flex;flex-direction:column;gap:4px}.git-page .webhooks-tab .webhook-card .webhook-details .detail-item .label{font-size:10px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.git-page .webhooks-tab .webhook-card .webhook-details .detail-item .value{font-size:12px;color:var(--text-primary);word-break:break-all}.git-page .webhooks-tab .webhook-card .webhook-actions{display:flex;gap:8px;flex-wrap:wrap}.git-page .webhooks-tab .source-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:6px;font-size:10px;font-weight:500;text-transform:uppercase}.git-page .webhooks-tab .source-badge.github{background:#33333326;color:#333}@media (prefers-color-scheme: dark){.git-page .webhooks-tab .source-badge.github{background:#f0f0f026;color:#f0f0f0}}.git-page .webhooks-tab .source-badge.gitlab{background:#fc6d2626;color:#fc6d26}.git-page .webhooks-tab .source-badge.bitbucket{background:#0052cc26;color:#0052cc}.git-page .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 640px){.git-page .form-row{grid-template-columns:1fr}}.git-page .form-group.checkbox label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:400}.git-page .form-group.checkbox label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.git-page .secret-warning{display:flex;align-items:center;gap:12px;padding:16px;background:#f59e0b26;border:1px solid rgba(245,158,11,.3);border-radius:6px;margin-bottom:16px}.git-page .secret-warning svg{color:#f59e0b;flex-shrink:0}.git-page .secret-warning span{font-weight:500}.git-page .secret-display{display:flex;align-items:center;gap:12px;padding:16px;background:var(--bg-hover);border-radius:6px;margin-bottom:16px}.git-page .secret-display code{flex:1;font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;word-break:break-all}.git-page .repositories-tab .repos-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.git-page .repositories-tab .repos-header h3{margin:0;font-size:16px;font-weight:600}.git-page .repositories-tab .loading-state{display:flex;justify-content:center;padding:40px}.git-page .repositories-tab .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;background:var(--bg-card);border-radius:12px;text-align:center}.git-page .repositories-tab .empty-state svg{color:var(--text-tertiary);margin-bottom:16px}.git-page .repositories-tab .empty-state h4{margin:0 0 8px;font-size:18px;font-weight:600}.git-page .repositories-tab .empty-state p{margin:0 0 20px;color:var(--text-secondary)}.git-page .repositories-tab .repos-list{display:flex;flex-direction:column;gap:12px}.git-page .repositories-tab .repo-card{display:flex;align-items:center;padding:16px;background:var(--bg-card);border-radius:8px;border:1px solid var(--border-subtle);cursor:pointer;transition:all .15s ease}.git-page .repositories-tab .repo-card:hover{border-color:var(--accent-primary);background:var(--bg-hover)}.git-page .repositories-tab .repo-card:hover .repo-arrow{color:var(--accent-primary)}.git-page .repositories-tab .repo-card .repo-info{flex:1;min-width:0}.git-page .repositories-tab .repo-card .repo-info .repo-name{display:flex;align-items:center;gap:8px;margin-bottom:8px}.git-page .repositories-tab .repo-card .repo-info .repo-name .owner{color:var(--text-secondary)}.git-page .repositories-tab .repo-card .repo-info .repo-name .name{font-weight:600}.git-page .repositories-tab .repo-card .repo-info .repo-name .badge{padding:2px 8px;border-radius:4px;font-size:10px;font-weight:500}.git-page .repositories-tab .repo-card .repo-info .repo-name .badge.private{background:#f59e0b33;color:#f59e0b}.git-page .repositories-tab .repo-card .repo-info .repo-name .badge.fork{background:#3b82f633;color:#3b82f6}.git-page .repositories-tab .repo-card .repo-info .repo-description{margin:0 0 8px;font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.git-page .repositories-tab .repo-card .repo-info .repo-meta{display:flex;align-items:center;gap:16px;font-size:10px;color:var(--text-tertiary)}.git-page .repositories-tab .repo-card .repo-info .repo-meta .meta-item{display:flex;align-items:center;gap:4px}.git-page .repositories-tab .repo-card .repo-info .repo-meta .meta-item svg{opacity:.6}.git-page .repositories-tab .repo-card .repo-info .repo-meta .meta-item.updated{margin-left:auto}.git-page .repositories-tab .repo-card .repo-arrow{color:var(--text-tertiary);transition:color .15s ease}.git-page .repositories-tab .repo-detail .repo-detail-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border-subtle)}.git-page .repositories-tab .repo-detail .repo-detail-header .btn-ghost{padding:8px}.git-page .repositories-tab .repo-detail .repo-detail-header .repo-title{flex:1}.git-page .repositories-tab .repo-detail .repo-detail-header .repo-title h3{margin:0 0 4px;font-size:18px;font-weight:600}.git-page .repositories-tab .repo-detail .repo-detail-header .repo-title p{margin:0;font-size:12px;color:var(--text-secondary)}.git-page .repositories-tab .repo-detail .repo-detail-header .branch-selector select{padding:8px 16px;background:var(--bg-card);border:1px solid var(--border-default);border-radius:6px;font-size:12px;color:var(--text-primary);cursor:pointer}.git-page .repositories-tab .repo-detail .repo-detail-header .branch-selector select:focus{outline:none;border-color:var(--accent-primary)}.git-page .repositories-tab .repo-detail .repo-detail-tabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:1px solid var(--border-subtle)}.git-page .repositories-tab .repo-detail .repo-detail-tabs .tab{display:flex;align-items:center;gap:8px;padding:12px 16px;background:none;border:none;font-size:12px;font-weight:500;color:var(--text-secondary);cursor:pointer;position:relative;transition:color .15s ease}.git-page .repositories-tab .repo-detail .repo-detail-tabs .tab:hover{color:var(--text-primary)}.git-page .repositories-tab .repo-detail .repo-detail-tabs .tab.active{color:var(--accent-primary)}.git-page .repositories-tab .repo-detail .repo-detail-tabs .tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--accent-primary)}.git-page .repositories-tab .repo-detail .repo-detail-content{background:var(--bg-card);border-radius:8px;border:1px solid var(--border-subtle)}.git-page .repositories-tab .files-browser .breadcrumb{display:flex;align-items:center;padding:12px 16px;background:var(--bg-hover);border-bottom:1px solid var(--border-subtle);font-size:12px}.git-page .repositories-tab .files-browser .breadcrumb button{background:none;border:none;color:var(--accent-primary);cursor:pointer;padding:0}.git-page .repositories-tab .files-browser .breadcrumb button:hover{text-decoration:underline}.git-page .repositories-tab .files-browser .breadcrumb .separator{margin:0 8px;color:var(--text-tertiary)}.git-page .repositories-tab .files-browser .files-list .file-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border-subtle);transition:background .15s ease}.git-page .repositories-tab .files-browser .files-list .file-item:last-child{border-bottom:none}.git-page .repositories-tab .files-browser .files-list .file-item.dir{cursor:pointer}.git-page .repositories-tab .files-browser .files-list .file-item.dir:hover{background:var(--bg-hover)}.git-page .repositories-tab .files-browser .files-list .file-item .file-icon{color:var(--text-tertiary)}.git-page .repositories-tab .files-browser .files-list .file-item.dir .file-icon svg{color:#3b82f6}.git-page .repositories-tab .files-browser .files-list .file-item .file-name{flex:1;font-size:12px}.git-page .repositories-tab .files-browser .files-list .file-item .file-size{font-size:10px;color:var(--text-tertiary);font-family:JetBrains Mono,Fira Code,Monaco,monospace}.git-page .repositories-tab .commits-list .commit-item{display:flex;align-items:flex-start;gap:16px;padding:16px;border-bottom:1px solid var(--border-subtle)}.git-page .repositories-tab .commits-list .commit-item:last-child{border-bottom:none}.git-page .repositories-tab .commits-list .commit-item .commit-info{flex:1;min-width:0}.git-page .repositories-tab .commits-list .commit-item .commit-info .commit-message{font-size:12px;font-weight:500;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.git-page .repositories-tab .commits-list .commit-item .commit-info .commit-meta{font-size:10px;color:var(--text-tertiary)}.git-page .repositories-tab .commits-list .commit-item .commit-info .commit-meta .author{color:var(--text-secondary);margin-right:8px}.git-page .repositories-tab .commits-list .commit-item .commit-sha code{padding:4px 8px;background:var(--bg-hover);border-radius:4px;font-size:10px;font-family:JetBrains Mono,Fira Code,Monaco,monospace;color:var(--accent-primary)}.git-page .repositories-tab .commits-list .btn-block{width:100%;margin:16px;width:calc(100% - 32px)}.git-page .repositories-tab .branches-list .branch-item{display:flex;align-items:center;gap:16px;padding:16px;border-bottom:1px solid var(--border-subtle)}.git-page .repositories-tab .branches-list .branch-item:last-child{border-bottom:none}.git-page .repositories-tab .branches-list .branch-item.active{background:#6366f10d}.git-page .repositories-tab .branches-list .branch-item .branch-info{flex:1}.git-page .repositories-tab .branches-list .branch-item .branch-info .branch-name{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:500;margin-bottom:4px}.git-page .repositories-tab .branches-list .branch-item .branch-info .branch-name svg{color:var(--text-tertiary)}.git-page .repositories-tab .branches-list .branch-item .branch-info .branch-name .badge{padding:2px 8px;border-radius:4px;font-size:10px;font-weight:500}.git-page .repositories-tab .branches-list .branch-item .branch-info .branch-name .badge.default{background:#10b98133;color:#10b981}.git-page .repositories-tab .branches-list .branch-item .branch-info .branch-name .badge.protected{background:#f59e0b33;color:#f59e0b}.git-page .repositories-tab .branches-list .branch-item .branch-info .branch-commit{font-size:10px;color:var(--text-tertiary)}.git-page .repositories-tab .branches-list .branch-item .branch-info .branch-commit code{color:var(--accent-primary);margin-right:8px}.git-page .deployments-tab .deployments-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.git-page .deployments-tab .deployments-header h3{margin:0 0 4px;font-size:16px;font-weight:600}.git-page .deployments-tab .deployments-header .text-muted{color:var(--text-secondary);font-size:12px;margin:0}.git-page .deployments-tab .loading-state{display:flex;justify-content:center;padding:40px}.git-page .deployments-tab .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;background:var(--bg-card);border-radius:12px;text-align:center}.git-page .deployments-tab .empty-state svg{color:var(--text-tertiary);margin-bottom:16px}.git-page .deployments-tab .empty-state h4{margin:0 0 8px;font-size:18px;font-weight:600}.git-page .deployments-tab .empty-state p{margin:0 0 20px;color:var(--text-secondary)}.git-page .deployments-tab .deployments-list{display:flex;flex-direction:column;gap:16px}.git-page .deployments-tab .deployment-card{background:var(--bg-card);border-radius:8px;padding:20px;border:1px solid var(--border-subtle);border-left:4px solid var(--border-subtle)}.git-page .deployments-tab .deployment-card.success{border-left-color:#10b981}.git-page .deployments-tab .deployment-card.failed{border-left-color:#ef4444}.git-page .deployments-tab .deployment-card.running{border-left-color:#f59e0b}.git-page .deployments-tab .deployment-card .deployment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.git-page .deployments-tab .deployment-card .deployment-header .deployment-version{display:flex;align-items:center;gap:12px}.git-page .deployments-tab .deployment-card .deployment-header .deployment-version .version{font-size:18px;font-weight:600}.git-page .deployments-tab .deployment-card .deployment-header .deployment-version .badge{padding:2px 8px;border-radius:4px;font-size:10px;font-weight:500}.git-page .deployments-tab .deployment-card .deployment-header .deployment-version .badge.rollback{background:#3b82f633;color:#3b82f6}.git-page .deployments-tab .deployment-card .deployment-header .deployment-version .status-badge{padding:4px 8px;border-radius:6px;font-size:10px;font-weight:500;text-transform:uppercase}.git-page .deployments-tab .deployment-card .deployment-header .deployment-version .status-badge.success{background:#10b98126;color:#10b981}.git-page .deployments-tab .deployment-card .deployment-header .deployment-version .status-badge.failed{background:#ef444426;color:#ef4444}.git-page .deployments-tab .deployment-card .deployment-header .deployment-version .status-badge.running{background:#f59e0b26;color:#f59e0b}.git-page .deployments-tab .deployment-card .deployment-header .deployment-time{font-size:12px;color:var(--text-tertiary)}.git-page .deployments-tab .deployment-card .deployment-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px;padding:16px;background:var(--bg-hover);border-radius:6px}.git-page .deployments-tab .deployment-card .deployment-details .detail-item{display:flex;align-items:center;gap:8px;font-size:12px}.git-page .deployments-tab .deployment-card .deployment-details .detail-item .label{color:var(--text-tertiary)}.git-page .deployments-tab .deployment-card .deployment-details .detail-item .value{color:var(--text-primary)}.git-page .deployments-tab .deployment-card .deployment-details .detail-item code{padding:2px 8px;background:var(--bg-card);border-radius:4px;font-size:10px;font-family:JetBrains Mono,Fira Code,Monaco,monospace;color:var(--accent-primary)}.git-page .deployments-tab .deployment-card .deployment-details .detail-item.commit-message{grid-column:1/-1}.git-page .deployments-tab .deployment-card .deployment-details .detail-item.commit-message .message{color:var(--text-secondary);font-style:italic}.git-page .deployments-tab .deployment-card .deployment-details .detail-item.error{grid-column:1/-1;color:#ef4444}.git-page .deployments-tab .deployment-card .deployment-details .detail-item.error .value{color:#ef4444}.git-page .deployments-tab .deployment-card .deployment-actions{display:flex;gap:8px;flex-wrap:wrap}.git-page .form-section{margin-top:20px;padding-top:20px;border-top:1px solid var(--border-subtle)}.git-page .form-section h4{margin:0 0 4px;font-size:14px;font-weight:600}.git-page .form-section .text-muted{color:var(--text-secondary);font-size:12px;margin:0 0 16px}.git-page .form-hint{display:block;font-size:10px;color:var(--text-tertiary);margin-top:4px}.git-page .form-group textarea{width:100%;min-height:80px;padding:12px;font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:6px;color:var(--text-primary);resize:vertical}.git-page .form-group textarea:focus{outline:none;border-color:var(--accent-primary)}.git-page .form-group textarea::-moz-placeholder{color:var(--text-tertiary)}.git-page .form-group textarea::placeholder{color:var(--text-tertiary)}.git-page .modal-xl{max-width:800px}.git-page .deployment-summary{display:flex;flex-wrap:wrap;gap:16px;padding:16px;background:var(--bg-hover);border-radius:6px;margin-bottom:16px}.git-page .deployment-summary .summary-item{display:flex;align-items:center;gap:8px;font-size:12px}.git-page .deployment-summary .summary-item .label{color:var(--text-tertiary)}.git-page .deployment-summary .summary-item .status-badge{padding:4px 8px;border-radius:6px;font-size:10px;font-weight:500;text-transform:uppercase}.git-page .deployment-summary .summary-item .status-badge.success{background:#10b98126;color:#10b981}.git-page .deployment-summary .summary-item .status-badge.failed{background:#ef444426;color:#ef4444}.git-page .deployment-summary .summary-item .status-badge.running{background:#f59e0b26;color:#f59e0b}.git-page .deployment-summary .summary-item code{padding:2px 8px;background:var(--bg-card);border-radius:4px;font-size:10px;font-family:JetBrains Mono,Fira Code,Monaco,monospace;color:var(--accent-primary)}.git-page .deployment-error{padding:16px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:6px;margin-bottom:16px;color:#ef4444;font-size:12px}.git-page .deployment-error strong{margin-right:8px}.git-page .log-section{margin-bottom:16px}.git-page .log-section h4{margin:0 0 8px;font-size:12px;font-weight:600;color:var(--text-secondary)}.git-page .log-section .log-output{padding:16px;background:var(--bg-hover);border-radius:6px;font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:10px;color:var(--text-primary);white-space:pre-wrap;word-break:break-all;max-height:300px;overflow-y:auto;margin:0}.git-page .no-logs{padding:24px;text-align:center;color:var(--text-tertiary)}.servers-page{padding:0}.servers-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}@media (max-width: 1024px){.servers-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.servers-stats{grid-template-columns:1fr}}.stat-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px;padding:20px;display:flex;align-items:center;gap:16px}.stat-icon{width:48px;height:48px;border-radius:6px;display:flex;align-items:center;justify-content:center}.stat-icon svg{width:24px;height:24px}.stat-icon.total{background:var(--accent-glow);color:var(--accent-primary)}.stat-icon.online{background:#10b9811a;color:#10b981}.stat-icon.offline{background:#ef44441a;color:#ef4444}.stat-icon.connecting{background:#f59e0b1a;color:#f59e0b}.stat-content .stat-value{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:24px;font-weight:700;color:var(--text-primary)}.stat-content .stat-label{font-size:12px;color:var(--text-tertiary)}.servers-toolbar{display:flex;gap:16px;margin-bottom:24px}@media (max-width: 640px){.servers-toolbar{flex-direction:column}}.search-box{position:relative;flex:1}.search-box svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-tertiary);pointer-events:none}.search-box input{width:100%;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px;padding:8px 40px;color:var(--text-primary);font-size:12px;height:36px}.search-box input::-moz-placeholder{color:var(--text-tertiary)}.search-box input::placeholder{color:var(--text-tertiary)}.search-box input:focus{outline:none;border-color:var(--accent-primary)}.search-box .search-clear-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;padding:4px;cursor:pointer;color:var(--text-tertiary);display:flex;align-items:center;justify-content:center}.search-box .search-clear-btn:hover{color:var(--text-primary)}.group-filter select{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px;padding:12px 16px;color:var(--text-primary);font-size:12px;min-width:160px}.group-filter select:focus{outline:none;border-color:var(--accent-primary)}.servers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px}.server-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease}.server-card:hover{border-color:var(--border-active)}.server-card.online:hover{border-color:#10b981;box-shadow:0 0 0 1px #10b98133}.server-card.offline{opacity:.8}.server-card-header{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--border-subtle)}.server-status-indicator{width:10px;height:10px;border-radius:50%;flex-shrink:0}.server-info{flex:1;min-width:0}.server-info .server-name{font-size:14px;font-weight:600;color:var(--text-primary);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.server-info .server-hostname{font-size:10px;color:var(--text-tertiary);font-family:JetBrains Mono,Fira Code,Monaco,monospace}.server-card-body{padding:16px}.server-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px}.meta-item{display:flex;flex-direction:column;gap:4px}.meta-item .meta-label{font-size:10px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.meta-item .meta-value{font-size:12px;color:var(--text-secondary)}.server-metrics-mini{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.metric-bar{display:flex;align-items:center;gap:8px}.metric-bar .metric-label{font-size:10px;color:var(--text-tertiary);width:32px}.metric-bar .bar-track{flex:1;height:4px;background:var(--bg-secondary);border-radius:9999px;overflow:hidden}.metric-bar .bar-fill{height:100%;border-radius:9999px;transition:width .2s ease}.metric-bar .bar-fill.cpu{background:var(--accent-primary)}.metric-bar .bar-fill.memory{background:#10b981}.metric-bar .bar-fill.disk{background:#f59e0b}.metric-bar .metric-value{font-size:10px;font-family:JetBrains Mono,Fira Code,Monaco,monospace;color:var(--text-tertiary);width:32px;text-align:right}.server-group-badge{display:inline-flex;align-items:center;gap:4px;background:var(--bg-hover);color:var(--text-secondary);font-size:10px;padding:4px 8px;border-radius:4px}.server-card-footer{display:flex;gap:8px;padding:12px 16px;background:var(--bg-hover);border-top:1px solid var(--border-subtle)}.server-card-footer .btn{flex:1;justify-content:center}.server-card-footer .btn-sm{padding:8px 12px;font-size:10px}.empty-state{text-align:center;padding:64px 24px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px}.empty-state .empty-icon{width:64px;height:64px;color:var(--text-tertiary);margin-bottom:16px}.empty-state h3{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.empty-state p{color:var(--text-secondary);margin:0 0 24px}.server-detail-page{padding:0}.page-breadcrumb{display:flex;align-items:center;gap:8px;font-size:12px;margin-bottom:12px}.page-breadcrumb a{color:var(--text-tertiary);text-decoration:none}.page-breadcrumb a:hover{color:var(--text-primary)}.page-breadcrumb .breadcrumb-separator{color:var(--text-tertiary)}.page-breadcrumb span:last-child{color:var(--text-secondary)}.server-title{display:flex;align-items:center;gap:12px}.server-title h1{margin:0}.status-dot{width:12px;height:12px;border-radius:50%}.status-dot.large{width:14px;height:14px}.server-detail-tabs{display:inline-flex;align-items:center;gap:4px;height:36px;border-radius:8px;background:hsl(var(--muted));padding:3px;margin-bottom:24px;overflow-x:auto;scrollbar-width:none;width:-moz-fit-content;width:fit-content}.server-detail-tabs::-webkit-scrollbar{display:none}.tab-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;height:35px;background:none;border:1px solid transparent;border-radius:6px;padding:0 12px;color:hsl(var(--muted-foreground));font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;transition:color .15s ease,box-shadow .15s ease,background .15s ease;font-family:Inter,ui-sans-serif,system-ui,sans-serif}.tab-btn:hover{color:hsl(var(--foreground))}.tab-btn.active{background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.overview-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}@media (max-width: 1024px){.overview-grid{grid-template-columns:1fr}}.info-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;padding:20px}.info-card h3{font-size:12px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 16px}.info-list{display:flex;flex-direction:column;gap:12px}.info-item{display:flex;justify-content:space-between;align-items:center}.info-item .info-label{font-size:12px;color:var(--text-tertiary)}.info-item .info-value{font-size:12px;color:var(--text-primary)}.info-item .info-value.mono{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:10px}.status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:4px;font-size:10px;font-weight:500;text-transform:capitalize}.status-badge.online{background:#10b9811a;color:#10b981}.status-badge.offline{background:#ef44441a;color:#ef4444}.status-badge.connecting{background:#f59e0b1a;color:#f59e0b}.status-badge.pending{background:var(--bg-secondary);color:var(--text-tertiary)}.metrics-card{grid-column:span 2}@media (max-width: 1024px){.metrics-card{grid-column:span 1}}.resource-meters{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}@media (max-width: 768px){.resource-meters{grid-template-columns:1fr}}.resource-meter .resource-header{display:flex;justify-content:space-between;margin-bottom:8px}.resource-meter .resource-header .resource-label{font-size:12px;color:var(--text-secondary)}.resource-meter .resource-header .resource-value{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;color:var(--text-primary)}.resource-meter .resource-bar{height:8px;background:var(--bg-secondary);border-radius:9999px;overflow:hidden}.resource-meter .resource-bar .resource-fill{height:100%;border-radius:9999px;transition:width .2s ease}.offline-card{grid-column:span 2}@media (max-width: 1024px){.offline-card{grid-column:span 1}}.offline-message{text-align:center;padding:24px}.offline-message svg{color:var(--text-tertiary);margin-bottom:16px}.offline-message h4{font-size:18px;color:var(--text-primary);margin:0 0 8px}.offline-message p{color:var(--text-secondary);margin:0}.offline-notice{text-align:center;padding:48px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px}.offline-notice svg{color:var(--text-tertiary);margin-bottom:16px}.offline-notice h4{font-size:18px;color:var(--text-primary);margin:0 0 8px}.offline-notice p{color:var(--text-secondary);margin:0}.docker-tab{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;overflow:hidden}.docker-sub-tabs{display:flex;border-bottom:1px solid var(--border-subtle);padding:0 16px}.sub-tab{background:transparent;border:none;color:var(--text-tertiary);font-size:12px;padding:16px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.sub-tab:hover{color:var(--text-primary)}.sub-tab.active{color:var(--text-primary);border-bottom-color:var(--accent-primary)}.containers-list,.images-list{padding:16px}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;font-size:10px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;padding:12px;border-bottom:1px solid var(--border-subtle)}.data-table td{padding:12px;font-size:12px;color:var(--text-secondary);border-bottom:1px solid var(--border-subtle)}.data-table tr:last-child td{border-bottom:none}.data-table .container-name{display:block;color:var(--text-primary);font-weight:500}.data-table .container-id{display:block;font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:10px;color:var(--text-tertiary)}.data-table .mono{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:10px}.status-pill{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:4px;font-size:10px;font-weight:500}.status-pill.running{background:#10b9811a;color:#10b981}.status-pill.stopped{background:var(--bg-secondary);color:var(--text-tertiary)}.actions-cell{display:flex;gap:4px;justify-content:flex-end}.btn-icon{background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;padding:8px;border-radius:4px;display:flex;align-items:center;justify-content:center}.btn-icon:hover{color:var(--text-primary);background:var(--bg-hover)}.btn-icon.success{color:#10b981}.btn-icon.success:hover{background:#10b9811a}.btn-icon.danger{color:#ef4444}.btn-icon.danger:hover{background:#ef44441a}.empty-list{text-align:center;padding:32px;color:var(--text-tertiary)}.metrics-tab{padding:0}.metrics-live-stats{margin-top:24px}.live-stat-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;padding:20px}.live-stat-card h4{font-size:10px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 16px}.live-stats-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}@media (max-width: 1024px){.live-stats-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 640px){.live-stats-grid{grid-template-columns:repeat(2,1fr)}}.live-stat{text-align:center}.live-stat .live-stat-label{display:block;font-size:10px;color:var(--text-tertiary);margin-bottom:4px}.live-stat .live-stat-value{display:block;font-size:16px;font-weight:600;font-family:JetBrains Mono,Fira Code,Monaco,monospace;color:var(--text-primary)}.metrics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}@media (max-width: 1024px){.metrics-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.metrics-grid{grid-template-columns:1fr}}.metric-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;padding:20px}.metric-card.large{display:flex;flex-direction:column;align-items:center}.metric-card h3{font-size:12px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 16px;text-align:center}.metric-gauge{display:flex;justify-content:center;margin-bottom:16px}.circular-gauge{width:120px;height:120px}.circular-gauge .gauge-bg{fill:none;stroke:var(--bg-secondary);stroke-width:8}.circular-gauge .gauge-fill{fill:none;stroke-width:8;stroke-linecap:round;transform:rotate(-90deg);transform-origin:center}.circular-gauge .gauge-text{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:20px;font-weight:700;fill:var(--text-primary);text-anchor:middle;dominant-baseline:middle}.metric-details{width:100%}.detail-item{display:flex;justify-content:space-between;padding:8px 0;font-size:12px;border-top:1px solid var(--border-subtle)}.detail-item:first-child{border-top:none}.detail-item span:first-child{color:var(--text-tertiary)}.detail-item span:last-child{color:var(--text-primary);font-family:JetBrains Mono,Fira Code,Monaco,monospace}.network-stats,.docker-stats{display:flex;flex-direction:column;gap:16px}.net-stat,.docker-stat{display:flex;align-items:center;gap:12px}.net-stat svg,.docker-stat svg{color:var(--text-tertiary)}.net-stat span:first-of-type,.docker-stat span:first-of-type{color:var(--text-tertiary);font-size:12px;flex:1}.net-stat .value,.docker-stat .value{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;color:var(--text-primary)}.settings-tab{max-width:none}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px;align-items:start}@media (max-width: 1024px){.settings-grid{grid-template-columns:1fr}}.settings-grid .form-section{margin-bottom:0}.settings-form{margin-bottom:0;background:transparent;border:none;border-radius:0;padding:0}.settings-form .form-section .btn[type=submit]{margin-top:16px}.security-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px;align-items:start}@media (max-width: 1024px){.security-grid{grid-template-columns:1fr}}.security-grid .form-section{margin-bottom:0}.security-info-bar{display:flex;gap:24px;padding:16px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:8px;margin-bottom:20px}.security-info-item .security-info-label{display:block;font-size:10px;color:var(--text-tertiary);margin-bottom:4px}.security-info-item .security-info-value{font-size:12px;color:var(--text-primary)}.security-info-item .security-info-value code{font-family:JetBrains Mono,Fira Code,Monaco,monospace;background:var(--bg-body);padding:2px 8px;border-radius:4px;font-size:10px}.subsection h4{font-size:12px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.ip-list{margin-bottom:12px}.ip-empty{font-size:12px;color:var(--text-tertiary);padding:16px;text-align:center;background:var(--bg-elevated);border:1px dashed var(--border-subtle);border-radius:6px}.ip-item{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:6px;margin-bottom:8px}.ip-item code{flex:1;font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;color:var(--text-primary)}.ip-item .badge-success{font-size:10px;padding:2px 8px;background:#10b9811a;color:#10b981;border-radius:4px}.ip-add-form{display:flex;gap:8px}.ip-add-form input{flex:1;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:6px;padding:8px 12px;color:var(--text-primary);font-size:12px}.ip-add-form input::-moz-placeholder{color:var(--text-tertiary)}.ip-add-form input::placeholder{color:var(--text-tertiary)}.ip-add-form input:focus{border-color:var(--accent-primary);outline:none}.security-warning{margin-top:12px;padding:12px 16px;background:#f59e0b1a;border:1px solid rgba(245,158,11,.25);border-radius:6px;font-size:10px;color:#f59e0b}.security-notice{margin-top:12px;font-size:10px;color:var(--text-tertiary)}.key-rotation-actions{display:flex;align-items:center;gap:16px}.key-rotation-hint{font-size:10px;color:var(--text-tertiary)}.alerts-list{display:flex;flex-direction:column;gap:12px}.alert-item{padding:16px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:8px;border-left:3px solid var(--text-tertiary)}.alert-item.severity-critical{border-left-color:#ef4444}.alert-item.severity-high{border-left-color:#f59e0b}.alert-item.severity-medium{border-left-color:var(--accent-primary)}.alert-item.severity-low{border-left-color:var(--text-tertiary)}.alert-item-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.alert-item-header .alert-type{flex:1;font-size:12px;font-weight:500;color:var(--text-primary);text-transform:capitalize}.alert-item-header .alert-time{font-size:10px;color:var(--text-tertiary)}.severity-badge{font-size:10px;font-weight:600;text-transform:uppercase;padding:2px 8px;border-radius:4px}.severity-badge.critical{background:#ef444426;color:#ef4444}.severity-badge.high{background:#f59e0b26;color:#f59e0b}.severity-badge.medium{background:#6366f126;color:var(--accent-primary)}.severity-badge.low{background:var(--bg-hover);color:var(--text-tertiary)}.alert-item-details{display:flex;gap:16px;font-size:10px;color:var(--text-secondary);margin-bottom:12px}.alert-item-actions{display:flex;gap:8px}.form-section{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;padding:24px;margin-bottom:24px}.form-section h3{font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 16px}.form-section .section-description{color:var(--text-secondary);font-size:12px;margin-bottom:16px}.form-section.danger-zone{border-color:#ef444433}.form-section.danger-zone h3{color:#ef4444}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media (max-width: 640px){.form-row{grid-template-columns:1fr}}.token-status{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary);margin-bottom:20px}.token-status-dot{width:8px;height:8px;border-radius:9999px;flex-shrink:0}.token-status-dot.active{background:#10b981;box-shadow:0 0 6px #10b98166}.install-active{display:flex;flex-direction:column;gap:16px}.install-script-block{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:8px;overflow:hidden}.install-script-header{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-hover);border-bottom:1px solid var(--border-subtle)}.install-script-header>svg{color:var(--text-tertiary);flex-shrink:0}.install-script-header>span{flex:1;font-size:12px;font-weight:500;color:var(--text-primary)}.install-script-code{padding:16px 20px;margin:0;font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:10px;line-height:1.6;color:var(--text-secondary);background:var(--bg-body);overflow-x:auto;white-space:pre-wrap;word-break:break-all}.install-inactive .section-description{margin-bottom:16px}.permissions-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}@media (max-width: 640px){.permissions-grid{grid-template-columns:1fr}}.permission-checkbox{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary);cursor:pointer}.permission-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent-primary)}.permission-checkbox:hover{color:var(--text-primary)}.install-instructions{padding:24px}.success-banner{display:flex;align-items:flex-start;gap:16px;background:#10b9811a;border:1px solid rgba(16,185,129,.2);color:#10b981;padding:20px;border-radius:8px;margin-bottom:24px}.success-banner svg{flex-shrink:0;width:22px;height:22px;margin-top:1px}.success-banner strong{display:block;font-size:12px;font-weight:600;margin-bottom:4px}.success-banner .success-subtitle{font-size:10px;color:var(--text-secondary);margin:0;line-height:1.5}.install-tabs{display:flex;flex-direction:column;gap:16px}.install-tab{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:8px;overflow:hidden}.install-tab-header{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-hover);border-bottom:1px solid var(--border-subtle)}.install-tab-header>svg{color:var(--text-tertiary);flex-shrink:0}.install-tab-title{flex:1;min-width:0}.install-tab-title>span:first-child{display:block;font-size:12px;font-weight:500;color:var(--text-primary)}.install-tab-description{display:block;font-size:10px;color:var(--text-tertiary);font-weight:400;margin-top:1px}.install-script{padding:16px 20px;margin:0;font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:10px;line-height:1.6;color:var(--text-secondary);background:var(--bg-body);overflow-x:auto;white-space:pre-wrap;word-break:break-all}.install-info{margin-top:24px;padding:20px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:8px}.install-info h4{font-size:12px;font-weight:600;color:var(--text-primary);margin:0 0 12px}.install-info ol{margin:0 0 16px;padding-left:20px;color:var(--text-secondary);font-size:12px;line-height:1.6}.install-info li{margin-bottom:8px}.install-info .text-muted{color:var(--text-tertiary);font-size:10px}.group-form{display:flex;gap:12px;margin-bottom:20px}.group-form input{flex:1;padding:8px 40px;border:1px solid var(--border-subtle);border-radius:8px;background:var(--bg-card);color:var(--text-primary);font-size:12px;height:34px}.group-form input::-moz-placeholder{color:var(--text-tertiary)}.group-form input::placeholder{color:var(--text-tertiary)}.group-form input:focus{outline:none;border-color:var(--accent-primary)}.groups-list{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto}.group-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:6px}.group-item input{flex:1;background:var(--bg-card);border:1px solid var(--accent-primary);border-radius:4px;padding:8px;color:var(--text-primary);font-size:12px}.group-item input:focus{outline:none}.group-item .group-name{flex:1;display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-primary)}.group-item .group-name svg{color:var(--text-tertiary)}.group-item .group-count{font-size:10px;color:var(--text-tertiary)}.group-item .group-actions{display:flex;gap:4px}.empty-groups{text-align:center;padding:24px;color:var(--text-tertiary);font-size:12px}.downloads-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.downloads-page .page-header .page-header-content h1{margin-bottom:8px}.downloads-page .page-header .page-header-content .page-subtitle{color:var(--text-secondary);font-size:14px;max-width:600px}.downloads-page .loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;color:var(--text-secondary)}.downloads-page .loading-container .loading-spinner{width:40px;height:40px;border:3px solid var(--border-default);border-top-color:var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.downloads-page .alert-error{background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:8px;padding:16px;margin-bottom:24px;display:flex;align-items:center;justify-content:space-between}.downloads-page .alert-error p{color:#ef4444;margin:0}.downloads-page .alert-error button{background:transparent;border:1px solid #ef4444;color:#ef4444;padding:8px 16px;border-radius:6px;cursor:pointer;transition:all .2s}.downloads-page .alert-error button:hover{background:#ef4444;color:#f4f4f5}.downloads-page .version-banner{background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-hover) 100%);border-radius:8px;padding:24px 32px;margin-bottom:32px;display:flex;justify-content:space-between;align-items:center;color:#f4f4f5}@media (max-width: 768px){.downloads-page .version-banner{flex-direction:column;align-items:flex-start;gap:16px;padding:20px}}.downloads-page .version-banner .version-info{display:flex;flex-direction:column;gap:4px}.downloads-page .version-banner .version-info .version-label{font-size:12px;opacity:.8;text-transform:uppercase;letter-spacing:.5px}.downloads-page .version-banner .version-info .version-number{font-size:30px;font-weight:700}.downloads-page .version-banner .version-info .version-date{font-size:12px;opacity:.75}.downloads-page .version-banner .version-actions{display:flex;align-items:center;gap:12px}.downloads-page .version-banner .btn-banner-outline{background:transparent;border:1px solid rgba(255,255,255,.4);color:#f4f4f5;padding:8px 16px;border-radius:6px;font-size:12px;cursor:pointer;transition:all .2s}.downloads-page .version-banner .btn-banner-outline:hover{background:#ffffff1a;border-color:#ffffffb3}.downloads-page .version-banner .btn-banner-primary{background:#f4f4f5;color:var(--accent-primary);border:none;padding:8px 20px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s}.downloads-page .version-banner .btn-banner-primary svg{width:16px;height:16px}.downloads-page .version-banner .btn-banner-primary:hover{background:#ffffffe6;transform:translateY(-1px)}.downloads-page .downloads-section{margin-bottom:40px}.downloads-page .downloads-section h2{font-size:20px;font-weight:600;margin-bottom:8px}.downloads-page .downloads-section .section-description{color:var(--text-secondary);margin-bottom:24px}.downloads-page .downloads-section .section-description code{background:var(--bg-secondary);padding:4px 8px;border-radius:4px;font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px}.downloads-page .download-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.downloads-page .download-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:8px;padding:24px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;transition:all .2s}.downloads-page .download-card:hover{border-color:var(--accent-primary);box-shadow:0 0 0 1px var(--accent-primary)}.downloads-page .download-card.unavailable{opacity:.5}.downloads-page .download-card.unavailable:hover{border-color:var(--border-default);box-shadow:none}.downloads-page .download-card .platform-icon-wrapper{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);border-radius:8px;margin-bottom:4px}.downloads-page .download-card .platform-icon-wrapper .platform-icon{width:32px;height:32px;color:var(--text-primary)}.downloads-page .download-card .platform-info h3{font-size:18px;font-weight:600;margin:0 0 4px}.downloads-page .download-card .platform-info .platform-arch{font-size:12px;color:var(--text-secondary)}.downloads-page .download-card .download-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:auto}.downloads-page .download-card .download-btn svg{width:18px;height:18px}.downloads-page .install-commands{display:flex;flex-direction:column;gap:16px}.downloads-page .command-block{background:var(--bg-card);border:1px solid var(--border-default);border-radius:8px;overflow:hidden}.downloads-page .command-block .command-header{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--border-default);background:var(--bg-elevated)}.downloads-page .command-block .command-header .platform-icon{width:24px;height:24px;color:var(--text-primary)}.downloads-page .command-block .command-header h3{font-size:14px;font-weight:600;margin:0}.downloads-page .command-block .command-content{position:relative;padding:16px;background:var(--bg-body)}.downloads-page .command-block .command-content pre{margin:0;padding:0;background:transparent;overflow-x:auto}.downloads-page .command-block .command-content pre code{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;color:var(--text-primary);white-space:pre-wrap;word-break:break-all}.downloads-page .command-block .command-content .copy-btn{position:absolute;top:12px;right:12px;background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:6px;padding:8px;cursor:pointer;color:var(--text-secondary);transition:all .2s}.downloads-page .command-block .command-content .copy-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--accent-primary)}.downloads-page .command-block .command-content .copy-btn svg{width:16px;height:16px}.downloads-page .command-block .command-note{padding:12px 16px;background:#f59e0b1a;color:#f59e0b;font-size:12px;margin:0;border-top:1px solid rgba(245,158,11,.2)}.downloads-page .manual-steps{display:flex;flex-direction:column;gap:16px}.downloads-page .step{display:flex;gap:16px;padding:16px;background:var(--bg-card);border:1px solid var(--border-default);border-radius:8px}.downloads-page .step .step-number{flex-shrink:0;width:32px;height:32px;background:var(--accent-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:12px;color:#f4f4f5}.downloads-page .step .step-content{flex:1}.downloads-page .step .step-content h4{font-size:14px;font-weight:600;margin:0 0 8px}.downloads-page .step .step-content p{color:var(--text-secondary);margin:0 0 8px;font-size:12px}.downloads-page .step .step-content p:last-child{margin-bottom:0}.downloads-page .step .step-content p code{background:var(--bg-secondary);padding:4px 8px;border-radius:4px;font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:10px;color:var(--text-primary)}.downloads-page .step .step-content pre{background:var(--bg-body);padding:12px;border-radius:6px;margin:8px 0;overflow-x:auto}.downloads-page .step .step-content pre code{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;color:var(--text-primary);background:transparent;padding:0}.downloads-page .step .step-content .step-note{color:var(--text-tertiary);font-size:10px;font-style:italic}.downloads-page .verification-command{margin-top:16px}.downloads-page .verification-command pre{background:var(--bg-card);border:1px solid var(--border-default);padding:16px;border-radius:8px;margin:0}.downloads-page .verification-command pre code{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;color:var(--text-primary)}.wp-resource-bar{margin-left:auto;display:flex;align-items:stretch;gap:4px;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:8px;padding:8px 12px;flex-shrink:0}.wp-resource-stat{display:flex;flex-direction:column;gap:5px;padding:8px 12px;min-width:90px;border-right:1px solid var(--border-subtle)}.wp-resource-stat:last-child{border-right:none}.wp-resource-stat__label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary)}.wp-resource-stat__track{height:4px;background:var(--border-subtle);border-radius:2px;overflow:hidden}.wp-resource-stat__fill{height:100%;border-radius:2px;transition:width .4s ease}.wp-resource-stat__fill--cpu{background:var(--accent-primary)}.wp-resource-stat__fill--ram{background:#a855f7}.wp-resource-stat__value{font-size:10px;font-weight:500;color:var(--text-primary);display:flex;align-items:baseline;gap:3px;white-space:nowrap}.wp-resource-stat__max{font-size:10px;color:var(--text-tertiary);font-weight:400}.wordpress-standalone-page .empty-state-large .empty-icon svg{stroke:#21759b}.wordpress-standalone-page .status-card.success{border-left-color:#10b981}.wordpress-standalone-page .status-card.success .status-icon{color:#10b981}.wordpress-standalone-page .status-card.danger{border-left-color:#ef4444}.wordpress-standalone-page .status-card.danger .status-icon{color:#ef4444}.wp-plan-limit-alert{display:flex;gap:12px;padding:16px;background:#ef444414;border:1px solid rgba(239,68,68,.25);border-radius:6px;margin-bottom:16px}.wp-plan-limit-alert>svg{flex-shrink:0;color:#ef4444;margin-top:2px}.wp-plan-limit-alert strong{display:block;margin-bottom:4px;color:#ef4444}.wp-plan-limit-alert p{margin:0 0 8px;font-size:12px;color:var(--text-secondary)}.wp-plan-limit-alert__link{font-size:12px;color:var(--accent-primary);font-weight:500;text-decoration:none}.wp-plan-limit-alert__link:hover{text-decoration:underline}.wordpress-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;padding:16px 16px 0;flex-wrap:wrap;gap:16px}.wordpress-page .page-header .page-header-content h1{font-size:24px;font-weight:600;margin:0 0 4px}.wordpress-page .page-header .page-header-content .page-description{color:var(--text-secondary);margin:0}.wordpress-page .page-header .page-header-actions{display:flex;gap:8px}.wordpress-page .empty-state-large{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;background:var(--bg-card);border-radius:12px;text-align:center;margin:0 16px}.wordpress-page .empty-state-large .empty-icon{color:var(--text-tertiary);margin-bottom:24px}.wordpress-page .empty-state-large .empty-icon svg{stroke:#21759b}.wordpress-page .empty-state-large h2{margin:0 0 12px;font-size:24px;font-weight:600}.wordpress-page .empty-state-large p{margin:0 0 24px;color:var(--text-secondary);max-width:460px}.wordpress-page .install-warning{display:flex;gap:12px;padding:16px;background:#f59e0b14;border:1px solid rgba(245,158,11,.2);border-radius:6px;margin-bottom:16px}.wordpress-page .install-warning>svg{flex-shrink:0;color:#f59e0b;margin-top:2px}.wordpress-page .install-warning strong{display:block;margin-bottom:8px}.wordpress-page .install-warning ul{margin:0;padding-left:16px;color:var(--text-secondary);font-size:12px}.wordpress-page .install-warning ul li{margin-bottom:4px}.wordpress-page .form-hint{display:block;font-size:10px;color:var(--text-tertiary);margin-top:4px}.wordpress-page .docker-empty .wp-empty-icon{color:var(--text-tertiary);margin-bottom:16px}.wordpress-page .docker-empty .wp-empty-icon svg{stroke:currentColor}.view-toggle-group{display:flex;border:1px solid var(--border-subtle);border-radius:6px;overflow:hidden}.view-toggle-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;transition:background .15s ease,color .15s ease}.view-toggle-btn:hover,.view-toggle-btn.active{background:var(--bg-hover);color:var(--text-primary)}.wp-sites-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;padding:16px}.wp-sites-table-wrap{padding:16px}.wp-sites-table{width:100%;border-collapse:collapse;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;overflow:hidden}.wp-sites-table thead tr{background:var(--bg-hover)}.wp-sites-table th{padding:12px 16px;text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);border-bottom:1px solid var(--border-subtle)}.wp-sites-table td{padding:12px 16px;border-bottom:1px solid var(--border-subtle);font-size:13px;color:var(--text-primary);vertical-align:middle}.wp-sites-table__row{cursor:pointer;transition:background .1s ease}.wp-sites-table__row:hover{background:var(--bg-hover)}.wp-sites-table__row:last-child td{border-bottom:none}.wp-sites-table__cell--name{min-width:200px}.wp-sites-table__cell--actions{white-space:nowrap}.wp-sites-table__cell--actions .wp-site-link{margin-right:8px}.wp-table-site-name{font-weight:500;color:var(--text-primary)}.wp-table-site-url{font-size:12px;color:var(--text-secondary);margin-top:2px}.wp-site-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;cursor:pointer;transition:all .15s ease}.wp-site-card:hover{border-color:var(--border-hover);box-shadow:0 4px 12px #00000014}.wp-site-card-header{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--border-subtle)}.wp-site-icon{width:40px;height:40px;background:linear-gradient(135deg,#21759b,#1a5f7f);border-radius:6px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.wp-site-info{flex:1;min-width:0}.wp-site-name{font-size:14px;font-weight:600;color:var(--text-primary);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wp-site-url{font-size:10px;color:var(--text-tertiary);font-family:JetBrains Mono,Fira Code,Monaco,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.wp-site-status{display:flex;align-items:center;gap:6px;font-size:10px;padding:4px 10px;border-radius:9999px;font-weight:500}.wp-site-status .status-dot{width:6px;height:6px;border-radius:50%}.wp-site-status.running{background:#10b9811f;color:#10b981}.wp-site-status.running .status-dot{background:#10b981}.wp-site-status.stopped{background:#71717a1f;color:var(--text-tertiary)}.wp-site-status.stopped .status-dot{background:var(--text-tertiary)}.wp-site-card-body{padding:16px}.wp-site-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.wp-site-meta-item .meta-label{display:block;font-size:10px;color:var(--text-tertiary);margin-bottom:2px}.wp-site-meta-item .meta-value{font-size:12px;color:var(--text-primary);font-weight:500}.wp-site-meta-item .meta-value.git-connected{color:#10b981}.wp-site-badge{display:inline-block;font-size:10px;font-weight:500;padding:2px 8px;border-radius:4px;margin-top:12px}.wp-site-badge.production{background:#ef44441f;color:#ef4444}.wp-site-badge.development{background:#22d3ee1f;color:#22d3ee}.wp-site-card-links{display:flex;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border-subtle)}.wp-site-link{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:500;color:var(--accent-primary);text-decoration:none;background:none;border:none;padding:0;cursor:pointer;font-family:inherit}.wp-site-link:hover{text-decoration:underline}.wp-site-link:disabled{opacity:.5;cursor:not-allowed}.wp-site-card-footer{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--border-subtle);background:var(--bg-tertiary);border-radius:0 0 8px 8px}.wp-site-card-footer .btn{flex:1;justify-content:center}.wp-site-card-footer .btn.btn-danger{flex:0;color:#ef4444}.wp-site-card-footer .btn.btn-danger:hover{background:#ef44441a}.app-info-label{display:block;font-size:10px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.app-info-value{font-size:12px;color:var(--text-primary);font-weight:500;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;word-break:break-all}.app-info-value.mono{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:400}.app-info-value a{color:var(--accent-primary);text-decoration:none}.app-info-value a:hover{text-decoration:underline}.app-info-hint{font-size:12px;color:var(--text-secondary);margin:0 0 8px;line-height:1.5}.app-info-hint strong{color:var(--text-primary)}.app-info-hint a{color:var(--accent-primary);text-decoration:none}.app-info-hint a:hover{text-decoration:underline}.app-info-item.full-width{grid-column:1/-1}.app-overview-left>.app-panel+.app-panel,.app-overview-right>.app-panel+.app-panel{margin-top:16px}.database-tab>.app-panel+.app-panel{margin-top:16px}.database-tab .section-header{display:flex;align-items:center;justify-content:space-between;margin-top:24px;margin-bottom:12px}.database-tab .section-header h3{font-size:14px;font-weight:600;color:var(--text-primary);margin:0}.snapshot-empty{padding:32px;text-align:center;color:var(--text-tertiary);font-size:12px}.env-domain-preview{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:6px;font-size:10px}.env-domain-preview .env-domain-preview__label{color:var(--text-tertiary);flex-shrink:0}.env-domain-preview .env-domain-preview__url{font-family:JetBrains Mono,Fira Code,Monaco,monospace;color:var(--accent-primary);word-break:break-all}.env-clone-option{display:flex;align-items:flex-start;gap:12px;padding:12px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px;cursor:pointer;transition:background .15s,border-color .15s}.env-clone-option:hover{background:var(--bg-hover);border-color:var(--border-default)}.env-clone-option input[type=checkbox]{flex-shrink:0;margin-top:2px;accent-color:var(--accent-primary)}.env-clone-option .env-clone-option__title{font-size:12px;font-weight:500;color:var(--text-primary);margin:0 0 2px}.env-clone-option .env-clone-option__desc{font-size:10px;color:var(--text-tertiary);margin:0}.billing-suspension-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:6px;margin-bottom:20px;font-size:12px;color:var(--text-secondary)}.billing-suspension-banner svg{color:#ef4444;flex-shrink:0}.billing-suspension-banner span{flex:1}.wp-detail-page .wp-icon{background:linear-gradient(135deg,#21759b,#1a5f7f)!important}.wp-detail-page .app-detail-url{font-size:10px;color:var(--text-tertiary);margin-top:3px}.environments-tab-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}.environments-tab-header .environments-tab-title{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 4px}.environments-tab-header .environments-tab-desc{font-size:12px;color:var(--text-tertiary);margin:0}.environments-pipeline{display:flex;flex-direction:row;gap:16px;align-items:stretch;flex-wrap:wrap}.env-pipeline-card{flex:1;min-width:220px;max-width:320px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;display:flex;flex-direction:column;overflow:hidden;transition:border-color .15s,box-shadow .15s}.env-pipeline-card:hover{border-color:var(--border-default);box-shadow:0 2px 8px #00000014}.env-pipeline-card.production{border-top:3px solid #ef4444}.env-pipeline-card.staging{border-top:3px solid #f59e0b}.env-pipeline-card.development{border-top:3px solid #22d3ee}.env-pipeline-card .env-pipeline-card-top{display:flex;align-items:center;justify-content:space-between;padding:12px 16px 0}.env-pipeline-card .env-pipeline-card-body{padding:12px 16px 16px;flex:1;display:flex;flex-direction:column;gap:8px}.env-pipeline-card .env-pipeline-card-actions{display:flex;gap:8px;padding:8px 12px;border-top:1px solid var(--border-subtle);background:var(--bg-tertiary)}.env-type-badge{font-size:10px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;padding:2px 8px;border-radius:4px}.env-type-badge.env-production{background:#ef44441f;color:#ef4444}.env-type-badge.env-staging{background:#f59e0b1f;color:#f59e0b}.env-type-badge.env-development{background:#22d3ee1f;color:#22d3ee}.env-run-dot{display:flex;align-items:center;gap:5px;font-size:10px}.env-run-dot .dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.env-run-dot.running{color:#10b981}.env-run-dot.running .dot{background:#10b981}.env-run-dot.stopped{color:var(--text-tertiary)}.env-run-dot.stopped .dot{background:var(--text-tertiary)}.env-pipeline-name{font-size:14px;font-weight:600;color:var(--text-primary);margin-top:4px}.env-pipeline-url{font-size:10px;color:var(--accent-primary);font-family:JetBrains Mono,Fira Code,Monaco,monospace;word-break:break-all}.env-pipeline-url:hover{text-decoration:underline}.env-pipeline-meta{display:flex;gap:8px;align-items:center;font-size:10px}.env-pipeline-meta .meta-label{color:var(--text-tertiary);font-weight:500;min-width:48px}.env-pipeline-meta .meta-value{color:var(--text-secondary)}.env-pipeline-meta .meta-value.mono{font-family:JetBrains Mono,Fira Code,Monaco,monospace}.env-pipeline-add{flex:0 0 auto;min-width:140px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px 16px;background:transparent;border:2px dashed var(--border-subtle);border-radius:8px;color:var(--text-tertiary);cursor:pointer;font-size:12px;transition:border-color .15s,color .15s}.env-pipeline-add:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.environments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-top:16px}.wp-env-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px}.wp-env-card.production{border-color:#ef44444d;border-left:3px solid #ef4444}.wp-env-card.stale{border-color:#f59e0b66;background:#f59e0b08}.wp-env-status-group{display:flex;align-items:center;gap:8px}.wp-env-stale-badge{display:flex;align-items:center;gap:4px;font-size:10px;font-weight:500;padding:2px 8px;border-radius:4px;background:#f59e0b26;color:#f59e0b}.wp-env-stale-badge svg{flex-shrink:0}.text-warning{color:#f59e0b!important}.wp-env-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid var(--border-subtle)}.wp-env-info{display:flex;align-items:center;gap:12px}.wp-env-badge{font-size:10px;font-weight:700;padding:2px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.wp-env-badge.env-production{background:#ef44441f;color:#ef4444}.wp-env-badge.env-staging{background:#f59e0b1f;color:#f59e0b}.wp-env-badge.env-development{background:#22d3ee1f;color:#22d3ee}.wp-env-name{font-size:14px;font-weight:600;color:var(--text-primary);margin:0}.wp-env-status{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:500}.wp-env-status .status-dot{width:6px;height:6px;border-radius:50%}.wp-env-status.running{color:#10b981}.wp-env-status.running .status-dot{background:#10b981}.wp-env-status.stopped{color:var(--text-tertiary)}.wp-env-status.stopped .status-dot{background:var(--text-tertiary)}.wp-env-body{padding:16px}.wp-env-url{margin-bottom:12px}.wp-env-url a{font-size:12px;color:var(--accent-primary);font-family:JetBrains Mono,Fira Code,Monaco,monospace}.wp-env-url a:hover{text-decoration:underline}.wp-env-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.wp-env-meta-item .meta-label{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--text-tertiary);margin-bottom:2px}.wp-env-meta-item .meta-value{font-size:12px;color:var(--text-primary)}.wp-env-meta-item .meta-value.mono{font-family:JetBrains Mono,Fira Code,Monaco,monospace}.wp-env-footer{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--border-subtle);background:var(--bg-tertiary);border-radius:0 0 8px 8px}.wp-snapshot-table .snapshot-name-cell{display:flex;flex-direction:column;gap:2px}.wp-snapshot-table .snapshot-name{font-weight:500;color:var(--text-primary)}.wp-snapshot-table .snapshot-tag{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:#22d3ee;background:#22d3ee1a;padding:2px 6px;border-radius:4px;width:-moz-fit-content;width:fit-content}.wp-snapshot-table .snapshot-desc{font-size:10px;color:var(--text-tertiary)}.wp-snapshot-table .compressed-badge{display:inline-block;font-size:10px;background:#10b9811a;color:#10b981;padding:1px 4px;border-radius:3px;margin-left:8px}.wp-snapshot-table .git-context{display:flex;align-items:center;gap:6px;color:var(--text-secondary)}.wp-snapshot-table .git-context svg{color:var(--text-tertiary)}.wp-snapshot-table .git-context .commit-msg{font-size:10px;color:var(--text-tertiary);margin-left:8px}.git-connect-form{max-width:600px}.git-connect-form h4{margin:0 0 8px}.git-connect-form .hint{color:var(--text-tertiary);margin-bottom:16px}.git-connected-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;padding:20px;max-width:600px}.git-connected-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:16px}.git-connected-header>svg{color:#10b981;flex-shrink:0}.git-connected-header h4{margin:0 0 4px;font-size:14px}.git-repo-url{font-size:12px;font-family:JetBrains Mono,Fira Code,Monaco,monospace;color:var(--text-secondary)}.git-repo-url:hover{color:var(--accent-primary)}.git-connected-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:16px;background:var(--bg-tertiary);border-radius:6px;margin-bottom:16px}.git-meta-item .meta-label{display:block;font-size:10px;color:var(--text-tertiary);margin-bottom:2px}.git-meta-item .meta-value{font-size:12px;color:var(--text-primary)}.git-meta-item .meta-value.mono{font-family:JetBrains Mono,Fira Code,Monaco,monospace}.git-connected-actions{display:flex;justify-content:flex-end}.commit-list{display:flex;flex-direction:column;gap:4px;max-width:800px}.commit-item{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px;transition:all .15s ease}.commit-item:hover{border-color:var(--border-hover)}.commit-item.current{border-color:#10b98166;background:#10b9810a}.commit-icon{color:var(--text-tertiary);margin-top:2px}.commit-icon .current-icon{color:#10b981}.commit-info{flex:1;min-width:0}.commit-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.commit-sha{font-size:12px;font-weight:500;color:var(--text-secondary)}.current-badge{font-size:10px;background:#10b981;color:#fff;padding:1px 6px;border-radius:4px}.commit-date{font-size:10px;color:var(--text-tertiary);margin-left:auto}.commit-message{font-size:12px;color:var(--text-primary);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.commit-author{font-size:10px;color:var(--text-tertiary)}.commit-actions{display:flex;gap:8px;flex-shrink:0}.commit-message-preview{font-style:italic;color:var(--text-secondary);padding:12px;background:var(--bg-tertiary);border-radius:6px;margin:12px 0}.git-commits-section{margin-top:24px;padding-top:24px;border-top:1px solid var(--border-subtle)}.quick-actions-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.quick-action-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-secondary);font-size:12px;font-weight:500;text-decoration:none;transition:all .15s ease}.quick-action-btn:hover{background:var(--bg-hover);border-color:var(--border-hover);color:var(--text-primary)}.quick-action-btn--danger{color:#ef4444;border-color:#ef44444d;background:#ef44440f}.quick-action-btn--danger:hover{background:#ef444424;border-color:#ef444480;color:#ef4444}.quick-action-btn--warning{color:#f59e0b;border-color:#f59e0b4d;background:#f59e0b0f}.quick-action-btn--warning:hover{background:#f59e0b24;border-color:#f59e0b80;color:#f59e0b}.wp-suspended-notice{display:flex;align-items:flex-start;gap:8px;padding:12px 16px;background:#f59e0b14;border:1px solid rgba(245,158,11,.2);border-radius:6px;margin-top:16px;margin-bottom:20px;font-size:12px;color:var(--text-secondary);line-height:1.5}.wp-suspended-notice svg{flex-shrink:0;margin-top:2px;color:#f59e0b}.wp-suspended-notice strong{color:var(--text-primary)}.backups-tab{display:flex;flex-direction:column;gap:20px}.backup-section{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;overflow:hidden}.backup-section-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:1px solid var(--border-subtle);background:var(--bg-elevated)}.backup-section-header__info{display:flex;align-items:flex-start;gap:12px;min-width:0}.backup-section-header__icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;min-width:34px;background:#6366f11f;border-radius:6px;color:var(--accent-primary)}.backup-section-header__icon--schedule{background:#f59e0b1f;color:#f59e0b}.backup-section-header__title{font-size:12px;font-weight:600;color:var(--text-primary);margin:0 0 2px}.backup-section-header__desc{font-size:10px;color:var(--text-tertiary);margin:0;line-height:1.4}.backup-list{display:flex;flex-direction:column}.backup-item{display:flex;align-items:center;gap:12px;padding:12px 20px;border-bottom:1px solid var(--border-subtle);transition:background .15s ease}.backup-item:last-child{border-bottom:none}.backup-item:hover{background:var(--bg-hover)}.backup-item__icon{display:flex;align-items:center;justify-content:center;width:30px;height:30px;min-width:30px;background:var(--bg-tertiary);border-radius:6px;color:var(--text-tertiary)}.backup-item__info{flex:1;min-width:0}.backup-item__name-row{display:flex;align-items:center;gap:8px;margin-bottom:2px;min-width:0}.backup-item__name{display:block;font-size:12px;font-weight:500;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.backup-item__badge{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:999px;font-size:10px;font-weight:500;white-space:nowrap;flex-shrink:0}.backup-item__badge--scheduled{background:#6366f11f;color:var(--accent-primary)}.backup-item__meta{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--text-tertiary)}.backup-item__meta svg{opacity:.6}.backup-item__size{font-family:JetBrains Mono,Fira Code,Monaco,monospace;background:var(--bg-tertiary);padding:1px 6px;border-radius:4px}.backup-item__sep{color:var(--border-subtle);margin:0 4px}.backup-item__actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.backup-action-btn{display:flex;align-items:center;gap:4px;padding:4px 8px;background:transparent;border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-secondary);font-size:10px;font-weight:500;cursor:pointer;transition:all .15s ease;white-space:nowrap}.backup-action-btn:hover{background:var(--bg-hover);border-color:var(--border-active);color:var(--text-primary)}.backup-action-btn:disabled{opacity:.5;cursor:not-allowed}.backup-action-btn--danger{color:#ef4444;border-color:transparent}.backup-action-btn--danger:hover{background:#ef44441a;border-color:#ef444433;color:#ef4444}.backup-loading{display:flex;align-items:center;gap:8px;padding:24px 20px;color:var(--text-tertiary);font-size:12px}.backup-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px 20px;text-align:center;color:var(--text-tertiary)}.backup-empty svg{opacity:.3;margin-bottom:4px}.backup-empty p{margin:0;font-size:12px;font-weight:500;color:var(--text-secondary)}.backup-empty span{font-size:10px;max-width:320px;line-height:1.5}.backup-upgrade-banner{display:flex;align-items:center;gap:16px;padding:20px;background:#f59e0b0d}.backup-upgrade-banner__icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;background:#f59e0b1f;border-radius:8px;color:#f59e0b}.backup-upgrade-banner__body{flex:1;min-width:0}.backup-upgrade-banner__body h4{margin:0 0 4px;font-size:12px;font-weight:600;color:var(--text-primary)}.backup-upgrade-banner__body p{margin:0;font-size:10px;color:var(--text-secondary);line-height:1.5}.backup-schedule-info{display:flex;flex-direction:column;gap:8px;padding:16px 20px}.backup-schedule-row{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--text-secondary)}.backup-schedule-row svg{color:var(--text-tertiary);flex-shrink:0}.backup-schedule-row--muted{color:var(--text-tertiary)}.backup-upgrade-link{margin-left:8px;color:var(--accent-primary);text-decoration:underline;font-weight:500}.backup-upgrade-link:hover{color:var(--accent-hover)}.backup-schedule-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:#f59e0b1f;border:1px solid rgba(245,158,11,.25);border-radius:9999px;font-size:10px;font-weight:500;color:#f59e0b;white-space:nowrap}.hint-box{padding:16px;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:6px;margin-top:16px}.hint-box p{margin:0;color:var(--text-secondary);font-size:12px}.hint-box p:not(:last-child){margin-bottom:8px}.empty-state-small{padding:24px;text-align:center;color:var(--text-tertiary)}.empty-state-small p{margin:0}.empty-state-small p:not(:last-child){margin-bottom:8px}.empty-state-small .hint{font-size:12px}.wp-tab-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.wp-tab-header-left{display:flex;align-items:center;gap:12px}.wp-tab-title{font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.wp-tab-count{font-size:10px;color:var(--text-tertiary);background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:9999px;padding:2px 10px}.wp-restrict-badge{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:500;color:#f59e0b;background:#f59e0b1a;border:1px solid rgba(245,158,11,.25);border-radius:9999px;padding:3px 10px}.wp-restrict-notice{display:flex;align-items:flex-start;gap:8px;padding:12px 16px;background:#22d3ee0f;border:1px solid rgba(34,211,238,.18);border-radius:6px;margin-bottom:16px;font-size:12px;color:var(--text-secondary);line-height:1.5}.wp-restrict-notice svg{color:#22d3ee;flex-shrink:0;margin-top:1px}.wp-install-form{display:flex;gap:8px;margin-bottom:16px}.wp-install-form input{flex:1;min-width:0}.wp-items-list{display:flex;flex-direction:column;gap:8px}.wp-item-card{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px;transition:border-color .15s ease}.wp-item-card:hover{border-color:var(--border-default)}.wp-item-card.active{border-color:#10b98159;background:#10b9810a}.wp-item-card-left{display:flex;align-items:center;gap:12px;min-width:0}.wp-item-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--border-default)}.wp-item-dot.active{background:#10b981;box-shadow:0 0 0 2px #10b98140}.wp-item-info{display:flex;flex-direction:column;gap:3px;min-width:0}.wp-item-name{font-size:12px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wp-item-meta{display:flex;align-items:center;gap:8px}.wp-item-version{font-size:10px;color:var(--text-tertiary);font-family:JetBrains Mono,Fira Code,Monaco,monospace}.wp-item-status{font-size:10px;font-weight:500;padding:1px 7px;border-radius:4px}.wp-item-status.active{color:#10b981;background:#10b9811f}.wp-item-status.inactive{color:var(--text-tertiary);background:var(--bg-tertiary)}.wp-item-active-label{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:500;color:#10b981;background:#10b9811a;border:1px solid rgba(16,185,129,.25);border-radius:4px;padding:4px 10px}.wp-items-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px 16px;color:var(--text-tertiary);text-align:center}.wp-items-empty p{margin:0;font-size:12px;color:var(--text-secondary)}.wp-items-empty span{font-size:10px;color:var(--text-tertiary)}.spin{animation:spin .8s linear infinite}.spinning{animation:spin 1s linear infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--bg-tertiary) 25%,rgba(39,39,42,.5) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:6px}.wp-site-card-skeleton{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px}.wp-site-card-skeleton-header{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--border-subtle)}.wp-site-card-skeleton-icon{width:40px;height:40px;background:linear-gradient(90deg,var(--bg-tertiary) 25%,rgba(39,39,42,.5) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:6px}.wp-site-card-skeleton-info{flex:1;display:flex;flex-direction:column;gap:8px}.wp-site-card-skeleton-name{width:60%;height:16px;background:linear-gradient(90deg,var(--bg-tertiary) 25%,rgba(39,39,42,.5) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:6px}.wp-site-card-skeleton-url{width:80%;height:12px;background:linear-gradient(90deg,var(--bg-tertiary) 25%,rgba(39,39,42,.5) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:6px}.wp-site-card-skeleton-status{width:64px;height:24px;background:linear-gradient(90deg,var(--bg-tertiary) 25%,rgba(39,39,42,.5) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:6px}.wp-site-card-skeleton-body{padding:16px;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.wp-site-card-skeleton-meta{display:flex;flex-direction:column;gap:4px}.wp-site-card-skeleton-label{width:50%;height:10px;background:linear-gradient(90deg,var(--bg-tertiary) 25%,rgba(39,39,42,.5) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:6px}.wp-site-card-skeleton-value{width:70%;height:14px;background:linear-gradient(90deg,var(--bg-tertiary) 25%,rgba(39,39,42,.5) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:6px}.wp-site-card-skeleton-footer{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--border-subtle);background:var(--bg-tertiary);border-radius:0 0 8px 8px}.wp-site-card-skeleton-btn{flex:1;height:32px;background:linear-gradient(90deg,var(--bg-tertiary) 25%,rgba(39,39,42,.5) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:6px}.wp-env-card-skeleton{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px}.wp-env-card-skeleton-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid var(--border-subtle)}.wp-env-card-skeleton-badge{width:60px;height:20px;background:linear-gradient(90deg,var(--bg-tertiary) 25%,rgba(39,39,42,.5) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:6px}.wp-env-card-skeleton-status{width:64px;height:20px;background:linear-gradient(90deg,var(--bg-tertiary) 25%,rgba(39,39,42,.5) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:6px}.wp-env-card-skeleton-body{padding:16px}.wp-env-card-skeleton-url{width:70%;height:14px;margin-bottom:12px;background:linear-gradient(90deg,var(--bg-tertiary) 25%,rgba(39,39,42,.5) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:6px}.wp-env-card-skeleton-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.wp-env-card-skeleton-meta-item .skeleton-label{width:40%;height:10px;margin-bottom:4px;background:linear-gradient(90deg,var(--bg-tertiary) 25%,rgba(39,39,42,.5) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:6px}.wp-env-card-skeleton-meta-item .skeleton-value{width:60%;height:14px;background:linear-gradient(90deg,var(--bg-tertiary) 25%,rgba(39,39,42,.5) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:6px}.wp-env-card-skeleton-footer{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--border-subtle);background:var(--bg-tertiary);border-radius:0 0 8px 8px}.docker-stat-card-skeleton{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:8px}.docker-stat-card-skeleton-label{width:60%;height:12px;background:linear-gradient(90deg,var(--bg-tertiary) 25%,rgba(39,39,42,.5) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:6px}.docker-stat-card-skeleton-value{width:40%;height:28px;background:linear-gradient(90deg,var(--bg-tertiary) 25%,rgba(39,39,42,.5) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:6px}.docker-stat-card-skeleton-meta{width:80%;height:12px;background:linear-gradient(90deg,var(--bg-tertiary) 25%,rgba(39,39,42,.5) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:6px}.skeleton-table-row{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border-subtle)}.skeleton-table-row .skeleton-cell{height:16px;background:linear-gradient(90deg,var(--bg-tertiary) 25%,rgba(39,39,42,.5) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:6px}.skeleton-table-row .skeleton-cell.cell-name{width:25%}.skeleton-table-row .skeleton-cell.cell-tag{width:15%}.skeleton-table-row .skeleton-cell.cell-size{width:10%}.skeleton-table-row .skeleton-cell.cell-date{width:15%}.skeleton-table-row .skeleton-cell.cell-actions{width:20%;margin-left:auto}.tab-loading{display:flex;flex-direction:column;gap:16px;padding:16px}.tab-loading-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.tab-loading-title{width:120px;height:24px;background:linear-gradient(90deg,var(--bg-tertiary) 25%,rgba(39,39,42,.5) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:6px}.tab-loading-btn{width:140px;height:36px;background:linear-gradient(90deg,var(--bg-tertiary) 25%,rgba(39,39,42,.5) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:6px}.error-boundary,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;text-align:center;min-height:200px}.error-boundary-icon,.error-state-icon{color:#ef4444;margin-bottom:16px;padding:12px;background:#ef44441a;border-radius:50%}.error-boundary h3,.error-state-title{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.error-boundary-message,.error-state-message{font-size:12px;color:var(--text-secondary);margin:0 0 16px;max-width:400px}.error-state-compact{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:6px;color:#ef4444;font-size:12px}.error-state-compact svg{flex-shrink:0}.error-state-compact span{flex:1}.error-state-compact .btn{flex-shrink:0}.confirm-dialog-details{margin-top:12px;padding:12px;background:var(--bg-tertiary);border-radius:6px;font-size:12px;color:var(--text-secondary);text-align:left}.confirm-dialog-details ul{margin:0;padding-left:16px}.confirm-dialog-details ul li{margin-bottom:4px}.confirm-dialog-details ul li:last-child{margin-bottom:0}.confirm-dialog-details strong{color:var(--text-primary)}.confirm-dialog-details code{background:var(--bg-tertiary);padding:2px 6px;border-radius:3px;font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:.9em}.env-preview-url{display:flex;align-items:center;gap:8px;padding:12px;background:#10b98114;border:1px solid rgba(16,185,129,.2);border-radius:6px;margin-bottom:16px}.env-preview-url .preview-label{font-size:10px;color:var(--text-secondary)}.env-preview-url .preview-url{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;color:#10b981;font-weight:500}.form-hint-domain code{background:var(--bg-tertiary);padding:2px 6px;border-radius:3px;font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:.9em}.confirm-dialog-input{margin-top:16px;text-align:left}.confirm-dialog-input label{display:block;font-size:12px;color:var(--text-secondary);margin-bottom:8px}.confirm-dialog-input label strong{color:var(--text-primary);font-family:JetBrains Mono,Fira Code,Monaco,monospace}.confirm-dialog-input input{width:100%;height:36px;padding:0 12px;background:hsl(var(--background));border:1px solid hsl(var(--input));border-radius:6px;color:hsl(var(--foreground));font-size:12px;line-height:1;transition:border-color .2s ease}.confirm-dialog-input input:focus{border-color:var(--accent-primary);outline:none;box-shadow:none}.confirm-dialog-input input::-moz-placeholder{color:hsl(var(--muted-foreground))}.confirm-dialog-input input::placeholder{color:hsl(var(--muted-foreground))}.confirm-dialog-input input:disabled{cursor:not-allowed;opacity:.5}.resource-gate{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:24px}.resource-gate-container{max-width:700px;text-align:center}.resource-gate-icon{display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px;background:#f59e0b1f;border-radius:50%;color:#f59e0b;margin-bottom:20px}.resource-gate-title{font-size:20px;font-weight:700;color:var(--text-primary);margin:0 0 12px}.resource-gate-description{font-size:14px;color:var(--text-secondary);margin:0 0 24px;line-height:1.6}.resource-gate-description strong{color:#f59e0b;font-weight:600}.resource-gate-specs{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:24px}@media (max-width: 600px){.resource-gate-specs{flex-direction:column;gap:12px}}.resource-gate-spec-arrow{color:var(--text-tertiary)}@media (max-width: 600px){.resource-gate-spec-arrow{transform:rotate(90deg)}}.resource-gate-spec-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;padding:16px;min-width:200px}.resource-gate-spec-card.current{border-color:#ef444466;background:#ef44440a}.resource-gate-spec-card.required{border-color:#10b98166;background:#10b9810a}.resource-gate-spec-header{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;font-weight:600;color:var(--text-primary);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border-subtle)}.resource-gate-spec-items{display:flex;flex-direction:column;gap:8px}.resource-gate-spec-item{display:flex;align-items:center;gap:8px;font-size:12px}.resource-gate-spec-item svg{color:var(--text-tertiary);flex-shrink:0}.resource-gate-spec-item .spec-label{color:var(--text-secondary);flex:1}.resource-gate-spec-item .spec-value{font-weight:600;color:#10b981;font-family:JetBrains Mono,Fira Code,Monaco,monospace}.resource-gate-spec-item .spec-value.insufficient{color:#ef4444}.resource-gate-recommendation{background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:8px;padding:16px;margin-bottom:24px;text-align:left}.resource-gate-recommendation h4{font-size:12px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.resource-gate-recommendation p{font-size:12px;color:var(--text-secondary);margin:0;line-height:1.5}.resource-gate-recommendation p strong{color:var(--text-primary)}.resource-gate-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media (max-width: 600px){.resource-gate-tiers{grid-template-columns:1fr}}.resource-gate-tier{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px;padding:12px;text-align:center}.resource-gate-tier.current{border-color:#f59e0b;background:#f59e0b0f}.resource-gate-tier .tier-name{font-size:12px;font-weight:700;color:var(--text-primary);margin-bottom:4px}.resource-gate-tier .tier-specs{font-size:10px;color:var(--text-tertiary);margin-bottom:8px}.resource-gate-tier .tier-wp{font-size:10px;font-weight:500;color:#ef4444;padding:2px 8px;background:#ef44441a;border-radius:4px;display:inline-block}.resource-gate-tier .tier-wp.allowed{color:#10b981;background:#10b9811a}.page-loading{display:flex;align-items:center;justify-content:center;min-height:400px}.wp-projects-page{padding:16px}.wp-projects-page .page-header{margin-bottom:24px}.wp-projects-page .page-header-content h1{font-size:20px;font-weight:700;color:var(--text-primary);margin:0 0 4px}.wp-projects-page .page-description{font-size:12px;color:var(--text-tertiary);margin:0}.wp-projects-page .empty-state-large{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;background:var(--bg-card);border-radius:12px;text-align:center}.wp-projects-page .empty-state-large .empty-icon{color:var(--text-tertiary);margin-bottom:16px}.wp-projects-page .empty-state-large h2{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.wp-projects-page .empty-state-large p{font-size:12px;color:var(--text-secondary);max-width:460px;margin:0}.wp-projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:16px}.wp-project-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;cursor:pointer;transition:all .15s ease}.wp-project-card:hover{border-color:var(--border-hover);box-shadow:0 4px 12px #00000014}.wp-project-card-header{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--border-subtle)}.wp-project-info{flex:1;min-width:0}.wp-project-name{font-size:14px;font-weight:600;color:var(--text-primary);margin:0}.wp-project-domain{font-size:10px;color:var(--text-tertiary);font-family:JetBrains Mono,Fira Code,Monaco,monospace}.wp-project-card-body{padding:16px}.wp-project-meta{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.wp-project-meta-item{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary)}.wp-project-meta-item svg{color:var(--text-tertiary)}.wp-project-env-badges{display:flex;gap:4px}.wp-project-card-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-top:1px solid var(--border-subtle);background:var(--bg-tertiary);border-radius:0 0 8px 8px}.wp-project-card-cta{font-size:12px;font-weight:500;color:var(--accent-primary)}.wp-project-page .wp-icon{background:linear-gradient(135deg,#21759b,#1a5f7f)!important}.pipeline-tab{padding:16px 0}.pipeline-operation-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#22d3ee1a;border:1px solid rgba(34,211,238,.25);border-radius:6px;margin-bottom:16px;font-size:12px;color:#22d3ee}.pipeline-view{margin-bottom:24px}.pipeline-row{display:flex;align-items:stretch;gap:0;overflow-x:auto;padding-bottom:8px}.pipeline-card{flex:1;min-width:220px;max-width:320px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;display:flex;flex-direction:column;position:relative}.pipeline-card.production{border-color:#ef44444d;border-left:3px solid #ef4444}.pipeline-card.locked{opacity:.85}.pipeline-card.empty{border-style:dashed;border-color:var(--border-subtle);display:flex;align-items:center;justify-content:center;min-height:180px}.pipeline-empty-content{text-align:center;color:var(--text-tertiary)}.pipeline-empty-content p{margin:8px 0 0;font-size:12px}.pipeline-card-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border-subtle)}.env-status-badge-group{display:flex;align-items:center;gap:8px}.env-locked-badge{display:flex;align-items:center;padding:2px 4px;background:#f59e0b26;color:#f59e0b;border-radius:4px}.pipeline-card-menu-wrapper{position:relative}.pipeline-card-menu-btn{padding:4px!important}.pipeline-card-menu{position:absolute;right:0;top:100%;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:6px;box-shadow:0 8px 24px #0003;z-index:100;min-width:140px;padding:4px}.pipeline-card-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;background:none;color:var(--text-secondary);font-size:12px;cursor:pointer;border-radius:4px;text-align:left}.pipeline-card-menu button:hover{background:var(--bg-hover);color:var(--text-primary)}.pipeline-card-menu button.danger{color:#ef4444}.pipeline-card-menu button.danger:hover{background:#ef44441a}.pipeline-card-body{flex:1;padding:16px}.pipeline-card-name{font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.pipeline-card-domain{display:block;font-size:10px;font-family:JetBrains Mono,Fira Code,Monaco,monospace;color:var(--accent-primary);margin-bottom:8px;text-decoration:none}.pipeline-card-domain:hover{text-decoration:underline}.pipeline-card-meta{display:flex;flex-wrap:wrap;gap:8px}.pipeline-meta-item{font-size:10px;color:var(--text-tertiary)}.pipeline-card-footer{display:flex;gap:8px;padding:8px 12px;border-top:1px solid var(--border-subtle);background:var(--bg-tertiary);border-radius:0 0 8px 8px}.pipeline-card-lock-banner{display:flex;align-items:center;gap:4px;padding:8px 12px;background:#f59e0b1a;font-size:10px;color:#f59e0b;border-radius:0 0 8px 8px}.pipeline-arrow{display:flex;align-items:center;justify-content:center;min-width:80px;padding:0 8px}.pipeline-arrow.disabled{opacity:.3;pointer-events:none}.pipeline-arrow-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 12px;border:1px solid var(--border-subtle);background:var(--bg-card);border-radius:6px;cursor:pointer;color:var(--text-secondary);transition:all .15s ease}.pipeline-arrow-btn:hover:not(:disabled){border-color:var(--accent-primary);color:var(--accent-primary);background:#6366f10d}.pipeline-arrow-btn:disabled{cursor:not-allowed;opacity:.4}.pipeline-arrow-label{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.pipeline-sync-row{display:flex;gap:0;margin-top:8px}.pipeline-sync-row .pipeline-sync-action{flex:1;min-width:220px;max-width:320px;display:flex;justify-content:center}.pipeline-multidev-section{margin-top:24px;padding-top:16px;border-top:1px solid var(--border-subtle)}.pipeline-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.pipeline-section-title{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0}.pipeline-section-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:#6366f11f;color:var(--accent-primary);border-radius:10px;font-size:11px;font-weight:700;text-transform:none;letter-spacing:0}.pipeline-multidev-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.pipeline-multidev-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px;background:var(--bg-card);border:1px dashed var(--border-subtle);border-radius:8px;text-align:center}.pipeline-multidev-empty>svg{color:var(--text-tertiary);margin-bottom:12px}.pipeline-multidev-empty p{font-size:14px;font-weight:500;color:var(--text-secondary);margin:0 0 4px}.pipeline-multidev-empty>span{font-size:12px;color:var(--text-tertiary);margin-bottom:16px}.multidev-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;transition:border-color .15s ease}.multidev-card:hover{border-color:var(--border-hover)}.multidev-card.locked{opacity:.85}.multidev-card-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border-subtle)}.multidev-card-header-left{display:flex;align-items:center;gap:8px}.multidev-lock-icon{color:#f59e0b}.multidev-card-menu-wrapper{position:relative}.multidev-card-body{padding:12px 16px}.multidev-card-name{font-size:12px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.multidev-branch{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-family:JetBrains Mono,Fira Code,Monaco,monospace;color:var(--text-tertiary);background:var(--bg-tertiary);padding:2px 8px;border-radius:4px;margin-bottom:8px}.multidev-domain{display:block;font-size:10px;font-family:JetBrains Mono,Fira Code,Monaco,monospace;color:var(--accent-primary);text-decoration:none;margin-bottom:8px}.multidev-domain:hover{text-decoration:underline}.multidev-card-meta{display:flex;flex-wrap:wrap;gap:8px}.multidev-meta-item{font-size:10px;color:var(--text-tertiary)}.multidev-card-footer{display:flex;gap:8px;padding:8px 12px;border-top:1px solid var(--border-subtle);background:var(--bg-tertiary);border-radius:0 0 8px 8px}.wp-env-badge.env-multidev{background:#6366f11f;color:var(--accent-primary)}.branch-selected{display:flex;align-items:center;gap:8px;padding:12px;background:#6366f114;border:1px solid rgba(99,102,241,.25);border-radius:6px}.branch-selected svg{color:var(--accent-primary);flex-shrink:0}.branch-selected-name{flex:1;font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;font-weight:500;color:var(--text-primary)}.branch-picker-loading{display:flex;align-items:center;gap:8px;padding:16px;justify-content:center;color:var(--text-tertiary);font-size:12px}.branch-picker{border:1px solid var(--border-subtle);border-radius:6px;overflow:hidden}.branch-picker-search{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border-subtle);background:var(--bg-tertiary)}.branch-picker-search svg{color:var(--text-tertiary);flex-shrink:0}.branch-picker-search input{flex:1;border:none;background:none;font-size:12px;color:var(--text-primary);outline:none;padding:0}.branch-picker-search input::-moz-placeholder{color:var(--text-tertiary)}.branch-picker-search input::placeholder{color:var(--text-tertiary)}.branch-picker-list{max-height:240px;overflow-y:auto}.branch-picker-item{display:flex;flex-direction:column;gap:2px;width:100%;padding:8px 12px;border:none;border-bottom:1px solid var(--border-subtle);background:var(--bg-card);cursor:pointer;text-align:left;transition:background .1s ease}.branch-picker-item:last-child{border-bottom:none}.branch-picker-item:hover:not(:disabled){background:var(--bg-hover)}.branch-picker-item:disabled{opacity:.5;cursor:not-allowed}.branch-picker-item.has-env{background:#71717a08}.branch-picker-item-main{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-primary)}.branch-picker-item-main svg{color:var(--text-tertiary);flex-shrink:0}.branch-name{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-weight:500}.branch-tag{font-size:10px;font-weight:500;padding:1px 6px;border-radius:4px;background:#71717a1a;color:var(--text-tertiary)}.branch-tag.env{background:#6366f11a;color:var(--accent-primary)}.branch-picker-item-meta{display:flex;align-items:center;gap:8px;padding-left:20px}.branch-picker-item-meta .branch-sha{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:11px;color:var(--text-tertiary)}.branch-picker-item-meta .branch-msg{font-size:11px;color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.branch-picker-empty{padding:16px;text-align:center;font-size:12px;color:var(--text-tertiary)}.branch-picker-custom{width:100%;border-top:1px solid var(--border-subtle);border-radius:0 0 6px 6px;justify-content:center;color:var(--accent-primary)!important}.promote-direction,.sync-direction{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px;background:var(--bg-tertiary);border-radius:6px;margin-bottom:16px}.promote-env-pill{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 16px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px;min-width:120px}.promote-env-pill .promote-env-type{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.promote-env-pill .promote-env-name{font-size:12px;color:var(--text-secondary);max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.promote-env-pill.production .promote-env-type{color:#ef4444}.promote-env-pill.staging .promote-env-type{color:#f59e0b}.promote-env-pill.development .promote-env-type{color:#22d3ee}.promote-env-pill.multidev .promote-env-type{color:var(--accent-primary)}.promote-arrow{color:var(--text-tertiary);flex-shrink:0}.promote-warning,.sync-warning{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;background:#f59e0b14;border:1px solid rgba(245,158,11,.2);border-radius:6px;margin-top:16px;font-size:12px;color:var(--text-secondary)}.promote-warning>svg,.sync-warning>svg{color:#f59e0b;flex-shrink:0;margin-top:2px}.promote-warning strong,.sync-warning strong{color:var(--text-primary)}.promote-warning p,.sync-warning p{margin:4px 0 0}.radio-group{display:flex;flex-direction:column;gap:8px}.radio-label{display:flex;align-items:flex-start;gap:12px;padding:12px;border:1px solid var(--border-subtle);border-radius:6px;cursor:pointer;transition:all .15s ease}.radio-label:hover{border-color:var(--border-hover);background:var(--bg-hover)}.radio-label:has(input:checked){border-color:var(--accent-primary);background:#6366f10d}.radio-label input[type=radio]{margin-top:4px;accent-color:var(--color-primary, #3b82f6)}.radio-content{display:flex;flex-direction:column;gap:2px}.radio-content strong{font-size:12px;color:var(--text-primary)}.radio-content span{font-size:10px;color:var(--text-tertiary)}.checkbox-group{display:flex;flex-direction:column;gap:8px}.activity-feed{display:flex;flex-direction:column;gap:1px;background:var(--border-subtle);border:1px solid var(--border-subtle);border-radius:8px;overflow:hidden}.activity-feed.compact .activity-item{padding:8px 12px}.activity-feed-empty{padding:24px;text-align:center;color:var(--text-tertiary);font-size:12px}.activity-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-card)}.activity-item-skeleton{display:flex;align-items:center;gap:12px;padding:12px 16px}.activity-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;flex-shrink:0}.activity-icon.success{background:#10b9811f;color:#10b981}.activity-icon.danger{background:#ef44441f;color:#ef4444}.activity-icon.warning{background:#f59e0b1f;color:#f59e0b}.activity-icon.info{background:#22d3ee1f;color:#22d3ee}.activity-icon.primary{background:#6366f11f;color:var(--accent-primary)}.activity-icon.default{background:#71717a1f;color:var(--text-tertiary)}.activity-content{flex:1;min-width:0}.activity-description{font-size:12px;color:var(--text-primary);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-error{font-size:10px;color:#ef4444;display:block;margin-top:2px}.activity-meta{display:flex;align-items:center;gap:8px;flex-shrink:0}.activity-time{font-size:10px;color:var(--text-tertiary);white-space:nowrap}.activity-status-badge{font-size:10px;font-weight:500;padding:2px 6px;border-radius:4px}.activity-status-badge.failed{background:#ef44441f;color:#ef4444}.activity-status-badge.running{background:#22d3ee1f;color:#22d3ee}.activity-load-more{background:var(--bg-card);padding:12px;text-align:center;width:100%;justify-content:center}.pipeline-activity-preview{margin-top:24px}.pipeline-logs-overlay{position:fixed;bottom:0;right:0;width:600px;max-width:100%;height:400px;z-index:200;box-shadow:-4px -4px 24px #0000004d;border-radius:8px 8px 0 0;overflow:hidden}@media (max-width: 768px){.pipeline-logs-overlay{width:100%}}.container-logs-panel{display:flex;flex-direction:column;height:100%;background:var(--bg-body);border:1px solid var(--border-subtle);border-radius:8px 8px 0 0}.container-logs-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border-subtle);background:var(--bg-elevated)}.container-logs-title{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--text-primary)}.container-logs-controls{display:flex;align-items:center;gap:8px}.logs-service-select,.logs-lines-select{padding:4px 8px;font-size:10px;border:1px solid var(--border-subtle);border-radius:4px;background:var(--bg-card);color:var(--text-primary)}.container-logs-body{flex:1;overflow-y:auto;background:var(--bg-body)}.logs-loading,.logs-empty{padding:24px;text-align:center;color:var(--text-tertiary);font-size:12px}.logs-content{margin:0;padding:12px;font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;line-height:1.6;color:var(--text-secondary);white-space:pre-wrap;word-break:break-all}.log-line{padding:1px 0}.log-line:hover{background:#f4f4f50d}.compare-header{display:flex;align-items:center;justify-content:center;gap:12px;background:var(--bg-tertiary);margin:-20px;padding:16px 20px}.compare-env-pill{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 16px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px;min-width:120px}.compare-env-pill .compare-env-type{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.compare-env-pill .compare-env-name{font-size:12px;color:var(--text-secondary);max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compare-env-pill.production .compare-env-type{color:#ef4444}.compare-env-pill.staging .compare-env-type{color:#f59e0b}.compare-env-pill.development .compare-env-type{color:#22d3ee}.compare-env-pill.multidev .compare-env-type{color:var(--accent-primary)}.compare-vs-icon{color:var(--text-tertiary);flex-shrink:0}.compare-body{padding:16px 0;max-height:60vh;overflow-y:auto}.compare-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px;color:var(--text-tertiary);font-size:12px}.compare-error{text-align:center;padding:24px}.compare-error p{color:#ef4444;margin:0 0 12px}.compare-section{margin-bottom:16px}.compare-section:last-child{margin-bottom:0}.compare-section-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg-tertiary);border-radius:6px;margin-bottom:8px}.compare-section-header h4{margin:0;font-size:12px;font-weight:600;color:var(--text-primary)}.compare-section-summary{font-size:10px;color:var(--text-tertiary)}.compare-table{border:1px solid var(--border-subtle);border-radius:6px;overflow:hidden}.compare-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border-subtle);font-size:12px;align-items:center}.compare-row:last-child{border-bottom:none}.compare-row.match .compare-row-icon{color:#10b981}.compare-row.different{background:#ef44440d}.compare-row.different .compare-row-icon{color:#ef4444}.compare-row.different .compare-row-value-a,.compare-row.different .compare-row-value-b{font-weight:500}.compare-row.only-a .compare-row-icon{color:#f59e0b}.compare-row.only-a .compare-row-value-b{opacity:.4}.compare-row.only-b .compare-row-icon{color:#f59e0b}.compare-row.only-b .compare-row-value-a{opacity:.4}.compare-row-label{display:flex;align-items:center;gap:8px;font-weight:500;color:var(--text-primary)}.compare-row-icon{flex-shrink:0}.compare-row-value-a,.compare-row-value-b{font-size:10px;color:var(--text-secondary);font-family:JetBrains Mono,Fira Code,Monaco,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compare-na{color:var(--text-tertiary);font-style:italic}.compare-empty-row{padding:16px;text-align:center;font-size:12px;color:var(--text-tertiary)}.pipeline-compare-row{display:flex;gap:12px;justify-content:center;margin-top:8px;padding:8px 0}.pipeline-compare-btn{color:var(--text-tertiary)!important;font-size:10px!important}.pipeline-compare-btn:hover{color:var(--accent-primary)!important}.sanitization-profiles-body{padding:16px 0;max-height:60vh;overflow-y:auto}.sanitization-loading{display:flex;align-items:center;justify-content:center;padding:32px}.sanitization-profile-list{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.sanitization-profile-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px;padding:12px 16px;transition:border-color .15s ease}.sanitization-profile-card:hover{border-color:var(--border-hover)}.sanitization-profile-card.default{border-color:#6366f14d;border-left:3px solid var(--accent-primary)}.sanitization-profile-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.sanitization-profile-card-title{display:flex;align-items:center;gap:8px}.sanitization-profile-card-title h5{margin:0;font-size:12px;font-weight:600;color:var(--text-primary)}.sanitization-tag{font-size:10px;font-weight:500;padding:1px 6px;border-radius:4px}.sanitization-tag.builtin{background:#71717a1a;color:var(--text-tertiary)}.sanitization-tag.default{background:#6366f11f;color:var(--accent-primary)}.sanitization-profile-card-actions{display:flex;gap:4px}.sanitization-profile-desc{font-size:10px;color:var(--text-secondary);margin:0 0 8px}.sanitization-rule-tags{display:flex;flex-wrap:wrap;gap:4px}.sanitization-rule-tag{font-size:10px;padding:2px 8px;background:var(--bg-tertiary);border-radius:4px;color:var(--text-tertiary)}.sanitization-rule-tag.empty{font-style:italic}.sanitization-add-btn{width:100%;justify-content:center}.sanitization-editor{background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:6px;padding:16px;margin-top:12px}.sanitization-editor h4{margin:0 0 12px;font-size:12px;font-weight:600;color:var(--text-primary)}.sanitization-editor .form-group{margin-bottom:12px}.sanitization-editor .form-group:last-of-type{margin-bottom:16px}.sanitization-editor-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:12px;border-top:1px solid var(--border-subtle)}.pipeline-card-checkbox{margin-right:4px;accent-color:var(--color-primary, #3b82f6)}.pipeline-card-menu-divider{height:1px;background:var(--border-subtle);margin:4px 0}.resource-limits-modal{max-width:480px}.resource-limits-env-name{font-size:12px;font-weight:600;color:var(--text-primary);padding-bottom:12px;border-bottom:1px solid var(--border-subtle);margin-bottom:12px}.resource-limits-presets{display:flex;align-items:center;gap:8px;margin-bottom:16px}.resource-limits-presets-label{font-size:12px;color:var(--text-secondary)}.resource-preset-btn{text-transform:capitalize}.resource-limits-section{margin-bottom:16px}.resource-limits-section h4{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--text-secondary);margin:0 0 12px}.resource-limits-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0}.resource-limits-row label{font-size:12px;color:var(--text-primary)}.resource-limits-row select{width:120px;padding:4px 8px;font-size:12px;border:1px solid var(--border-subtle);border-radius:4px;background:var(--bg-card);color:var(--text-primary)}.resource-limits-warning{display:flex;align-items:center;gap:8px;padding:12px;background:#f59e0b14;border:1px solid rgba(245,158,11,.2);border-radius:6px;margin-top:12px;margin-bottom:12px;font-size:10px;color:#f59e0b}.basic-auth-modal{max-width:460px}.basic-auth-body{padding:16px 0}.basic-auth-env-name{font-size:12px;font-weight:600;color:var(--text-primary);padding-bottom:12px;border-bottom:1px solid var(--border-subtle);margin-bottom:12px}.basic-auth-loading{display:flex;align-items:center;gap:8px;justify-content:center;padding:16px;color:var(--text-tertiary);font-size:12px}.basic-auth-toggle{margin-bottom:16px}.basic-auth-toggle-label{display:flex;align-items:center;justify-content:space-between;cursor:pointer}.basic-auth-toggle-label span{font-size:12px;font-weight:500;color:var(--text-primary)}.basic-auth-description{font-size:10px;color:var(--text-tertiary);margin:4px 0 0}.toggle-switch{position:relative;width:44px;height:24px;border:none;border-radius:12px;background:var(--bg-tertiary);cursor:pointer;transition:background .2s ease;padding:0}.toggle-switch.active{background:var(--color-primary, #3b82f6)}.toggle-switch-slider{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .2s ease}.toggle-switch.active .toggle-switch-slider{transform:translate(20px)}.basic-auth-current{padding:12px;background:var(--bg-tertiary);border-radius:6px}.basic-auth-credentials{display:flex;flex-direction:column;gap:12px}.basic-auth-credential-warning{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f59e0b1a;border:1px solid rgba(245,158,11,.2);border-radius:6px;font-size:10px;color:#f59e0b}.basic-auth-field{display:flex;flex-direction:column;gap:4px}.basic-auth-field label{font-size:10px;font-weight:500;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.basic-auth-value{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-tertiary);border-radius:4px}.basic-auth-value code{flex:1;font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;color:var(--text-primary)}.basic-auth-hint{font-size:10px;color:var(--text-tertiary);margin-top:8px}.wpcli-terminal-modal{max-width:700px;height:560px;display:flex;flex-direction:column}.wpcli-quick-actions{display:flex;flex-wrap:wrap;gap:4px;padding:8px 16px;border-bottom:1px solid var(--border-subtle);background:var(--bg-tertiary)}.wpcli-history{border-bottom:1px solid var(--border-subtle);max-height:200px;overflow-y:auto}.wpcli-history-item{display:block;width:100%;padding:8px 16px;border:none;background:none;text-align:left;cursor:pointer;border-bottom:1px solid var(--border-subtle)}.wpcli-history-item:last-child{border-bottom:none}.wpcli-history-item:hover{background:var(--bg-hover)}.wpcli-history-item code{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:10px;color:var(--text-primary)}.wpcli-output{flex:1;overflow-y:auto;padding:12px;background:var(--bg-body);font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;line-height:1.6}.wpcli-output-empty{color:var(--text-tertiary);text-align:center;padding:24px;font-size:12px}.wpcli-output-command{display:flex;gap:8px;color:var(--accent-primary);margin-top:8px}.wpcli-output-command:first-child{margin-top:0}.wpcli-output-text{margin:0;color:var(--text-secondary);white-space:pre-wrap;word-break:break-all}.wpcli-output-error{margin:0;color:#ef4444;white-space:pre-wrap;word-break:break-all}.wpcli-prompt{color:#10b981;font-weight:700;-webkit-user-select:none;-moz-user-select:none;user-select:none}.wpcli-executing{display:flex;align-items:center;gap:8px;padding:8px 0;color:var(--text-tertiary);font-size:10px}.wpcli-input-row{display:flex;align-items:center;gap:8px;padding:8px 12px;border-top:1px solid var(--border-subtle);background:var(--bg-elevated)}.wpcli-input{flex:1;border:none;background:none;font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;color:var(--text-primary);outline:none;padding:4px 0}.wpcli-input::-moz-placeholder{color:var(--text-tertiary)}.wpcli-input::placeholder{color:var(--text-tertiary)}.health-status-panel{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;padding:16px}.health-panel-loading{display:flex;align-items:center;justify-content:center;gap:8px;padding:24px;color:var(--text-tertiary);font-size:12px}.health-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.health-panel-header h4{display:flex;align-items:center;gap:8px;margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.health-panel-grid{display:flex;flex-direction:column;gap:12px}.health-panel-env{padding:12px;background:var(--bg-tertiary);border-radius:6px}.health-panel-env-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.health-panel-env-name{flex:1;font-size:12px;font-weight:600;color:var(--text-primary)}.health-panel-overall{font-size:10px;font-weight:500;padding:2px 8px;border-radius:4px}.health-panel-overall.health-healthy{background:#10b9811f;color:#10b981}.health-panel-overall.health-degraded{background:#f59e0b1f;color:#f59e0b}.health-panel-overall.health-unhealthy{background:#ef44441f;color:#ef4444}.health-panel-overall.health-unknown{background:#71717a1f;color:var(--text-tertiary)}.health-panel-checks{display:flex;flex-direction:column;gap:4px}.health-panel-check{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:10px}.health-panel-check-name{font-weight:500;color:var(--text-secondary);min-width:80px}.health-panel-check-msg{color:var(--text-tertiary)}.health-panel-empty{text-align:center;padding:24px;color:var(--text-tertiary);font-size:12px}.health-dot{flex-shrink:0}.disk-usage-compact{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:var(--text-tertiary)}.disk-usage-compact-text{font-family:JetBrains Mono,Fira Code,Monaco,monospace}.disk-usage-bar-container{padding:12px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px}.disk-usage-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:12px;color:var(--text-primary)}.disk-usage-total{font-weight:600;font-family:JetBrains Mono,Fira Code,Monaco,monospace}.disk-usage-bar{display:flex;height:8px;border-radius:4px;overflow:hidden;background:var(--bg-tertiary)}.disk-usage-segment{height:100%;transition:width .3s ease}.disk-usage-segment.wordpress.green{background:#10b981}.disk-usage-segment.wordpress.yellow{background:#f59e0b}.disk-usage-segment.wordpress.red{background:#ef4444}.disk-usage-segment.mysql{background:#22d3ee}.disk-usage-segment.snapshots{background:#71717a4d}.disk-usage-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.disk-usage-legend-item{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--text-tertiary)}.disk-usage-legend-dot{width:8px;height:8px;border-radius:2px}.disk-usage-legend-dot.wordpress{background:#10b981}.disk-usage-legend-dot.mysql{background:#22d3ee}.disk-usage-legend-dot.snapshots{background:#71717a4d}.auto-sync-modal{max-width:480px}.auto-sync-loading{display:flex;align-items:center;justify-content:center;gap:8px;padding:24px;color:var(--text-tertiary);font-size:12px}.auto-sync-body{padding:16px 0}.auto-sync-env-name{font-size:12px;font-weight:600;color:var(--text-primary);padding-bottom:12px;border-bottom:1px solid var(--border-subtle);margin-bottom:12px}.auto-sync-toggle{margin-bottom:16px}.auto-sync-toggle-label{display:flex;align-items:center;justify-content:space-between;cursor:pointer}.auto-sync-toggle-label span{font-size:12px;font-weight:500;color:var(--text-primary)}.auto-sync-description{font-size:10px;color:var(--text-tertiary);margin:4px 0 0}.auto-sync-presets{display:flex;flex-direction:column;gap:8px}.auto-sync-cron-display{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:10px;color:var(--text-tertiary)}.auto-sync-cron-input{font-family:JetBrains Mono,Fira Code,Monaco,monospace}.auto-sync-next-runs{margin-top:16px;padding:12px;background:var(--bg-tertiary);border-radius:6px}.auto-sync-next-runs h5{margin:0 0 8px;font-size:10px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.auto-sync-next-runs ul{list-style:none;margin:0;padding:0}.auto-sync-next-runs li{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:10px;color:var(--text-secondary)}.auto-sync-next-runs li svg{color:var(--text-tertiary)}.bulk-actions-bar{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#6366f114;border:1px solid rgba(99,102,241,.2);border-radius:6px;margin-bottom:16px}.bulk-actions-info{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary)}.bulk-actions-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;background:var(--accent-primary);color:#fff;border-radius:12px;font-size:10px;font-weight:700}.bulk-actions-buttons{display:flex;gap:4px;flex:1}.bulk-actions-clear{color:var(--text-tertiary)!important}.bulk-actions-confirm{display:flex;align-items:center;gap:12px;width:100%}.bulk-actions-confirm span{flex:1;font-size:12px;color:var(--text-primary);font-weight:500}.operation-progress-content{flex:1;display:flex;flex-direction:column;gap:8px}.operation-progress{display:flex;flex-direction:column;gap:4px}.operation-progress-bar{height:4px;background:#22d3ee33;border-radius:2px;overflow:hidden}.operation-progress-fill{height:100%;background:#22d3ee;border-radius:2px;transition:width .3s ease}.operation-progress-step{font-size:10px;color:var(--text-tertiary)}.health-tab{padding:16px 0}@media (max-width: 900px){.pipeline-row{flex-direction:column;align-items:stretch}.pipeline-row .pipeline-card{max-width:none}.pipeline-arrow{min-width:auto;padding:8px 0}.pipeline-arrow .pipeline-arrow-btn{flex-direction:row}.pipeline-arrow svg{transform:rotate(90deg)}.pipeline-sync-row{flex-direction:column}.pipeline-sync-row .pipeline-sync-action{max-width:none}.bulk-actions-bar,.bulk-actions-buttons{flex-wrap:wrap}}.ssl-status-icon.warning{background:#f59e0b1a;color:#f59e0b}.ssl-cert-list{display:flex;flex-direction:column;gap:12px}.ssl-cert-item{display:flex;align-items:center;gap:20px;padding:16px 20px;background-color:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;transition:border-color .2s ease}.ssl-cert-item:hover{border-color:var(--border-active)}.ssl-cert-item{gap:16px}@media (max-width: 768px){.ssl-cert-item{flex-wrap:wrap}}.ssl-cert-item-info{display:flex;align-items:center;justify-content:flex-start;gap:16px;flex:1;min-width:0}.ssl-cert-item-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#10b9811a;border-radius:8px;color:#10b981}.ssl-cert-item-icon.expiring{background:#f59e0b1a;color:#f59e0b}.ssl-cert-item-details{min-width:0}.ssl-cert-item-details h3{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.ssl-cert-item-meta{display:flex;align-items:center;justify-content:flex-start;gap:16px;font-size:12px;color:var(--text-tertiary);flex-wrap:wrap}.ssl-cert-item-meta span{display:flex;align-items:center;justify-content:flex-start;gap:4px}.ssl-cert-item-meta span.valid{color:#10b981}.ssl-cert-item-meta span.expiring{color:#f59e0b}.ssl-cert-item-status{flex-shrink:0}.ssl-cert-item-actions{display:flex;gap:8px;flex-shrink:0}.ssl-warning-banner{display:flex;align-items:center;justify-content:flex-start;gap:12px;padding:16px 20px;background:#f59e0b1a;border:1px solid rgba(245,158,11,.2);border-radius:12px;margin-top:24px;color:#f59e0b}.ssl-warning-banner div{flex:1;font-size:12px;color:var(--text-secondary)}.ssl-warning-banner div strong{color:#f59e0b}.ssl-warning-banner .btn{flex-shrink:0}.spin{animation:ssl-spin 1s linear infinite}@keyframes ssl-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.skeleton-box{background:var(--bg-hover);border-radius:6px;animation:ssl-skeleton-pulse 1.5s ease-in-out infinite}@keyframes ssl-skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}.email-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;flex-wrap:wrap;gap:16px}.email-page .page-header .page-header-content h1{font-size:24px;font-weight:600;margin:0 0 4px}.email-page .page-header .page-header-content .page-description{color:var(--text-secondary);margin:0}.email-page .page-header .page-header-actions{display:flex;gap:8px}.email-page .page-loading{display:flex;justify-content:center;align-items:center;min-height:400px}.email-page .tab-navigation{display:flex;gap:8px;margin-bottom:24px;border-bottom:1px solid var(--border-subtle);padding-bottom:8px;overflow-x:auto}.email-page .tab-navigation .tab-button{padding:8px 16px;border:none;background:none;color:var(--text-secondary);cursor:pointer;border-radius:6px;white-space:nowrap;font-size:12px;transition:all .2s}.email-page .tab-navigation .tab-button:hover{background:var(--bg-hover);color:var(--text-primary)}.email-page .tab-navigation .tab-button.active{background:var(--accent-primary);color:#fff}.email-page .not-installed{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 24px;background:var(--bg-card);border-radius:8px;text-align:center}.email-page .not-installed .icon{font-size:64px;color:var(--text-tertiary);margin-bottom:16px}.email-page .not-installed h2{margin:0 0 8px}.email-page .not-installed p{color:var(--text-secondary);margin:0 0 24px;max-width:480px}.email-page .not-installed .install-form{display:flex;flex-direction:column;gap:16px;align-items:center;width:100%;max-width:400px}.email-page .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.email-page .section-header h2{margin:0;font-size:18px;font-weight:600}.email-page .section-header .section-actions{display:flex;gap:8px}.email-status .status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-bottom:24px}.email-service-card{background:var(--bg-card);border-radius:8px;border:1px solid var(--border-subtle);padding:20px}.email-service-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.email-service-header h3{margin:0 0 4px;font-size:16px;font-weight:600}.email-service-header .version{font-size:10px;color:var(--text-tertiary)}.email-service-meta{margin-top:12px;font-size:12px;color:var(--text-secondary)}.email-service-meta .meta-item{display:flex;justify-content:space-between;padding:4px 0}.email-service-actions{display:flex;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border-subtle)}.email-domains .domain-list{display:flex;flex-direction:column;gap:16px}.domain-card{background:var(--bg-card);border-radius:8px;border:1px solid var(--border-subtle);padding:20px}.domain-card .domain-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.domain-card .domain-header h3{margin:0;font-size:16px}.domain-card .domain-stats{display:flex;gap:24px;margin-bottom:12px;font-size:12px;color:var(--text-secondary)}.domain-card .domain-stats span{display:flex;align-items:center;gap:4px}.domain-card .domain-dns{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.domain-card .domain-dns .dns-badge{font-size:10px;padding:2px 8px;border-radius:4px;background:var(--bg-elevated);border:1px solid var(--border-subtle);color:var(--text-secondary)}.domain-card .domain-dns .dns-badge.verified{background:var(--bg-elevated);border-color:#10b981;color:#10b981}.domain-card .domain-dns .dns-badge.missing{background:var(--bg-elevated);border-color:#ef4444;color:#ef4444}.domain-card .domain-actions{display:flex;gap:8px;padding-top:12px;border-top:1px solid var(--border-subtle)}.email-accounts .domain-selector{margin-bottom:16px}.email-accounts .accounts-list{display:flex;flex-direction:column;gap:12px}.account-card{background:var(--bg-card);border-radius:6px;border:1px solid var(--border-subtle);padding:16px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.account-card .account-info .account-email{font-weight:500;margin-bottom:4px}.account-card .account-info .account-meta{font-size:12px;color:var(--text-secondary);display:flex;gap:16px}.account-card .account-actions{display:flex;gap:8px}.email-form{background:var(--bg-card);border-radius:8px;border:1px solid var(--border-subtle);padding:20px;margin-bottom:16px}.email-form .form-title{font-size:16px;font-weight:600;margin:0 0 16px}.email-form .form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:16px}.email-form .form-actions{display:flex;gap:8px;justify-content:flex-end}.email-aliases .items-list,.email-forwarding .items-list{display:flex;flex-direction:column;gap:12px}.alias-card,.forwarding-card{background:var(--bg-card);border-radius:6px;border:1px solid var(--border-subtle);padding:16px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.alias-card .item-info .item-mapping,.forwarding-card .item-info .item-mapping{font-weight:500;margin-bottom:4px;display:flex;align-items:center;gap:8px}.alias-card .item-info .item-mapping .arrow,.forwarding-card .item-info .item-mapping .arrow{color:var(--text-tertiary)}.alias-card .item-info .item-meta,.forwarding-card .item-info .item-meta{font-size:12px;color:var(--text-secondary)}.alias-card .item-actions,.forwarding-card .item-actions{display:flex;gap:8px}.email-dns-providers .provider-list{display:flex;flex-direction:column;gap:16px}.provider-card{background:var(--bg-card);border-radius:8px;border:1px solid var(--border-subtle);padding:20px}.provider-card .provider-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.provider-card .provider-header h3{margin:0;font-size:16px}.provider-card .provider-header .provider-type{font-size:10px;padding:2px 8px;border-radius:4px;background:var(--bg-elevated);text-transform:uppercase;letter-spacing:.5px}.provider-card .provider-meta{font-size:12px;color:var(--text-secondary);margin-bottom:12px}.provider-card .provider-meta .meta-row{display:flex;gap:16px;padding:4px 0}.provider-card .provider-actions{display:flex;gap:8px;padding-top:12px;border-top:1px solid var(--border-subtle)}.provider-card .zones-list{margin-top:12px;padding:12px;background:var(--bg-elevated);border-radius:6px;font-size:12px}.provider-card .zones-list .zone-item{display:flex;justify-content:space-between;padding:4px 0}.provider-card .zones-list .zone-item:not(:last-child){border-bottom:1px solid var(--border-subtle)}.email-spam .spam-config{background:var(--bg-card);border-radius:8px;border:1px solid var(--border-subtle);padding:20px}.email-spam .form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-bottom:16px}.email-spam .checkbox-field{display:flex;align-items:center;gap:8px}.email-spam .checkbox-field label{font-size:12px}.email-webmail .webmail-card{background:var(--bg-card);border-radius:8px;border:1px solid var(--border-subtle);padding:20px}.email-webmail .webmail-card .webmail-status-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.email-webmail .webmail-card .webmail-info{font-size:12px;color:var(--text-secondary);margin-bottom:16px}.email-webmail .webmail-card .webmail-actions{display:flex;gap:8px;flex-wrap:wrap}.email-webmail .proxy-form{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-subtle)}.email-queue .queue-list{display:flex;flex-direction:column;gap:12px}.queue-item{background:var(--bg-card);border-radius:6px;border:1px solid var(--border-subtle);padding:16px;display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.queue-item .queue-info{flex:1}.queue-item .queue-info .queue-id{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;font-weight:500;margin-bottom:4px}.queue-item .queue-info .queue-meta{font-size:12px;color:var(--text-secondary);display:flex;flex-wrap:wrap;gap:12px}.queue-item .queue-info .queue-error{font-size:12px;color:#ef4444;margin-top:4px}.email-logs .log-output{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:10px;line-height:1.6;color:var(--text-primary);background:var(--bg-body);padding:16px;border-radius:6px;border:1px solid var(--border-subtle);max-height:600px;overflow:auto;white-space:pre-wrap;word-break:break-all;margin:0}.email-logs .log-controls{display:flex;gap:8px;margin-bottom:12px;align-items:center}.status-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:500}.status-badge:before{content:"";width:6px;height:6px;border-radius:50%}.status-badge.online{color:#10b981;background:var(--bg-elevated)}.status-badge.online:before{background:#10b981}.status-badge.offline{color:#ef4444;background:var(--bg-elevated)}.status-badge.offline:before{background:#ef4444}.empty-state{text-align:center;padding:32px;color:var(--text-secondary)}.empty-state p{margin:0}.setup-wizard{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:var(--bg-body)}.wizard-card{width:100%;max-width:700px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:16px;padding:40px}.wizard-header{text-align:center;margin-bottom:32px}.wizard-header .wizard-logo{width:48px;height:48px;margin:0 auto 16px}.wizard-header h1{font-size:24px;font-weight:700;margin-bottom:8px}.wizard-header p{color:var(--text-secondary)}.wizard-progress{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:32px}.wizard-progress-step{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:9999px;font-size:12px;font-weight:600;border:2px solid var(--border-default);color:var(--text-tertiary);background:transparent;transition:all .2s ease}.wizard-progress-step.active{border-color:var(--accent-primary);background:var(--accent-primary);color:#fff}.wizard-progress-step.completed{border-color:var(--accent-primary);background:#6366f126;color:var(--accent-primary)}.wizard-progress-line{width:40px;height:2px;background:var(--border-default);transition:background .2s ease}.wizard-progress-line.active{background:var(--accent-primary)}.wizard-step{animation:wizardFadeIn .3s ease}@keyframes wizardFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.wizard-step-title{font-size:18px;font-weight:600;margin-bottom:8px}.wizard-step-description{color:var(--text-secondary);font-size:14px;margin-bottom:24px}.option-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}@media (max-width: 640px){.option-grid{grid-template-columns:1fr}}.option-card{display:flex;flex-direction:column;gap:12px;padding:20px;background:var(--bg-elevated);border:2px solid var(--border-default);border-radius:12px;cursor:pointer;transition:all .2s ease;position:relative}.option-card:hover{border-color:var(--border-active)}.option-card.selected{border-color:var(--accent-primary);background:#6366f114}.option-card .option-card-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--bg-secondary);color:var(--text-secondary);border-radius:8px}.option-card .option-card-label{font-weight:600;font-size:14px}.option-card .option-card-desc{font-size:12px;color:var(--text-secondary);line-height:1.5}.option-card .option-card-check{position:absolute;top:12px;right:12px;width:22px;height:22px;border-radius:9999px;display:flex;align-items:center;justify-content:center;background:var(--accent-primary);color:#fff;opacity:0;transform:scale(.5);transition:all .2s ease}.option-card.selected .option-card-check{opacity:1;transform:scale(1)}.tier-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}@media (max-width: 768px){.tier-grid{grid-template-columns:1fr}}.tier-card{display:flex;flex-direction:column;padding:20px;background:var(--bg-elevated);border:2px solid var(--border-default);border-radius:12px;transition:all .2s ease}.tier-card.detected{border-color:var(--accent-primary);background:#6366f114}.tier-card .tier-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.tier-card .tier-card-name{font-weight:700;font-size:16px}.tier-card .tier-card-badge{font-size:10px;padding:2px 8px;background:var(--accent-primary);color:#fff;border-radius:9999px;font-weight:500}.tier-card .tier-card-specs{font-size:12px;color:var(--text-secondary);margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--border-default)}.tier-card .tier-features{display:flex;flex-direction:column;gap:8px;flex:1}.tier-card .tier-feature{display:flex;align-items:center;gap:8px;font-size:12px}.tier-card .tier-feature .feature-icon{flex-shrink:0;width:16px;height:16px}.tier-card .tier-feature.available .feature-icon{color:#10b981}.tier-card .tier-feature.unavailable,.tier-card .tier-feature.unavailable .feature-icon{color:var(--text-tertiary)}.tier-warning{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#f59e0b1a;border:1px solid rgba(245,158,11,.2);border-radius:8px;margin-bottom:24px}.tier-warning .tier-warning-icon{flex-shrink:0;color:#f59e0b}.tier-warning .tier-warning-text{font-size:12px;color:var(--text-secondary);line-height:1.5}.summary-panel{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:12px;padding:24px;margin-bottom:24px}.summary-section:not(:last-child){margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--border-default)}.summary-section-title{font-size:12px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px}.summary-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.summary-row .summary-label{color:var(--text-secondary);font-size:12px}.summary-row .summary-value{font-weight:500;font-size:12px}.summary-tags{display:flex;flex-wrap:wrap;gap:8px}.summary-tag{display:inline-flex;align-items:center;padding:4px 12px;background:#6366f11f;color:var(--accent-primary);border-radius:9999px;font-size:12px;font-weight:500}.recommendation-chips{display:flex;flex-wrap:wrap;gap:8px}.recommendation-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:8px;font-size:12px;color:var(--text-primary)}.wizard-nav{display:flex;justify-content:space-between;align-items:center;margin-top:32px;padding-top:24px;border-top:1px solid var(--border-default)}.btn-wizard-prev{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;height:36px;border-radius:var(--radius, 6px);border:1px solid transparent;font-size:14px;font-weight:500;font-family:Inter,ui-sans-serif,system-ui,sans-serif;cursor:pointer;transition:background-color .15s ease,color .15s ease,opacity .15s ease;background:none;white-space:nowrap}.btn-wizard-prev:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-wizard-prev{color:var(--text-secondary);border-color:var(--border-default);background:transparent}.btn-wizard-prev:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-wizard-next{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;height:36px;border-radius:var(--radius, 6px);border:1px solid transparent;font-size:14px;font-weight:500;font-family:Inter,ui-sans-serif,system-ui,sans-serif;cursor:pointer;transition:background-color .15s ease,color .15s ease,opacity .15s ease;background:none;white-space:nowrap}.btn-wizard-next:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-wizard-next{background:var(--accent-primary);color:#fff;margin-left:auto}.btn-wizard-next:hover{background:var(--accent-hover)}.btn-wizard-next:disabled{opacity:.6;cursor:not-allowed}.wizard-info-banner{display:flex;gap:16px;padding:16px;background:#6366f11a;border-radius:6px;margin-bottom:24px}.wizard-info-banner .wizard-info-icon{flex-shrink:0;color:var(--accent-primary)}.wizard-info-banner p{margin:0;font-size:12px;color:var(--text-secondary);line-height:1.5}.wizard-loading{display:flex;align-items:center;justify-content:center;padding:40px;color:var(--text-secondary)}.migration-status-panel{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:12px;padding:20px;margin-bottom:24px}.migration-status-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.migration-status-row:not(:last-child){border-bottom:1px solid var(--border-subtle)}.migration-status-label{color:var(--text-secondary);font-size:12px}.migration-status-value{font-weight:600;font-size:12px}code.migration-status-value{background:var(--bg-secondary);padding:2px 8px;border-radius:6px;font-family:JetBrains Mono,Fira Code,Monaco,monospace}.migration-list{margin-bottom:24px}.migration-list-title{font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:12px}.migration-list-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:8px;font-size:12px}.migration-list-item:not(:last-child){margin-bottom:8px}.migration-list-item svg{flex-shrink:0;color:var(--accent-primary)}.migration-list-item code{font-family:JetBrains Mono,Fira Code,Monaco,monospace;color:var(--text-secondary);font-size:10px}.migration-list-item span{color:var(--text-primary)}.migration-login-section{margin-top:24px;padding-top:24px;border-top:1px solid var(--border-default)}.migration-login-form{display:flex;flex-direction:column;gap:12px;max-width:400px}.migration-login-form input{width:100%;height:36px;padding:0 12px;background:hsl(var(--background));border:1px solid hsl(var(--input));border-radius:6px;color:hsl(var(--foreground));font-size:12px;line-height:1;transition:border-color .2s ease}.migration-login-form input:focus{border-color:var(--accent-primary);outline:none;box-shadow:none}.migration-login-form input::-moz-placeholder{color:hsl(var(--muted-foreground))}.migration-login-form input::placeholder{color:hsl(var(--muted-foreground))}.migration-login-form input:disabled{cursor:not-allowed;opacity:.5}.migration-login-form .btn-wizard-next{align-self:flex-start}.migration-error-inline{padding:12px;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:8px;color:#ef4444;font-size:12px}.migration-backup-actions{margin-bottom:24px}.backup-status{display:flex;align-items:flex-start;gap:12px;padding:16px;border-radius:8px;margin-bottom:24px}.backup-status--success{background:#10b9811a;border:1px solid rgba(16,185,129,.2);color:#10b981}.backup-status--error{background:#ef44441a;border:1px solid rgba(239,68,68,.2);color:#ef4444}.backup-status svg{flex-shrink:0;margin-top:2px}.backup-status strong{display:block;margin-bottom:4px}.backup-status code{display:block;font-size:10px;color:var(--text-secondary);word-break:break-all;font-family:JetBrains Mono,Fira Code,Monaco,monospace}.backup-status span{font-size:12px}.migration-apply-actions{text-align:center;padding:24px 0}.migration-progress{display:flex;flex-direction:column;align-items:center;gap:16px;padding:32px 0;color:var(--text-secondary)}.migration-progress svg{color:var(--accent-primary)}.migration-progress span{font-size:14px}.migration-success{text-align:center;padding:32px 0}.migration-success svg{color:#10b981;margin-bottom:16px}.migration-success h2{font-size:20px;font-weight:700;margin-bottom:8px}.migration-success p{color:var(--text-secondary);font-size:14px}.migration-success code{background:var(--bg-secondary);padding:2px 8px;border-radius:6px;font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px}.migration-error{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:8px;margin-bottom:24px}.migration-error>svg{flex-shrink:0;color:#ef4444;margin-top:2px}.migration-error strong{display:block;color:#ef4444;margin-bottom:4px}.migration-error span{display:block;font-size:12px;color:var(--text-secondary)}.migration-error .btn-wizard-prev{margin-left:auto;flex-shrink:0;align-self:center}.migration-nav-right{display:flex;align-items:center;gap:16px}.btn-text-link{background:none;border:none;color:var(--text-tertiary);font-size:12px;cursor:pointer;padding:0;text-decoration:underline;transition:color .2s ease}.btn-text-link:hover{color:var(--text-secondary)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}.billing-suspension-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f59e0b1a;border:1px solid rgba(245,158,11,.2);border-radius:6px;color:#f59e0b;font-size:12px;margin-bottom:16px}.billing-suspension-banner span{flex:1;color:var(--text-secondary)}.services-page__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.services-page__header h1{font-size:24px;font-weight:700;color:var(--text-primary);margin:0}.services-page__subtitle{color:var(--text-tertiary);font-size:12px;margin-top:4px}.services-page__filters{display:flex;gap:12px;margin-bottom:20px}.services-page__search{flex:1;display:flex;align-items:center;gap:8px;background:var(--bg-card);border:1px solid var(--border-default);border-radius:8px;padding:0 12px;transition:border-color .15s ease}.services-page__search:focus-within{border-color:var(--accent-primary)}.services-page__search svg{color:var(--text-tertiary);flex-shrink:0}.services-page__search input{flex:1;background:none;border:none;padding:8px 0;color:var(--text-primary);font-size:12px;outline:none}.services-page__search input::-moz-placeholder{color:var(--text-tertiary)}.services-page__search input::placeholder{color:var(--text-tertiary)}.services-page__filter-select{width:100%;height:36px;padding:0 12px;background:hsl(var(--background));border:1px solid hsl(var(--input));border-radius:6px;color:hsl(var(--foreground));font-size:12px;line-height:1;transition:border-color .2s ease}.services-page__filter-select:focus{border-color:var(--accent-primary);outline:none;box-shadow:none}.services-page__filter-select::-moz-placeholder{color:hsl(var(--muted-foreground))}.services-page__filter-select::placeholder{color:hsl(var(--muted-foreground))}.services-page__filter-select:disabled{cursor:not-allowed;opacity:.5}.services-page__filter-select{width:auto;min-width:120px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='hsl(var(--muted-foreground))' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;padding-right:28px;font-size:12px}.services-page__list{display:flex;flex-direction:column;border:1px solid var(--border-default);border-radius:8px;overflow:hidden}.services-page__row{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--bg-card);cursor:pointer;transition:background .15s ease}.services-page__row:hover{background:var(--bg-hover)}.services-page__row+.services-page__row{border-top:1px solid var(--border-subtle)}.services-page__row-main{display:flex;align-items:center;gap:12px;min-width:0;flex:1}.services-page__type-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.services-page__row-info{min-width:0}.services-page__row-name{font-weight:500;color:var(--text-primary);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.services-page__row-meta{display:flex;align-items:center;gap:8px;margin-top:2px}.services-page__type-badge{font-size:10px;font-weight:500;padding:1px 8px;border-radius:9999px;border:1px solid;line-height:1.4}.services-page__domain{font-size:10px;color:var(--text-tertiary);font-family:JetBrains Mono,Fira Code,Monaco,monospace}.services-page__row-right{display:flex;align-items:center;gap:16px;flex-shrink:0}.services-page__status{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:500;white-space:nowrap}.services-page__status--live{color:#10b981}.services-page__status--stopped{color:var(--text-tertiary)}.services-page__status--deploying,.services-page__status--building{color:#f59e0b}.services-page__status--failed{color:#ef4444}.services-page__status-dot{width:8px;height:8px;border-radius:50%;background:currentColor;flex-shrink:0}.services-page__status--live .services-page__status-dot{animation:pulse-dot 2s ease-in-out infinite}.services-page__status--deploying .services-page__status-dot,.services-page__status--building .services-page__status-dot{animation:pulse-dot 1s ease-in-out infinite}.services-page__repo-pill{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--text-tertiary);background:var(--bg-secondary);padding:2px 8px;border-radius:9999px;font-family:JetBrains Mono,Fira Code,Monaco,monospace;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.services-page__repo-pill svg{flex-shrink:0}.services-page__last-deploy{font-size:10px;color:var(--text-tertiary);white-space:nowrap}.services-page__actions{display:flex;gap:4px}.services-page__empty{text-align:center;padding:64px 32px}.services-page__empty h3{color:var(--text-primary);margin:16px 0 8px}.services-page__empty p{color:var(--text-tertiary);margin-bottom:20px}.services-page__empty-icon{color:var(--text-tertiary);opacity:.5;display:flex;align-items:center;justify-content:center}.services-page__summary{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}@media (max-width: 1024px){.services-page__summary{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.services-page__summary{grid-template-columns:1fr}}.services-page__summary-card{display:flex;align-items:center;gap:12px;padding:16px 20px;background:var(--bg-card);border:1px solid var(--border-default);border-radius:8px}.services-page__summary-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.services-page__summary-icon--live{background:#10b9811a;color:#10b981}.services-page__summary-icon--stopped{background:#ef44441a;color:#ef4444}.services-page__summary-icon--type{background:#3b82f61a;color:#3b82f6}.services-page__summary-icon--deploy{background:#f59e0b1a;color:#f59e0b}.services-page__summary-info{display:flex;flex-direction:column;min-width:0}.services-page__summary-value{font-size:18px;font-weight:700;color:var(--text-primary);line-height:1.2}.services-page__summary-label{font-size:10px;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.services-page__list-header{display:flex;justify-content:space-between;align-items:center;padding:8px 20px;font-size:10px;color:var(--text-tertiary);font-weight:500;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-subtle);background:var(--bg-elevated)}.services-page__list-header-left{display:flex;align-items:center;gap:12px}.services-page__list-header-right{display:flex;align-items:center;gap:32px}.services-page__checkbox{width:16px;height:16px;accent-color:var(--accent-primary, #6366f1);cursor:pointer;flex-shrink:0}.services-page__row--selected{background:var(--accent-glow, rgba(99, 102, 241, .08))!important}.services-page__bulk-bar{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:var(--accent-glow, rgba(99, 102, 241, .08));border:1px solid var(--accent-primary, #6366f1);border-radius:8px;margin-bottom:16px;font-size:12px;font-weight:500;color:var(--text-primary)}.services-page__bulk-actions{display:flex;gap:8px}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.svc-detail__breadcrumb{display:flex;align-items:center;gap:8px;margin-bottom:20px;font-size:12px}.svc-detail__breadcrumb a{color:var(--text-tertiary);text-decoration:none}.svc-detail__breadcrumb a:hover{color:var(--text-primary)}.svc-detail__breadcrumb-sep{color:var(--text-tertiary)}.svc-detail__breadcrumb-current{color:var(--text-secondary);font-weight:500}.svc-detail__header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.svc-detail__header-left{display:flex;align-items:flex-start;gap:16px;min-width:0}.svc-detail__icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.svc-detail__title-block{min-width:0}.svc-detail__title-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.svc-detail__title-row h1{font-size:24px;font-weight:700;color:var(--text-primary);margin:0;white-space:nowrap}.svc-detail__status{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:500;padding:2px 12px;border-radius:9999px}.svc-detail__status--live{color:#10b981;background:#10b9811a}.svc-detail__status--stopped{color:var(--text-tertiary);background:var(--bg-secondary)}.svc-detail__status--deploying,.svc-detail__status--building{color:#f59e0b;background:#f59e0b1a}.svc-detail__status--failed{color:#ef4444;background:#ef44441a}.svc-detail__status-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.svc-detail__status--live .svc-detail__status-dot{animation:pulse-dot 2s ease-in-out infinite}.svc-detail__status--deploying .svc-detail__status-dot,.svc-detail__status--building .svc-detail__status-dot{animation:pulse-dot 1s ease-in-out infinite}.svc-detail__type-badge{font-size:10px;font-weight:500;padding:2px 8px;border-radius:9999px;border:1px solid}.svc-detail__subtitle{display:flex;align-items:center;gap:8px;margin-top:4px;font-size:12px;color:var(--text-tertiary)}.svc-detail__subtitle .mono{font-family:JetBrains Mono,Fira Code,Monaco,monospace}.svc-detail__sep{color:var(--text-tertiary)}.svc-detail__header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.svc-detail__dropdown{position:relative}.svc-detail__dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:8px;padding:4px;min-width:200px;z-index:10;box-shadow:var(--shadow-lg)}.svc-detail__dropdown-menu--right{left:auto;right:0}.svc-detail__dropdown-menu button,.svc-detail__dropdown-menu a{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;background:none;border:none;color:var(--text-secondary);font-size:12px;cursor:pointer;border-radius:6px;text-decoration:none}.svc-detail__dropdown-menu button:hover,.svc-detail__dropdown-menu a:hover{background:var(--bg-hover);color:var(--text-primary)}.svc-detail__dropdown-menu button:disabled,.svc-detail__dropdown-menu a:disabled{opacity:.5;cursor:not-allowed}.svc-detail__dropdown-divider{height:1px;background:var(--border-subtle);margin:4px 0}.svc-detail__dropdown-danger{color:#ef4444!important}.svc-detail__dropdown-danger:hover{background:#ef44441a!important;color:#ef4444!important}.svc-detail__repo-bar{margin-bottom:20px}.svc-detail__repo-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-card);border:1px solid var(--border-default);border-radius:9999px;font-size:12px;color:var(--text-secondary);cursor:pointer;transition:border-color .15s ease}.svc-detail__repo-pill:hover{border-color:var(--accent-primary)}.svc-detail__repo-url{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:10px}.svc-detail__repo-arrow{color:var(--text-tertiary)}.svc-detail__repo-branch{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:10px;color:var(--accent-primary);font-weight:500}.svc-detail__auto-deploy-badge{font-size:10px;padding:0 4px;background:#10b9811a;color:#10b981;border-radius:4px;font-weight:500}.svc-detail__connect-repo{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:none;border:1px dashed var(--border-default);border-radius:9999px;font-size:12px;color:var(--text-tertiary);cursor:pointer;transition:all .15s ease}.svc-detail__connect-repo:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.svc-detail__tabs{display:flex;gap:0;border-bottom:1px solid var(--border-default);margin-bottom:24px;overflow-x:auto}.svc-detail__tab{padding:12px 16px;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-tertiary);font-size:12px;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .15s ease}.svc-detail__tab:hover{color:var(--text-secondary)}.svc-detail__tab--active{color:var(--text-primary);border-bottom-color:var(--accent-primary)}.svc-detail__content{min-height:400px}.events-tab__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.events-tab__header h3{margin:0;color:var(--text-primary)}.events-tab__timeline{display:flex;flex-direction:column}.events-tab__event{display:flex;gap:16px;padding:16px;border:1px solid var(--border-default);border-radius:8px;background:var(--bg-card);cursor:pointer;transition:background .15s ease}.events-tab__event+.events-tab__event{margin-top:8px}.events-tab__event:hover{background:var(--bg-hover)}.events-tab__event--expanded{background:var(--bg-elevated)}.events-tab__event-status{width:8px;height:8px;border-radius:50%;margin-top:6px;flex-shrink:0}.events-tab__event-body{flex:1;min-width:0}.events-tab__event-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.events-tab__event-commit{display:flex;align-items:center;gap:8px}.events-tab__event-sha{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:10px;color:var(--accent-primary);background:var(--accent-glow);padding:1px 8px;border-radius:4px}.events-tab__event-message{font-size:12px;color:var(--text-primary);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.events-tab__event-meta{display:flex;align-items:center;gap:12px;margin-top:4px;font-size:10px;color:var(--text-tertiary)}.events-tab__event-badge{font-size:10px;font-weight:500;padding:1px 8px;border-radius:4px}.events-tab__event-logs{margin-top:12px;padding:12px;background:var(--bg-body);border-radius:6px;max-height:300px;overflow-y:auto}.events-tab__event-logs pre{margin:0;font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:10px;color:var(--text-secondary);white-space:pre-wrap;word-break:break-all}.events-tab__empty{text-align:center;padding:48px 32px;color:var(--text-tertiary)}.events-tab__empty h3{color:var(--text-secondary);margin-bottom:8px}.shell-tab__container{border:1px solid var(--border-default);border-radius:8px;overflow:hidden}.shell-tab__header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--bg-elevated);border-bottom:1px solid var(--border-default)}.shell-tab__terminal{background:#0d1117;padding:16px;min-height:400px;font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;color:#e6edf3;overflow-y:auto;max-height:600px}.shell-tab__line{line-height:1.6;white-space:pre-wrap;word-break:break-all}.shell-tab__line--input{color:#58a6ff}.shell-tab__line--error{color:#f85149}.shell-tab__input-row{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--bg-card);border-top:1px solid var(--border-default)}.shell-tab__prompt{color:var(--accent-primary);font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;flex-shrink:0}.shell-tab__input{flex:1;background:none;border:none;color:var(--text-primary);font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;outline:none}.metrics-tab__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.metrics-tab__card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:8px;padding:20px}.metrics-tab__card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.metrics-tab__card-header h4{margin:0;color:var(--text-primary);font-size:14px}.metrics-tab__card-header span{font-size:20px;font-weight:700;color:var(--text-primary)}.metrics-tab__bar{height:8px;background:var(--bg-secondary);border-radius:9999px;overflow:hidden}.metrics-tab__bar-fill{height:100%;border-radius:9999px;transition:width .3s ease}.metrics-tab__info{margin-top:8px;font-size:10px;color:var(--text-tertiary)}.git-connect-modal__form{display:flex;flex-direction:column;gap:16px}.git-connect-modal__field label{display:block;font-size:12px;font-weight:500;color:var(--text-secondary);margin-bottom:4px}.git-connect-modal__field input,.git-connect-modal__field select,.git-connect-modal__field textarea{width:100%;padding:8px 12px;background:var(--bg-card);border:1px solid var(--border-default);border-radius:6px;color:var(--text-primary);font-size:12px}.git-connect-modal__field input:focus,.git-connect-modal__field select:focus,.git-connect-modal__field textarea:focus{outline:none;border-color:var(--accent-primary)}.git-connect-modal__field textarea{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:10px;min-height:80px;resize:vertical}.git-connect-modal__toggle{display:flex;align-items:center;justify-content:space-between;padding:12px;background:var(--bg-card);border:1px solid var(--border-default);border-radius:6px}.git-connect-modal__toggle-label{font-size:12px;color:var(--text-secondary)}.git-connect-modal__toggle-label span{display:block;font-size:10px;color:var(--text-tertiary);margin-top:2px}.git-connect-modal__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border-subtle)}.svc-settings__section{margin-bottom:24px}.svc-settings__section-title{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:16px}.btn-icon{padding:8px!important;min-width:auto!important}.overview-tab__stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}@media (max-width: 768px){.overview-tab__stats-row{grid-template-columns:repeat(2,1fr)}}.overview-tab__stat-card{display:flex;align-items:center;gap:12px;padding:16px 20px;background:var(--bg-card);border:1px solid var(--border-default);border-radius:8px}.overview-tab__stat-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.overview-tab__stat-icon--status{background:var(--bg-secondary)}.overview-tab__stat-icon--deploys{background:#3b82f61a;color:#3b82f6}.overview-tab__stat-icon--success{background:#10b9811a;color:#10b981}.overview-tab__stat-icon--failed{background:#ef44441a;color:#ef4444}.overview-tab__pulse{width:10px;height:10px;border-radius:50%}.overview-tab__pulse--live{background:#10b981;animation:pulse-dot 2s ease-in-out infinite}.overview-tab__pulse--stopped{background:var(--text-tertiary)}.overview-tab__stat-info{display:flex;flex-direction:column}.overview-tab__stat-value{font-size:18px;font-weight:700;color:var(--text-primary);line-height:1.2}.overview-tab__stat-label{font-size:10px;color:var(--text-tertiary)}.overview-tab__grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}@media (max-width: 768px){.overview-tab__grid{grid-template-columns:1fr}}.overview-tab__card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:8px;padding:20px}.overview-tab__card--full{grid-column:1/-1}.overview-tab__card-title{font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 16px}.overview-tab__card-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.overview-tab__card-header-row .overview-tab__card-title{margin:0}.overview-tab__see-all{font-size:10px;color:var(--text-tertiary)}.overview-tab__info-list{display:flex;flex-direction:column}.overview-tab__info-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0}.overview-tab__info-row+.overview-tab__info-row{border-top:1px solid var(--border-subtle)}.overview-tab__info-label{font-size:12px;color:var(--text-tertiary)}.overview-tab__info-value{font-size:12px;color:var(--text-primary)}.overview-tab__info-value.mono{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:10px}.overview-tab__info-badge{font-size:10px;font-weight:500;padding:2px 8px;border-radius:9999px;border:1px solid}.overview-tab__info-link{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--accent-primary);text-decoration:none}.overview-tab__info-link:hover{text-decoration:underline}.overview-tab__branch{margin-left:8px;color:var(--accent-primary);font-weight:500}.overview-tab__env-badge{font-size:10px;font-weight:500;padding:2px 8px;border-radius:4px;text-transform:capitalize}.overview-tab__env-badge--production{background:#ef44441a;color:#ef4444}.overview-tab__env-badge--staging{background:#f59e0b1a;color:#f59e0b}.overview-tab__env-badge--development{background:#3b82f61a;color:#3b82f6}.overview-tab__metrics{display:flex;flex-direction:column;gap:16px}.overview-tab__metric-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:12px;color:var(--text-secondary)}.overview-tab__metric-value{font-weight:700;color:var(--text-primary)}.overview-tab__metric-bar{height:6px;background:var(--bg-secondary);border-radius:9999px;overflow:hidden}.overview-tab__metric-bar-fill{height:100%;border-radius:9999px;transition:width .3s ease}.overview-tab__metric-detail{font-size:10px;color:var(--text-tertiary);margin-top:4px}.overview-tab__metric-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.overview-tab__metric-item{display:flex;flex-direction:column;gap:2px}.overview-tab__metric-item-label{font-size:10px;color:var(--text-tertiary)}.overview-tab__metric-item-value{font-size:12px;font-weight:500;color:var(--text-primary)}.overview-tab__metric-item-value.mono{font-family:JetBrains Mono,Fira Code,Monaco,monospace}.overview-tab__loading,.overview-tab__no-metrics,.overview-tab__no-deploys{padding:24px;text-align:center;color:var(--text-tertiary);font-size:12px}.overview-tab__deploy-list{display:flex;flex-direction:column}.overview-tab__deploy-row{display:flex;align-items:center;gap:12px;padding:12px 0}.overview-tab__deploy-row+.overview-tab__deploy-row{border-top:1px solid var(--border-subtle)}.overview-tab__deploy-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.overview-tab__deploy-info{flex:1;min-width:0}.overview-tab__deploy-message{font-size:12px;color:var(--text-primary);font-weight:500;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.overview-tab__deploy-meta{display:flex;align-items:center;gap:12px;font-size:10px;color:var(--text-tertiary);margin-top:2px}.overview-tab__deploy-sha{font-family:JetBrains Mono,Fira Code,Monaco,monospace;color:var(--accent-primary);background:var(--accent-glow);padding:0 4px;border-radius:4px}.overview-tab__deploy-badge{font-size:10px;font-weight:500;padding:2px 8px;border-radius:4px;flex-shrink:0}.logs-tab-v2{display:flex;flex-direction:column;gap:0}.logs-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-card);border:1px solid var(--border-default);border-radius:8px 8px 0 0}.logs-toolbar__left{display:flex;align-items:center;gap:12px;flex:1}.logs-toolbar__right{display:flex;align-items:center;gap:8px;flex-shrink:0}.logs-toolbar__search{display:flex;align-items:center;gap:8px;background:var(--bg-body);border:1px solid var(--border-default);border-radius:6px;padding:0 8px;flex:1;max-width:300px}.logs-toolbar__search:focus-within{border-color:var(--accent-primary)}.logs-toolbar__search svg{color:var(--text-tertiary);flex-shrink:0}.logs-toolbar__search input{flex:1;background:none;border:none;padding:4px 0;color:var(--text-primary);font-size:12px;outline:none;min-width:0}.logs-toolbar__search input::-moz-placeholder{color:var(--text-tertiary)}.logs-toolbar__search input::placeholder{color:var(--text-tertiary)}.logs-toolbar__match-count{font-size:10px;color:var(--accent-primary);white-space:nowrap}.logs-toolbar__select{background:var(--bg-body);border:1px solid var(--border-default);border-radius:6px;padding:4px 8px;color:var(--text-secondary);font-size:10px;outline:none;cursor:pointer}.logs-toolbar__select:focus{border-color:var(--accent-primary)}.logs-toolbar__toggle{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--text-tertiary);cursor:pointer;white-space:nowrap}.logs-toolbar__toggle input{accent-color:var(--accent-primary, #6366f1)}.logs-toolbar__divider{width:1px;height:16px;background:var(--border-default)}.logs-source-hint{display:flex;align-items:center;gap:8px;padding:4px 16px;background:var(--bg-elevated);border-left:1px solid var(--border-default);border-right:1px solid var(--border-default);font-size:10px;color:var(--text-tertiary)}.logs-source-hint__live{font-size:9px;font-weight:700;padding:1px 4px;background:#ef4444;color:#fff;border-radius:4px;animation:pulse-dot 1.5s ease-in-out infinite}.logs-viewer{background:#0d1117;border:1px solid var(--border-default);border-top:none;border-radius:0 0 8px 8px;min-height:400px;max-height:600px;overflow-y:auto;font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:10px;line-height:1.7;scroll-behavior:smooth}.logs-viewer__loading,.logs-viewer__empty{padding:32px;text-align:center;color:#8b949e}.logs-viewer__line{display:flex;padding:0 16px;transition:background .1s}.logs-viewer__line:hover{background:#ffffff08}.logs-viewer__line--error{background:#f851490f}.logs-viewer__line--error .logs-viewer__line-text{color:#f85149}.logs-viewer__line--warn{background:#d299220f}.logs-viewer__line--warn .logs-viewer__line-text{color:#d29922}.logs-viewer__line--debug .logs-viewer__line-text{color:#8b949e}.logs-viewer__line-num{width:48px;padding-right:12px;color:#484f58;text-align:right;flex-shrink:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.logs-viewer__line-text{flex:1;color:#e6edf3;white-space:pre-wrap;word-break:break-all}.logs-viewer__highlight{background:#d299224d;color:#e6edf3;border-radius:2px;padding:0 1px}.fleet-heatmap{width:100%}.fleet-heatmap__header{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr 1fr;gap:8px;padding:8px 12px;font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--text-secondary);border-bottom:1px solid var(--border-subtle)}.fleet-heatmap__row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr 1fr;gap:8px;padding:8px 12px;align-items:center;border-bottom:1px solid var(--border-subtle);transition:background .15s}.fleet-heatmap__row:hover{background:var(--bg-hover)}.fleet-heatmap__row:last-child{border-bottom:none}.fleet-heatmap__server{display:flex;align-items:center;gap:8px;font-weight:500;font-size:.875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fleet-heatmap__cell{text-align:center;padding:4px 8px;border-radius:4px;font-size:.8125rem;font-weight:500;font-variant-numeric:tabular-nums;transition:background-color .3s}.fleet-heatmap__label{text-align:center}@media (max-width: 768px){.fleet-heatmap__header,.fleet-heatmap__row{grid-template-columns:1.5fr 1fr 1fr 1fr}.fleet-heatmap__header>:nth-child(5),.fleet-heatmap__header>:nth-child(6),.fleet-heatmap__row>:nth-child(5),.fleet-heatmap__row>:nth-child(6){display:none}}.server-templates-page .compliance-bar{margin:24px 0;padding:24px;background:var(--bg-card);border-radius:8px;border:1px solid var(--border-default)}.server-templates-page .compliance-bar__stats{display:flex;gap:32px;margin-bottom:16px}.server-templates-page .compliance-bar__progress{height:8px;background:var(--border-default);border-radius:4px;overflow:hidden}.server-templates-page .compliance-bar__progress .progress-fill{height:100%;background:#10b981;border-radius:4px;transition:width .3s ease}.server-templates-page .stat-item{display:flex;flex-direction:column}.server-templates-page .stat-item__value{font-size:1.5rem;font-weight:700}.server-templates-page .stat-item__label{font-size:.8rem;color:var(--text-tertiary);text-transform:uppercase}.server-templates-page .stat-item--success .stat-item__value{color:#10b981}.server-templates-page .stat-item--danger .stat-item__value{color:#ef4444}.server-templates-page .stat-item--muted .stat-item__value{color:var(--text-tertiary)}.server-templates-page .templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:24px;margin-top:24px}.server-templates-page .template-card{padding:24px;display:flex;flex-direction:column;gap:8px;cursor:pointer;transition:border-color .15s}.server-templates-page .template-card:hover{border-color:var(--accent-primary)}.server-templates-page .template-card__header{display:flex;justify-content:space-between;align-items:center}.server-templates-page .template-card__header h3{margin:0}.server-templates-page .template-card__desc{color:var(--text-secondary);font-size:.9rem;margin:0}.server-templates-page .template-card__meta{display:flex;gap:16px;font-size:.85rem;color:var(--text-tertiary)}.server-templates-page .template-card__spec{display:flex;flex-wrap:wrap;gap:4px}.server-templates-page .template-card__spec span{font-size:.8rem;padding:2px 8px;background:var(--bg-hover);border-radius:4px}.server-templates-page .template-card__actions{display:flex;gap:8px;margin-top:8px;padding-top:8px;border-top:1px solid var(--border-default)}.server-templates-page .server-select-list{display:flex;flex-direction:column;gap:4px;max-height:300px;overflow-y:auto}.server-templates-page .server-select-item{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:6px;cursor:pointer;transition:background-color .15s}.server-templates-page .server-select-item:hover{background:var(--bg-hover)}.dns-zones-page .dns-layout{display:grid;grid-template-columns:320px 1fr;gap:24px;margin-top:24px}@media (max-width: 900px){.dns-zones-page .dns-layout{grid-template-columns:1fr}}.dns-zones-page .dns-zones-list{display:flex;flex-direction:column;gap:4px}.dns-zones-page .dns-zone-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--bg-card);border:1px solid var(--border-default);border-radius:6px;cursor:pointer;transition:border-color .15s}.dns-zones-page .dns-zone-item:hover,.dns-zones-page .dns-zone-item.active{border-color:var(--accent-primary)}.dns-zones-page .dns-zone-item__info{display:flex;flex-direction:column;gap:2px}.dns-zones-page .dns-zone-item__actions{display:flex;gap:4px}.dns-zones-page .dns-records-panel{background:var(--bg-card);border:1px solid var(--border-default);border-radius:8px;padding:24px}.dns-zones-page .dns-records-panel__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.dns-zones-page .dns-records-panel__header h2{margin:0}.dns-zones-page .dns-records-panel__actions{display:flex;gap:8px}.dns-zones-page .text-mono{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:.85rem}.dns-zones-page .propagation-row{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--border-default)}.dns-zones-page .propagation-row:last-child{border-bottom:none}.dns-zones-page .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.status-pages-page .status-layout{display:grid;grid-template-columns:280px 1fr;gap:24px;margin-top:24px}@media (max-width: 900px){.status-pages-page .status-layout{grid-template-columns:1fr}}.status-pages-page .status-pages-list{display:flex;flex-direction:column;gap:4px}.status-pages-page .status-page-item{padding:16px;background:var(--bg-card);border:1px solid var(--border-default);border-radius:6px;cursor:pointer;display:flex;flex-direction:column;gap:2px;transition:border-color .15s}.status-pages-page .status-page-item:hover,.status-pages-page .status-page-item.active{border-color:var(--accent-primary)}.status-pages-page .status-detail-panel{background:var(--bg-card);border:1px solid var(--border-default);border-radius:8px;padding:24px}.status-pages-page .status-detail-panel__header{display:flex;align-items:baseline;gap:8px;margin-bottom:16px}.status-pages-page .status-detail-panel__header h2{margin:0}.status-pages-page .status-actions-bar{display:flex;justify-content:flex-end;margin:16px 0}.status-pages-page .components-list{display:flex;flex-direction:column;gap:4px}.status-pages-page .component-row{display:flex;justify-content:space-between;align-items:center;padding:16px;border:1px solid var(--border-default);border-radius:6px}.status-pages-page .component-row__info{display:flex;align-items:center;gap:8px}.status-pages-page .component-row__stats{display:flex;gap:16px;font-size:.85rem;color:var(--text-tertiary)}.status-pages-page .component-row__actions{display:flex;gap:4px}.status-pages-page .incidents-list{display:flex;flex-direction:column;gap:16px}.status-pages-page .incident-row{padding:16px;border:1px solid var(--border-default);border-radius:6px;display:flex;flex-direction:column;gap:4px}.status-pages-page .incident-row__header{display:flex;justify-content:space-between;align-items:center}.status-pages-page .incident-row p{margin:0;font-size:.9rem;color:var(--text-secondary)}.cloud-provision-page .cloud-servers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;margin-top:24px}.cloud-provision-page .cloud-server-card{padding:24px;display:flex;flex-direction:column;gap:8px}.cloud-provision-page .cloud-server-card__header{display:flex;justify-content:space-between;align-items:center}.cloud-provision-page .cloud-server-card__header h3{margin:0}.cloud-provision-page .cloud-server-card__meta{display:flex;gap:8px;font-size:.85rem;color:var(--text-tertiary)}.cloud-provision-page .cloud-server-card__cost{font-size:1.2rem;font-weight:600;color:var(--accent-primary)}.cloud-provision-page .cloud-server-card__actions{display:flex;justify-content:space-between;align-items:center;margin-top:8px;padding-top:8px;border-top:1px solid var(--border-default)}.cloud-provision-page .providers-list{display:flex;flex-direction:column;gap:8px;margin-top:24px}.cloud-provision-page .provider-row{display:flex;align-items:center;gap:16px;padding:16px}.cloud-provision-page .costs-panel{max-width:600px;margin-top:24px;padding:24px}.cloud-provision-page .cost-total{font-size:1.3rem;font-weight:600;margin:16px 0}.cloud-provision-page .cost-breakdown{display:flex;flex-direction:column;gap:8px}.cloud-provision-page .cost-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border-default)}.cloud-provision-page .cost-row:last-child{border-bottom:none}.cloud-provision-page .text-mono{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:.9rem}.marketplace-page .mkt-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:20px}.marketplace-page .mkt-type-toggle{display:flex;background:var(--bg-secondary);border-radius:9999px;padding:3px;gap:2px}.marketplace-page .mkt-type-btn{padding:4px 16px;border-radius:9999px;font-size:12px;font-weight:500;color:var(--text-tertiary);background:transparent;border:none;cursor:pointer;transition:color .15s ease,background .15s ease}.marketplace-page .mkt-type-btn--active{background:var(--bg-card);color:var(--text-primary);box-shadow:0 1px 3px #0000004d}.marketplace-page .mkt-type-btn:not(.mkt-type-btn--active):hover{color:var(--text-secondary)}.marketplace-page .mkt-tabs{display:flex;gap:4px}.marketplace-page .mkt-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9999px;background:#6366f126;color:var(--accent-primary);font-size:10px;font-weight:600;margin-left:4px}.marketplace-page .mkt-filters{display:flex;gap:12px;margin-bottom:20px}.marketplace-page .mkt-search{position:relative;flex:1}.marketplace-page .mkt-search__icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-tertiary);pointer-events:none}.marketplace-page .mkt-search__input{width:100%;padding:8px 12px 8px 34px;background:var(--bg-card);border:1px solid var(--border-default);border-radius:6px;color:var(--text-primary);font-size:14px;transition:border-color .15s ease}.marketplace-page .mkt-search__input::-moz-placeholder{color:var(--text-tertiary)}.marketplace-page .mkt-search__input::placeholder{color:var(--text-tertiary)}.marketplace-page .mkt-search__input:focus{outline:none;border-color:var(--accent-primary)}.marketplace-page .mkt-category-select{width:200px!important;flex-shrink:0}.marketplace-page .mkt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.marketplace-page .mkt-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:8px;display:flex;flex-direction:column;overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.marketplace-page .mkt-card:hover{border-color:var(--border-hover);box-shadow:0 4px 16px #00000040}.marketplace-page .mkt-card--installed{border-color:#10b98133}.marketplace-page .mkt-card__screenshot{width:100%;height:140px;overflow:hidden;background:var(--bg-secondary);flex-shrink:0}.marketplace-page .mkt-card__screenshot img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.marketplace-page .mkt-card__screenshot--placeholder{display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);opacity:.4;background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-elevated) 100%)}.marketplace-page .mkt-card__body{flex:1;display:flex;flex-direction:column;gap:8px;padding:16px}.marketplace-page .mkt-card__header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.marketplace-page .mkt-card__meta-badges{display:flex;gap:4px;flex-wrap:wrap;flex:1}.marketplace-page .mkt-card__admin-actions{display:flex;gap:4px;flex-shrink:0}.marketplace-page .mkt-card__admin-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:4px;background:var(--bg-secondary);border:1px solid var(--border-subtle);color:var(--text-tertiary);cursor:pointer;transition:all .15s ease}.marketplace-page .mkt-card__admin-btn:hover{background:var(--bg-elevated);border-color:var(--border-hover);color:var(--text-primary)}.marketplace-page .mkt-card__admin-btn--danger:hover{background:#ef44441a;border-color:#ef444433;color:#ef4444}.marketplace-page .mkt-card__name{font-size:14px;font-weight:600;color:var(--text-primary);margin:0;line-height:1.25}.marketplace-page .mkt-card__author{font-size:10px;color:var(--text-tertiary);margin:0}.marketplace-page .mkt-card__desc{font-size:12px;color:var(--text-secondary);margin:0;line-height:1.5;flex:1;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.marketplace-page .mkt-card__footer{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-top:1px solid var(--border-subtle);background:var(--bg-elevated)}.marketplace-page .mkt-card__price-block{display:flex;flex-direction:column;gap:2px}.marketplace-page .mkt-card__price{font-size:14px;font-weight:700;color:var(--accent-primary)}.marketplace-page .mkt-card__price--free{color:#10b981}.marketplace-page .mkt-card__price-period{font-size:10px;font-weight:400;color:var(--text-tertiary)}.marketplace-page .mkt-card__version{font-size:10px;color:var(--text-tertiary);font-family:JetBrains Mono,Fira Code,Monaco,monospace}.marketplace-page .mkt-stars{display:inline-flex;align-items:center;gap:1px;color:#f59e0b}.marketplace-page .mkt-stars__full{color:#f59e0b}.marketplace-page .mkt-stars__empty{color:var(--border-active)}.marketplace-page .mkt-installed-badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:500;color:#10b981;background:#10b9811a;border:1px solid rgba(16,185,129,.2);border-radius:9999px;padding:2px 8px}.marketplace-page .mkt-badge{display:inline-flex;align-items:center;font-size:10px;font-weight:500;padding:2px 7px;border-radius:9999px;white-space:nowrap}.marketplace-page .mkt-badge--plugin{background:#6366f11a;color:var(--accent-primary)}.marketplace-page .mkt-badge--theme{background:#8b5cf61a;color:#a78bfa}.marketplace-page .mkt-badge--cat{background:var(--bg-secondary);color:var(--text-tertiary);text-transform:capitalize}.marketplace-page .mkt-badge--pending{background:#f59e0b1f;color:#f59e0b}.marketplace-page .mkt-badge--suspended{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.2)}.marketplace-page .mkt-badge--installed-check{background:#10b9811a;color:#10b981;border:1px solid rgba(16,185,129,.2);display:inline-flex;align-items:center;gap:3px}.marketplace-page .mkt-installed{display:flex;flex-direction:column;gap:8px;margin-top:16px}.marketplace-page .mkt-installed-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-card);border:1px solid var(--border-default);border-radius:8px;transition:border-color .15s ease,background .15s ease}.marketplace-page .mkt-installed-item:hover{border-color:var(--border-hover)}.marketplace-page .mkt-installed-item--pending{border-color:#f59e0b4d;opacity:.9}.marketplace-page .mkt-installed-item__icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:6px;background:#6366f11a;color:var(--accent-primary);flex-shrink:0}.marketplace-page .mkt-installed-item__icon--theme{background:#8b5cf61f;color:#a78bfa}.marketplace-page .mkt-installed-item__icon--plugin{background:#6366f11f;color:var(--accent-primary)}.marketplace-page .mkt-installed-item__info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.marketplace-page .mkt-installed-item__name-row{display:flex;align-items:baseline;gap:8px}.marketplace-page .mkt-installed-item__name{font-size:14px;font-weight:500;color:var(--text-primary)}.marketplace-page .mkt-installed-item__price{font-size:10px;font-weight:500;color:var(--accent-primary);flex-shrink:0}.marketplace-page .mkt-installed-item__meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.marketplace-page .mkt-installed-item__version{font-size:10px;color:var(--text-tertiary);font-family:JetBrains Mono,Fira Code,Monaco,monospace}.marketplace-page .mkt-installed-item__site{font-size:10px;color:var(--text-tertiary)}.marketplace-page .mkt-installed-item__site:before{content:"·";margin-right:4px}.marketplace-page .mkt-installed-item__expiry{font-size:10px;color:var(--text-tertiary);display:inline-flex;align-items:center;gap:3px}.marketplace-page .mkt-installed-item__expiry:before{content:"·";margin-right:4px}.marketplace-page .mkt-installed-item__expiry--soon{color:#f59e0b}.marketplace-page .mkt-installed-item__expiry--expired{color:#ef4444}.marketplace-page .mkt-installed-item__actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.marketplace-page .mkt-installed-item--cancelling{border-color:#f59e0b40}.marketplace-page .mkt-installed-item--cancelling .mkt-installed-item__name:after{content:" · Cancels at period end";font-size:10px;color:#f59e0b;font-weight:400}.marketplace-page .mkt-installed-item--suspended{border-color:#ef444433;background:#ef44441a}.marketplace-page .mkt-icon-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:6px;background:transparent;border:1px solid var(--border-subtle);color:var(--text-tertiary);cursor:pointer;transition:all .15s ease}.marketplace-page .mkt-icon-btn:hover{background:#ef44441a;border-color:#ef444433;color:#ef4444}.marketplace-page .mkt-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.marketplace-page .mkt-form-grid__full{grid-column:1/-1}.marketplace-page .mkt-form-grid .form-group{margin-bottom:0}.marketplace-page .form-label{display:block;font-size:12px;font-weight:500;color:var(--text-secondary);margin-bottom:4px}.marketplace-page .form-label__optional{font-weight:400;color:var(--text-tertiary)}.marketplace-page .mkt-cat-picker{display:flex;flex-wrap:wrap;gap:4px;padding:8px;background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:6px;min-height:44px}.marketplace-page .mkt-cat-pill{padding:3px 12px;border-radius:9999px;font-size:10px;font-weight:500;text-transform:capitalize;background:var(--bg-card);border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.marketplace-page .mkt-cat-pill:hover{border-color:var(--border-hover);color:var(--text-primary)}.marketplace-page .mkt-cat-pill--active{background:#6366f126;border-color:var(--accent-primary);color:var(--accent-primary)}.marketplace-page .mkt-upload-zone{display:flex;align-items:center;justify-content:center;padding:16px;background:var(--bg-secondary);border:1px dashed var(--border-active);border-radius:6px;cursor:pointer;transition:border-color .15s ease,background .15s ease}.marketplace-page .mkt-upload-zone:hover{border-color:var(--accent-primary);background:#6366f10a}.marketplace-page .mkt-upload-zone__input{display:none}.marketplace-page .mkt-upload-zone__prompt{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--text-tertiary);font-size:12px}.marketplace-page .mkt-upload-zone__file{display:flex;align-items:center;gap:8px;width:100%}.marketplace-page .mkt-upload-zone__ok{color:#10b981;flex-shrink:0}.marketplace-page .mkt-upload-zone__filename{font-size:12px;color:var(--text-primary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.marketplace-page .mkt-upload-zone__clear{color:var(--text-tertiary);background:none;border:none;cursor:pointer;padding:2px;display:flex;flex-shrink:0}.marketplace-page .mkt-upload-zone__clear:hover{color:#ef4444}.marketplace-page .mkt-payment-summary{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-secondary);border-radius:6px;margin-bottom:16px}.marketplace-page .mkt-payment-summary__name{font-weight:500;color:var(--text-primary)}.marketplace-page .mkt-payment-summary__price{font-size:18px;font-weight:700;color:var(--accent-primary)}.marketplace-page .mkt-payment-summary__tax{font-size:10px;font-weight:400;color:var(--text-tertiary)}.marketplace-page .mkt-payment-methods{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.marketplace-page .mkt-pm-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 8px;background:var(--bg-secondary);border:2px solid var(--border-default);border-radius:6px;cursor:pointer;transition:border-color .15s,background .15s}.marketplace-page .mkt-pm-card:hover{border-color:var(--accent-primary)}.marketplace-page .mkt-pm-card--active{border-color:var(--accent-primary);background:#6366f114}.marketplace-page .mkt-pm-card__icon{color:var(--text-secondary);display:flex;align-items:center;justify-content:center}.marketplace-page .mkt-pm-card__label{font-size:12px;font-weight:500;color:var(--text-primary)}.marketplace-page .mkt-pm-pp{font-size:10px;font-weight:700;background:var(--accent-primary);color:#fff;padding:2px 5px;border-radius:4px}.marketplace-page .mkt-bank-pending__notice{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;background:#10b9811a;border:1px solid rgba(16,185,129,.2);border-radius:6px;margin-bottom:16px;font-size:12px;color:var(--text-primary)}.marketplace-page .mkt-bank-pending__icon{color:#10b981;flex-shrink:0;margin-top:2px}.marketplace-page .mkt-bank-pending__instructions h4{font-size:12px;font-weight:500;color:var(--text-secondary);margin-bottom:8px}.marketplace-page .mkt-bank-pending__instructions pre{background:var(--bg-tertiary);border-radius:6px;padding:12px 16px;font-size:12px;white-space:pre-wrap;word-break:break-word;color:var(--text-primary);line-height:1.6}.marketplace-page .mkt-already-installed{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#10b9811a;border:1px solid rgba(16,185,129,.2);border-radius:6px;margin-bottom:16px;font-size:12px;color:var(--text-primary)}.marketplace-page .mkt-already-installed svg{color:#10b981;flex-shrink:0}.billing-page{display:flex;flex-direction:column;gap:32px}.billing-section{display:flex;flex-direction:column;gap:16px}.billing-section__header{display:flex;flex-direction:column;gap:2px}.billing-section__title{font-size:14px;font-weight:600;color:var(--text-primary)}.billing-section__sub{font-size:12px;color:var(--text-secondary)}.billing-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;overflow:hidden}.billing-card--loading{display:flex;align-items:center;justify-content:center;min-height:120px}.billing-card--empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 24px;text-align:center}.billing-card--empty__icon{color:var(--text-tertiary)}.billing-card--empty__title{font-weight:600;color:var(--text-primary);font-size:14px}.billing-card--empty__sub{font-size:12px;color:var(--text-secondary);max-width:340px}.billing-card__top{padding:24px;display:flex;flex-direction:column;gap:20px}.billing-card__status-row{display:flex;align-items:center}.billing-card__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px}.billing-card__actions{padding:16px 24px;border-top:1px solid var(--border-subtle);background:var(--bg-elevated);display:flex;justify-content:flex-end}.billing-detail{display:flex;flex-direction:column;gap:4px}.billing-detail__label{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);font-weight:600}.billing-detail__value{font-size:12px;color:var(--text-primary);font-weight:500}.billing-detail__value--plan{font-size:14px;font-weight:700;color:var(--accent-primary)}.billing-features{display:flex;flex-direction:column;gap:8px;padding-top:16px;border-top:1px solid var(--border-subtle)}.billing-features__label{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);font-weight:600}.billing-features__list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:12px}.billing-features__item{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary)}.billing-features__icon{display:flex;align-items:center;color:var(--accent-primary);flex-shrink:0}.billing-cancel-btn{color:#ef4444}.billing-cancel-btn:hover{color:#ef4444;background:#ef44441a;border-color:#ef444433}.billing-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600;letter-spacing:.03em}.billing-badge--success{color:#10b981;background:#10b9811a;border:1px solid rgba(16,185,129,.2)}.billing-badge--warning{color:#f59e0b;background:#f59e0b1a;border:1px solid rgba(245,158,11,.2)}.billing-badge--danger{color:#ef4444;background:#ef44441a;border:1px solid rgba(239,68,68,.2)}.billing-suspended-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f59e0b1a;border:1px solid rgba(245,158,11,.2);border-radius:8px;color:#f59e0b;margin-bottom:16px}.billing-suspended-banner>div{flex:1;display:flex;flex-direction:column;gap:2px}.billing-suspended-banner>div strong{color:var(--text-primary);font-weight:600;font-size:12px}.billing-suspended-banner>div span{color:var(--text-secondary);font-size:12px}.billing-table-wrap{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;overflow:hidden}.billing-table{width:100%;border-collapse:collapse;font-size:12px}.billing-table th{text-align:left;padding:12px 16px;background:var(--bg-elevated);color:var(--text-tertiary);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-subtle)}.billing-table td{padding:16px;border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);vertical-align:middle}.billing-table tr:last-child td{border-bottom:none}.billing-table tr:hover td{background:var(--bg-hover)}.billing-table__invoice-num{font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:10px;color:var(--text-tertiary)}.billing-table__desc{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary)}.billing-table__amount{font-weight:600;color:var(--text-primary)}.billing-table__actions{display:flex;gap:4px}.billing-invoice-btn{color:var(--text-tertiary);padding:4px 8px}.billing-invoice-btn:hover{color:var(--accent-primary)}.billing-empty-history{display:flex;flex-direction:column;align-items:center;gap:8px;padding:40px;color:var(--text-tertiary);font-size:12px}.billing-cancel-warn{display:flex;gap:12px;padding:16px;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:6px;color:#ef4444}.billing-cancel-warn svg{flex-shrink:0;margin-top:2px}.billing-cancel-warn p{margin:0;font-size:12px;color:var(--text-primary)}.billing-cancel-warn p+p{margin-top:8px;color:var(--text-secondary)}.modal--lg{max-width:720px}.modal--sm{max-width:460px}.billing-period-toggle{display:flex;gap:8px;margin-bottom:20px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:6px;padding:4px;width:-moz-fit-content;width:fit-content}.billing-period-btn{background:none;border:none;border-radius:4px;padding:8px 16px;font-size:12px;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;gap:8px;transition:background .15s,color .15s}.billing-period-btn.active{background:var(--bg-card);color:var(--text-primary);font-weight:600;box-shadow:0 1px 3px #0000001a}.billing-period-btn:hover:not(.active){color:var(--text-primary)}.billing-save-tag{font-size:10px;background:#10b9811f;color:#10b981;border-radius:4px;padding:1px 6px;font-weight:600}.billing-plans-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.billing-plan-card{position:relative;background:var(--bg-elevated);border:2px solid var(--border-subtle);border-radius:8px;padding:20px;cursor:pointer;transition:border-color .15s,background .15s;display:flex;flex-direction:column;gap:12px}.billing-plan-card:hover{border-color:var(--accent-primary)}.billing-plan-card--selected{border-color:var(--accent-primary);background:var(--bg-card)}.billing-plan-card--current{border-color:#10b981}.billing-plan-card__name{font-size:14px;font-weight:700;color:var(--text-primary)}.billing-plan-card__price{display:flex;align-items:baseline;gap:4px}.billing-plan-card__price strong{font-size:1.4rem;color:var(--text-primary)}.billing-plan-card__price span{font-size:10px;color:var(--text-tertiary)}.billing-plan-card__desc{font-size:10px;color:var(--text-secondary);margin:0}.billing-plan-card__features{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;font-size:10px;color:var(--text-secondary)}.billing-plan-card__features li{display:flex;align-items:center;gap:8px}.billing-plan-card__check{color:#10b981;flex-shrink:0}.billing-plan-card__selected-mark{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--accent-primary);font-weight:600;margin-top:8px}.billing-plan-card__badge{position:absolute;top:-12px;right:16px;font-size:10px;font-weight:600;padding:2px 10px;border-radius:9999px}.billing-plan-card__badge--current{background:#10b981;color:#fff;border:none}.billing-plan-card__badge--popular{background:#6366f11f;color:var(--accent-primary);border:1px solid rgba(99,102,241,.25)}.billing-plan-card__yearly-save{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:600;color:#10b981;background:#10b9811a;border:1px solid rgba(16,185,129,.2);border-radius:4px;padding:2px 8px;width:-moz-fit-content;width:fit-content}.billing-plan-card__tax{font-size:10px;color:var(--text-tertiary);margin:0}.billing-plan-card--featured{border-color:var(--accent-primary);background:var(--bg-card)}.billing-plan-current-tag{position:absolute;top:12px;right:12px;font-size:10px;background:#10b9811f;color:#10b981;border-radius:4px;padding:2px 8px;font-weight:600}.billing-empty-plans{font-size:12px;color:var(--text-secondary);text-align:center;padding:32px}.plans-period-wrap{display:flex;justify-content:center;margin-bottom:32px}.plans-period-toggle{display:inline-flex;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:9999px;padding:4px;gap:4px}.plans-period-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 20px;border:none;border-radius:9999px;background:transparent;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:background .15s ease,color .15s ease,box-shadow .15s ease;white-space:nowrap}.plans-period-btn:disabled{opacity:.4;cursor:not-allowed}.plans-period-btn:hover:not(:disabled):not(.plans-period-btn--active){color:var(--text-primary)}.plans-period-btn--active{background:var(--bg-card);color:var(--text-primary);font-weight:600;box-shadow:0 1px 4px #0003}.plans-period-btn__save{display:inline-flex;align-items:center;font-size:10px;font-weight:600;color:#10b981;background:#10b9811a;border:1px solid rgba(16,185,129,.2);border-radius:9999px;padding:1px 7px;line-height:1.4}.plans-payment-wrap{display:flex;justify-content:center;margin-top:32px}.plans-payment-section{width:100%;max-width:680px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;padding:24px;display:flex;flex-direction:column;gap:16px}.plans-payment-section__title{font-size:12px;font-weight:600;color:var(--text-primary)}.plans-payment-section__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px}.plans-payment-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 12px 16px;background:var(--bg-elevated);border:2px solid var(--border-subtle);border-radius:8px;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;text-align:center}.plans-payment-card:hover:not(.plans-payment-card--active){border-color:var(--border-active);background:var(--bg-hover)}.plans-payment-card--active{border-color:var(--accent-primary);background:#6366f10d;box-shadow:0 0 0 3px #6366f11a}.plans-payment-card__check{position:absolute;top:8px;right:8px;color:var(--accent-primary);display:flex;align-items:center}.plans-payment-card__icon{display:flex;align-items:center;color:var(--text-tertiary);transition:color .15s ease}.plans-payment-card--active .plans-payment-card__icon{color:var(--accent-primary)}.plans-payment-card__name{font-size:12px;font-weight:600;color:var(--text-primary);line-height:1}.plans-payment-card__desc{font-size:10px;color:var(--text-tertiary);line-height:1.3}.plans-payment-card__pp{font-size:18px;font-weight:700;letter-spacing:-1px;line-height:1;color:inherit}.plans-actions{display:flex;justify-content:center;gap:12px;margin-top:32px}.plans-bank-instructions{white-space:pre-wrap;font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;line-height:1.6;color:var(--text-primary)}.act-loading{padding:32px;text-align:center;color:var(--text-tertiary);font-size:12px}.activity-tab-v2{display:flex;flex-direction:column;gap:20px}.act-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}@media (max-width: 768px){.act-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.act-stats{grid-template-columns:1fr}}.act-stat-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:8px}.act-stat-card__header{display:flex;align-items:center;justify-content:space-between}.act-stat-card__label{font-size:10px;color:var(--text-tertiary);font-weight:500;text-transform:uppercase;letter-spacing:.04em}.act-stat-card__icon{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center}.act-stat-card__icon--blue{background:#6366f11f;color:#6366f1}.act-stat-card__icon--green{background:#10b9811f;color:#10b981}.act-stat-card__icon--purple{background:#8b5cf61f;color:#8b5cf6}.act-stat-card__icon--orange{background:#f973161f;color:#f97316}.act-stat-card__icon--cyan{background:#06b6d41f;color:#06b6d4}.act-stat-card__value{font-size:1.6rem;font-weight:700;color:var(--text-primary);line-height:1}.act-stat-card__change{display:flex;align-items:center;gap:4px;font-size:10px}.act-stat-card__change--up{color:#10b981}.act-stat-card__change--down{color:#ef4444}.act-trend-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;padding:16px 20px}.act-trend-card__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.act-trend-card__title{font-size:12px;font-weight:600;color:var(--text-primary);margin:0}.act-trend-card__tabs{display:flex;gap:4px;background:var(--bg-secondary);border-radius:6px;padding:2px}.act-trend-card__chart{height:80px}.act-trend-card__labels{display:flex;justify-content:space-between;margin-top:4px;font-size:10px;color:var(--text-tertiary)}.act-trend-tab{padding:3px 10px;font-size:10px;color:var(--text-secondary);background:transparent;border:none;border-radius:4px;cursor:pointer;transition:background .15s,color .15s}.act-trend-tab--active{background:var(--bg-card);color:var(--text-primary);font-weight:500;box-shadow:var(--shadow-sm)}.act-charts-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 768px){.act-charts-row{grid-template-columns:1fr}}.act-chart-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;padding:16px 20px}.act-chart-card__title{font-size:12px;font-weight:600;color:var(--text-primary);margin:0 0 12px}.act-chart-card__empty{font-size:12px;color:var(--text-tertiary);text-align:center;padding:16px 0}.act-donut{display:flex;gap:16px;align-items:center}.act-donut__svg{width:112px;height:112px;flex-shrink:0;transform:rotate(-90deg)}.act-donut__center-num{transform:rotate(90deg);transform-origin:center;font-size:16px;font-weight:700;fill:var(--text-primary)}.act-donut__center-label{transform:rotate(90deg);transform-origin:center;font-size:9px;fill:var(--text-tertiary)}.act-donut__legend{flex:1;display:flex;flex-direction:column;gap:6px}.act-donut__legend-item{display:flex;align-items:center;gap:6px;font-size:10px}.act-donut__legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.act-donut__legend-name{flex:1;color:var(--text-secondary);text-transform:capitalize}.act-donut__legend-val{color:var(--text-primary);font-weight:500}.act-donut__legend-pct{color:var(--text-tertiary);min-width:32px;text-align:right}.act-feed{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;overflow:hidden}.act-feed__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;gap:12px}.act-feed__title{font-size:12px;font-weight:600;color:var(--text-primary);margin:0}.act-feed__filters{display:flex;align-items:center;gap:8px}.act-feed__empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 16px;color:var(--text-tertiary);font-size:12px}.act-feed__pagination{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 20px;border-top:1px solid var(--border-subtle)}.act-feed__page-info{font-size:10px;color:var(--text-tertiary)}.act-log-list{divide:var(--border-subtle)}.act-log{display:flex;align-items:flex-start;gap:12px;padding:12px 20px;border-bottom:1px solid var(--border-subtle);transition:background .1s}.act-log:last-child{border-bottom:none}.act-log:hover{background:var(--bg-hover)}.act-log--danger{border-left:3px solid #ef4444}.act-log--success{border-left:3px solid #10b981}.act-log--warning{border-left:3px solid #f59e0b}.act-log--info{border-left:3px solid var(--accent-primary)}.act-log__icon{width:26px;height:26px;border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.act-log__icon--danger{background:#ef44441a;color:#ef4444}.act-log__icon--success{background:#10b9811a;color:#10b981}.act-log__icon--warning{background:#f59e0b1a;color:#f59e0b}.act-log__icon--info{background:#6366f11a;color:var(--accent-primary)}.act-log__body{flex:1;min-width:0}.act-log__row{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.act-log__action{font-size:12px;font-weight:500;color:var(--text-primary);text-transform:capitalize}.act-log__user{font-size:10px;color:var(--accent-primary);background:#6366f114;padding:1px 6px;border-radius:9999px}.act-log__target{font-size:10px;color:var(--text-tertiary);font-family:monospace}.act-log__details{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.act-log__detail{display:inline-flex;align-items:center;gap:4px;font-size:11px;background:var(--bg-secondary);border-radius:4px;padding:1px 6px}.act-log__detail-key{color:var(--text-tertiary)}.act-log__detail-val{color:var(--text-secondary);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.act-log__meta{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex-shrink:0}.act-log__time{font-size:11px;color:var(--text-tertiary);white-space:nowrap}.act-log__ip{font-size:10px;color:var(--text-tertiary);font-family:monospace}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground));font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-feature-settings:"rlig" 1,"calt" 1}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-y-0{top:0;bottom:0}.left-1\/2{left:50%}.left-2{left:.5rem}.right-0{right:0}.right-1\.5{right:.375rem}.right-2{right:.5rem}.right-3{right:.75rem}.top-0{top:0}.top-1\.5{top:.375rem}.top-1\/2{top:50%}.top-\[18\%\]{top:18%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.col-span-2{grid-column:span 2 / span 2}.col-span-full{grid-column:1 / -1}.m-4{margin:1rem}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3\.5{margin-left:.875rem;margin-right:.875rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.-mb-px{margin-bottom:-1px}.-mt-2{margin-top:-.5rem}.mb-0{margin-bottom:0}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.\!hidden{display:none!important}.hidden{display:none}.h-0{height:0px}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-40{height:10rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[52px\]{height:52px}.h-\[calc\(100\%-1px\)\]{height:calc(100% - 1px)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-24{max-height:6rem}.max-h-48{max-height:12rem}.max-h-52{max-height:13rem}.max-h-64{max-height:16rem}.max-h-96{max-height:24rem}.max-h-\[80vh\]{max-height:80vh}.max-h-\[min\(60vh\,380px\)\]{max-height:min(60vh,380px)}.min-h-\[100px\]{min-height:100px}.min-h-\[200px\]{min-height:200px}.min-h-\[40px\]{min-height:40px}.min-h-\[80px\]{min-height:80px}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-1\/3{width:33.333333%}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-36{width:9rem}.w-4{width:1rem}.w-40{width:10rem}.w-44{width:11rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-96{width:24rem}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0px}.min-w-4{min-width:1rem}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes ping{75%,to{transform:scale(2);opacity:0}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-0{row-gap:0px}.gap-y-1{row-gap:.25rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-border>:not([hidden])~:not([hidden]){border-color:hsl(var(--border))}.divide-gray-800>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(31 41 55 / var(--tw-divide-opacity, 1))}.self-start{align-self:flex-start}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overscroll-contain{overscroll-behavior:contain}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-none{border-style:none}.border-amber-500\/20{border-color:#f59e0b33}.border-amber-500\/30{border-color:#f59e0b4d}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.border-blue-500\/20{border-color:#3b82f633}.border-blue-500\/30{border-color:#3b82f64d}.border-border{border-color:hsl(var(--border))}.border-destructive\/20{border-color:hsl(var(--destructive) / .2)}.border-emerald-500\/20{border-color:#10b98133}.border-gray-700{--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity, 1))}.border-gray-800{--tw-border-opacity: 1;border-color:rgb(31 41 55 / var(--tw-border-opacity, 1))}.border-green-500\/30{border-color:#22c55e4d}.border-input{border-color:hsl(var(--input))}.border-muted-foreground\/30{border-color:hsl(var(--muted-foreground) / .3)}.border-primary{border-color:hsl(var(--primary))}.border-primary\/50{border-color:hsl(var(--primary) / .5)}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}.border-red-300{--tw-border-opacity: 1;border-color:rgb(252 165 165 / var(--tw-border-opacity, 1))}.border-red-500\/20{border-color:#ef444433}.border-red-500\/30{border-color:#ef44444d}.border-sidebar-border{border-color:hsl(var(--sidebar-border))}.border-transparent{border-color:transparent}.border-yellow-200{--tw-border-opacity: 1;border-color:rgb(254 240 138 / var(--tw-border-opacity, 1))}.border-yellow-300{--tw-border-opacity: 1;border-color:rgb(253 224 71 / var(--tw-border-opacity, 1))}.border-yellow-500\/30{border-color:#eab3084d}.bg-accent{background-color:hsl(var(--accent))}.bg-accent\/30{background-color:hsl(var(--accent) / .3)}.bg-accent\/50{background-color:hsl(var(--accent) / .5)}.bg-amber-500\/10{background-color:#f59e0b1a}.bg-amber-500\/15{background-color:#f59e0b26}.bg-background{background-color:hsl(var(--background))}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-black\/50{background-color:#00000080}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-blue-500\/15{background-color:#3b82f626}.bg-blue-500\/20{background-color:#3b82f633}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-blue-900\/20{background-color:#1e3a8a33}.bg-blue-900\/30{background-color:#1e3a8a4d}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-destructive\/10{background-color:hsl(var(--destructive) / .1)}.bg-emerald-500\/15{background-color:#10b98126}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-gray-500\/20{background-color:#6b728033}.bg-gray-900\/30{background-color:#1118274d}.bg-gray-900\/50{background-color:#11182780}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.bg-green-900\/30{background-color:#14532d4d}.bg-indigo-600{--tw-bg-opacity: 1;background-color:rgb(79 70 229 / var(--tw-bg-opacity, 1))}.bg-muted{background-color:hsl(var(--muted))}.bg-muted\/30{background-color:hsl(var(--muted) / .3)}.bg-muted\/40{background-color:hsl(var(--muted) / .4)}.bg-muted\/50{background-color:hsl(var(--muted) / .5)}.bg-orange-100{--tw-bg-opacity: 1;background-color:rgb(255 237 213 / var(--tw-bg-opacity, 1))}.bg-orange-500{--tw-bg-opacity: 1;background-color:rgb(249 115 22 / var(--tw-bg-opacity, 1))}.bg-orange-500\/20{background-color:#f9731633}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/10{background-color:hsl(var(--primary) / .1)}.bg-primary\/20{background-color:hsl(var(--primary) / .2)}.bg-primary\/5{background-color:hsl(var(--primary) / .05)}.bg-purple-100{--tw-bg-opacity: 1;background-color:rgb(243 232 255 / var(--tw-bg-opacity, 1))}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.bg-red-400{--tw-bg-opacity: 1;background-color:rgb(248 113 113 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-red-500\/15{background-color:#ef444426}.bg-red-500\/20{background-color:#ef444433}.bg-red-900\/30{background-color:#7f1d1d4d}.bg-secondary{background-color:hsl(var(--secondary))}.bg-sidebar{background-color:hsl(var(--sidebar))}.bg-sidebar-accent{background-color:hsl(var(--sidebar-accent))}.bg-sidebar-border{background-color:hsl(var(--sidebar-border))}.bg-sidebar-primary{background-color:hsl(var(--sidebar-primary))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-yellow-400{--tw-bg-opacity: 1;background-color:rgb(250 204 21 / var(--tw-bg-opacity, 1))}.bg-yellow-50{--tw-bg-opacity: 1;background-color:rgb(254 252 232 / var(--tw-bg-opacity, 1))}.bg-yellow-500{--tw-bg-opacity: 1;background-color:rgb(234 179 8 / var(--tw-bg-opacity, 1))}.bg-yellow-500\/10{background-color:#eab3081a}.bg-yellow-500\/20{background-color:#eab30833}.bg-opacity-50{--tw-bg-opacity: .5}.fill-current{fill:currentColor}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-10{padding:2.5rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-\[3px\]{padding:3px}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pl-2{padding-left:.5rem}.pl-8{padding-left:2rem}.pr-2{padding-right:.5rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:Inter,ui-sans-serif,system-ui,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-accent{color:hsl(var(--accent))}.text-accent-foreground{color:hsl(var(--accent-foreground))}.text-amber-400{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.text-amber-500{--tw-text-opacity: 1;color:rgb(245 158 11 / var(--tw-text-opacity, 1))}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-emerald-500{--tw-text-opacity: 1;color:rgb(16 185 129 / var(--tw-text-opacity, 1))}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/70{color:hsl(var(--foreground) / .7)}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-green-400{--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-indigo-400{--tw-text-opacity: 1;color:rgb(129 140 248 / var(--tw-text-opacity, 1))}.text-muted{color:hsl(var(--muted))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\/40{color:hsl(var(--muted-foreground) / .4)}.text-muted-foreground\/50{color:hsl(var(--muted-foreground) / .5)}.text-muted-foreground\/60{color:hsl(var(--muted-foreground) / .6)}.text-orange-500{--tw-text-opacity: 1;color:rgb(249 115 22 / var(--tw-text-opacity, 1))}.text-orange-600{--tw-text-opacity: 1;color:rgb(234 88 12 / var(--tw-text-opacity, 1))}.text-orange-700{--tw-text-opacity: 1;color:rgb(194 65 12 / var(--tw-text-opacity, 1))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-primary\/70{color:hsl(var(--primary) / .7)}.text-purple-600{--tw-text-opacity: 1;color:rgb(147 51 234 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-secondary{color:hsl(var(--secondary))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-sidebar-foreground{color:hsl(var(--sidebar-foreground))}.text-sidebar-foreground\/50{color:hsl(var(--sidebar-foreground) / .5)}.text-sidebar-foreground\/70{color:hsl(var(--sidebar-foreground) / .7)}.text-sidebar-primary-foreground{color:hsl(var(--sidebar-primary-foreground))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-400{--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}.text-yellow-500{--tw-text-opacity: 1;color:rgb(234 179 8 / var(--tw-text-opacity, 1))}.text-yellow-600{--tw-text-opacity: 1;color:rgb(202 138 4 / var(--tw-text-opacity, 1))}.text-yellow-700{--tw-text-opacity: 1;color:rgb(161 98 7 / var(--tw-text-opacity, 1))}.line-through{text-decoration-line:line-through}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-20{opacity:.2}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));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)}.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)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[opacity\,height\]{transition-property:opacity,height;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-700{transition-duration:.7s}.ease-linear{transition-timing-function:linear}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.duration-100{animation-duration:.1s}.duration-150{animation-duration:.15s}.duration-200{animation-duration:.2s}.duration-700{animation-duration:.7s}.ease-linear{animation-timing-function:linear}.running{animation-play-state:running}.paused{animation-play-state:paused}[data-slot=tabs-list]{display:inline-flex;height:2.25rem;width:-moz-fit-content;width:fit-content;align-items:center;justify-content:center;border-radius:.5rem;background-color:hsl(var(--muted));padding:3px;color:hsl(var(--muted-foreground))}[data-slot=tabs-trigger]{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;border-radius:calc(var(--radius) - 2px);border:1px solid transparent;padding:.25rem .5rem;font-size:.875rem;font-weight:500;white-space:nowrap;color:hsl(var(--foreground));background:transparent;transition:color .15s,box-shadow .15s;cursor:pointer;flex:1;height:calc(100% - 1px)}[data-slot=tabs-trigger][data-state=active]{background-color:hsl(var(--background));box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;color:hsl(var(--foreground))}.dark [data-slot=tabs-trigger]{color:hsl(var(--muted-foreground))}.dark [data-slot=tabs-trigger][data-state=active]{background-color:#3a3a4199;color:hsl(var(--foreground))}.form-control,.settings-form input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),.settings-form textarea,.settings-form select,.settings-card input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),.settings-card textarea,.settings-card select{background-color:hsl(var(--background));border:1px solid hsl(var(--input));border-radius:calc(var(--radius) - 2px);color:hsl(var(--foreground));font-size:.875rem;line-height:1.25rem;padding:.375rem .75rem;outline:none;transition:border-color .15s,box-shadow .15s}.form-control[rows],textarea.form-control{min-height:4.5rem;resize:vertical;line-height:1.5}.settings-form select,.settings-card select,select.form-control,select.settings-select,select.form-select{height:2.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;padding-top:0;padding-bottom:0;padding-right:2.25rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2371717a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .625rem center;background-size:1rem}input:focus:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),textarea:focus,select:focus{border-color:var(--accent-primary)!important;outline:none!important;box-shadow:none!important}input::-moz-placeholder,textarea::-moz-placeholder{color:hsl(var(--muted-foreground))}input::placeholder,textarea::placeholder{color:hsl(var(--muted-foreground))}.toggle-switch.toggle-sm{width:32px;height:18px}.toggle-switch.toggle-sm .toggle-slider:before{height:13px!important;width:13px!important;left:2px!important;bottom:2px!important}.toggle-switch.toggle-sm input:checked+.toggle-slider:before{transform:translate(14px)!important}[data-slot=separator]{flex-shrink:0;background-color:hsl(var(--border))}[data-slot=separator][data-orientation=horizontal]{height:1px;width:100%}[data-slot=separator][data-orientation=vertical]{height:100%;width:1px}[data-radix-popper-content-wrapper]{z-index:9999!important;position:fixed!important}html[data-theme=light],html[data-theme=system]:not(.dark){--background: 0 0% 100%;--foreground: 224 30% 8%;--card: 0 0% 100%;--card-foreground: 224 30% 8%;--popover: 0 0% 100%;--popover-foreground: 224 30% 8%;--primary: 224 30% 8%;--primary-foreground: 0 0% 98%;--secondary: 220 14% 96%;--secondary-foreground: 224 30% 8%;--muted: 220 14% 96%;--muted-foreground: 220 9% 46%;--accent: 220 14% 96%;--accent-foreground: 224 30% 8%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 0 0% 98%;--border: 220 13% 91%;--input: 220 13% 91%;--ring: 239 84% 67%;--radius: .5rem;--sidebar: 0 0% 98%;--sidebar-foreground: 224 30% 8%;--sidebar-primary: 224 30% 8%;--sidebar-primary-foreground: 0 0% 98%;--sidebar-accent: 220 14% 93%;--sidebar-accent-foreground: 224 30% 8%;--sidebar-border: 220 13% 91%;--sidebar-ring: 217.2 91.2% 59.8%}html.dark,html[data-theme=dark],html[data-theme=system].dark{--background: 240 10% 3.9%;--foreground: 226 100% 97%;--card: 240 9% 6%;--card-foreground: 226 100% 97%;--popover: 240 9% 10%;--popover-foreground: 226 100% 97%;--primary: 226 57% 91%;--primary-foreground: 240 9% 10%;--secondary: 240 6% 16%;--secondary-foreground: 226 100% 97%;--muted: 240 6% 16%;--muted-foreground: 226 11% 64%;--accent: 240 6% 16%;--accent-foreground: 226 100% 97%;--destructive: 20 90% 55%;--destructive-foreground: 226 100% 97%;--border: 240 6% 20%;--input: 240 6% 24%;--ring: 239 84% 67%;--sidebar: 240 10% 3.9%;--sidebar-foreground: 226 100% 97%;--sidebar-primary: 224.3 76.3% 48%;--sidebar-primary-foreground: 0 0% 100%;--sidebar-accent: 240 6% 16%;--sidebar-accent-foreground: 226 100% 97%;--sidebar-border: 240 6% 20%;--sidebar-ring: 217.2 91.2% 59.8%}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.last\:border-0:last-child{border-width:0px}.focus-within\:border-\[var\(--accent-primary\)\]:focus-within{border-color:var(--accent-primary)}.focus-within\:ring-2:focus-within{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-within\:ring-\[var\(--accent-shadow\)\]:focus-within{--tw-ring-color: var(--accent-shadow)}.hover\:border-\[var\(--accent-primary\)\]:hover{border-color:var(--accent-primary)}.hover\:border-border:hover{border-color:hsl(var(--border))}.hover\:border-border\/80:hover{border-color:hsl(var(--border) / .8)}.hover\:border-muted-foreground:hover{border-color:hsl(var(--muted-foreground))}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-accent\/50:hover{background-color:hsl(var(--accent) / .5)}.hover\:bg-accent\/60:hover{background-color:hsl(var(--accent) / .6)}.hover\:bg-destructive\/20:hover{background-color:hsl(var(--destructive) / .2)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-gray-800\/50:hover{background-color:#1f293780}.hover\:bg-muted\/70:hover{background-color:hsl(var(--muted) / .7)}.hover\:bg-muted\/80:hover{background-color:hsl(var(--muted) / .8)}.hover\:bg-primary:hover{background-color:hsl(var(--primary))}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:bg-sidebar-border:hover{background-color:hsl(var(--sidebar-border))}.hover\:bg-white\/5:hover{background-color:#ffffff0d}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-destructive:hover{color:hsl(var(--destructive))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-green-700:hover{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.hover\:text-orange-700:hover{--tw-text-opacity: 1;color:rgb(194 65 12 / var(--tw-text-opacity, 1))}.hover\:text-primary-foreground:hover{color:hsl(var(--primary-foreground))}.hover\:text-red-500:hover{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.hover\:text-red-600:hover{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.focus\:border-\[var\(--accent-primary\)\]:focus{border-color:var(--accent-primary)}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:bg-destructive\/10:focus{background-color:hsl(var(--destructive) / .1)}.focus\:bg-primary:focus{background-color:hsl(var(--primary))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:text-destructive:focus{color:hsl(var(--destructive))}.focus\:text-primary-foreground:focus{color:hsl(var(--primary-foreground))}.focus\:text-red-500:focus{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.focus\:shadow-none:focus{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color: hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\:border-ring:focus-visible{border-color:hsl(var(--ring))}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color: hsl(var(--ring) / .5)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color: hsl(var(--background))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:hsl(var(--background))}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=active\]\:shadow-sm[data-state=active]{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.data-\[state\=open\]\:animate-in[data-state=open]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity: initial;--tw-exit-scale: initial;--tw-exit-rotate: initial;--tw-exit-translate-x: initial;--tw-exit-translate-y: initial}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity: 0}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity: 0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale: .95}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale: .95}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y: -.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x: .5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x: -.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y: .5rem}.data-\[state\=closed\]\:slide-out-to-top-4[data-state=closed]{--tw-exit-translate-y: -1rem}.data-\[state\=open\]\:slide-in-from-top-4[data-state=open]{--tw-enter-translate-y: -1rem}.dark\:text-muted-foreground:is(.dark *){color:hsl(var(--muted-foreground))}.dark\:data-\[state\=active\]\:bg-input\/30[data-state=active]:is(.dark *){background-color:hsl(var(--input) / .3)}.dark\:data-\[state\=active\]\:text-foreground[data-state=active]:is(.dark *){color:hsl(var(--foreground))}@media (min-width: 640px){.sm\:inline{display:inline}.sm\:inline-flex{display:inline-flex}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}}@media (min-width: 768px){.md\:col-span-2{grid-column:span 2 / span 2}.md\:inline{display:inline}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width: 1024px){.lg\:col-span-2{grid-column:span 2 / span 2}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.\[\&\>span\]\:line-clamp-1>span{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}
