.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #555;--xy-background-pattern-lines-color-default: #333;--xy-background-pattern-cross-color-default: #333;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}:root{--color-bg: #eef1f3;--color-surface: #ffffff;--color-surface-muted: #f5f7f8;--color-panel: rgba(255, 255, 255, .94);--color-border: #dce2e6;--color-border-strong: #cbd4da;--color-text: #182029;--color-muted: #61717b;--color-subtle: #7a8891;--color-sidebar: #17212a;--color-sidebar-text: #d9e4ea;--color-sidebar-muted: #9fb1bd;--color-primary: #155263;--color-primary-contrast: #ffffff;--color-accent: #d24b35;--color-success: #36b36b;--color-success-bg: #dff5e8;--color-warning: #a86b00;--color-warning-bg: #fff1cf;--color-danger: #b93a32;--color-danger-bg: #ffe0dc;--shadow-panel: 0 18px 42px rgba(24, 32, 41, .08);--shadow-control: 0 10px 26px rgba(24, 32, 41, .06);--radius: 8px;--radius-sm: 6px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;color:var(--color-text);background:var(--color-bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(135deg,rgba(21,82,99,.08),transparent 34%),linear-gradient(225deg,rgba(210,75,53,.08),transparent 32%),var(--color-bg)}button,input,select,textarea{font:inherit}button{border:0}h1,h2{margin:0;letter-spacing:0}h1{margin-top:var(--space-1);font-size:30px;line-height:1.1}h2{margin-top:var(--space-1);font-size:19px;line-height:1.2}.app-shell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh}.sidebar{display:flex;flex-direction:column;gap:22px;padding:22px;color:var(--color-sidebar-text);background:var(--color-sidebar);border-right:1px solid rgba(255,255,255,.08)}.brand{display:flex;align-items:center;gap:var(--space-3);min-height:48px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;background:var(--color-accent);border-radius:var(--radius)}.brand strong,.brand span,.server-pill strong,.server-pill small,.server-row-main strong,.server-row-main small,.metric span,.metric strong{display:block}.brand strong{font-size:15px}.brand span,.server-pill small{margin-top:2px;color:var(--color-sidebar-muted);font-size:12px}.nav-list,.server-rail,.server-list,.action-row,.telemetry-row,.topbar-actions,.shortcuts-panel,.form-grid{display:flex}.nav-list{flex-direction:column;gap:var(--space-1)}.nav-item,.server-pill{display:flex;align-items:center;width:100%;min-height:42px;color:var(--color-sidebar-text);background:transparent;border-radius:var(--radius);cursor:pointer}.nav-item{gap:10px;padding:0 var(--space-3);text-align:left}.nav-item.active,.nav-item:hover,.server-pill.selected,.server-pill:hover{background:#ffffff1a}.server-rail{flex-direction:column;gap:var(--space-2);max-height:min(360px,42vh);overflow-y:auto}.rail-title,.eyebrow{color:var(--color-subtle);font-size:11px;font-weight:700;letter-spacing:0;text-transform:uppercase}.server-rail .rail-title{color:var(--color-sidebar-muted)}.server-pill{gap:10px;padding:10px}.server-pill>span:nth-child(2){flex:1;min-width:0;text-align:left}.status-dot{width:9px;height:9px;flex:0 0 auto;background:#87939b;border-radius:999px}.status-dot.running{background:var(--color-success);box-shadow:0 0 0 4px #36b36b29}.workspace{min-width:0;padding:var(--space-7)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);margin-bottom:22px}.topbar-actions{align-items:center;gap:10px}.updated-stamp{color:var(--color-muted);font-size:13px;white-space:nowrap}.language-switcher,.icon-button{display:flex;align-items:center;min-height:38px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-control)}.language-switcher{gap:6px;padding:0 var(--space-2)}.language-switcher button{min-width:34px;height:28px;color:var(--color-muted);background:transparent;border-radius:var(--radius-sm);cursor:pointer}.language-switcher button.active{color:var(--color-primary-contrast);background:var(--color-primary)}.icon-button{justify-content:center;width:40px;color:var(--color-text);cursor:pointer}.status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.status-card,.panel{background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-panel)}.status-card{display:grid;grid-template-columns:24px 1fr;gap:var(--space-2) 10px;min-height:96px;padding:var(--space-4)}.status-card svg,.metric svg,.empty-state svg{color:var(--color-primary)}.status-card.success svg,.status-card.success strong{color:var(--color-success)}.status-card.warning svg,.status-card.warning strong{color:#b36b00}.status-card.danger svg,.status-card.danger strong{color:var(--color-danger)}.status-card span,.metric span,.field small,.empty-state span{color:var(--color-muted);font-size:13px}.status-card strong{grid-column:1 / -1;font-size:24px}.content-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);gap:18px}.panel{padding:18px}.server-panel,.design-preview{min-height:360px}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:22px}.badge{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;color:var(--color-muted);background:#edf1f4;border-radius:999px;font-size:12px;font-weight:700}.badge.success,.toast.success{color:#155732;background:var(--color-success-bg)}.badge.warning,.toast.warning{color:var(--color-warning);background:var(--color-warning-bg)}.badge.danger{color:var(--color-danger);background:var(--color-danger-bg)}.action-row{flex-wrap:wrap;gap:10px;margin-bottom:22px}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:42px;padding:0 18px;border-radius:var(--radius);cursor:pointer}.button:disabled,.icon-button:disabled{cursor:not-allowed;opacity:.55}.button.primary{color:var(--color-primary-contrast);background:var(--color-accent)}.button.secondary{color:var(--color-text);background:#e7ecef}.button.ghost{color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border)}.telemetry-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.event-summary,.detail-list{display:grid;gap:var(--space-2);margin-bottom:18px}.detail-row{display:grid;grid-template-columns:minmax(92px,.35fr) minmax(0,1fr);gap:var(--space-3);min-height:38px;align-items:center;padding:8px 10px;background:var(--color-surface-muted);border:1px solid #dfe6ea;border-radius:var(--radius-sm)}.detail-row span{color:var(--color-muted);font-size:12px;font-weight:700;text-transform:uppercase}.detail-row strong{min-width:0;overflow:hidden;font-size:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.metric{min-height:112px;padding:14px;background:var(--color-surface-muted);border:1px solid #dfe6ea;border-radius:var(--radius)}.metric span{margin-top:14px}.metric strong{margin-top:var(--space-1);font-size:24px}.list-panel,.details-panel{min-height:260px}.server-list{flex-direction:column;gap:var(--space-2)}.server-row{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:var(--space-3);width:100%;min-height:58px;padding:10px var(--space-3);color:var(--color-text);background:var(--color-surface-muted);border:1px solid transparent;border-radius:var(--radius);text-align:left;cursor:pointer}.server-row.active{border-color:var(--color-primary)}.server-row-main small{margin-top:3px;color:var(--color-muted)}.shortcuts-panel{flex-wrap:wrap;gap:10px}.shortcuts-panel .button{flex:1 1 150px;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border)}.design-preview{grid-column:1 / -1}.logs-panel{grid-column:1 / -1;min-height:280px}.server-options-view{display:grid;gap:18px}.server-options-panel{min-height:520px}.server-tools-panel{display:grid;gap:var(--space-3)}.server-tools-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-3)}.server-tool-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2);align-items:center;min-height:96px;padding:var(--space-3);color:var(--color-text);text-decoration:none;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.server-tool-card span{display:grid;gap:5px;min-width:0}.server-tool-card small,.server-tool-card em{color:var(--color-muted);font-size:12px;font-style:normal}.server-tool-card svg{color:var(--color-primary)}.required-apps-summary{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.required-apps-summary span{min-height:30px;padding:7px 10px;color:var(--color-muted);font-size:12px;font-weight:700;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.required-apps-summary .required-apps-ok{color:#166534;background:#dcfce7;border-color:#bbf7d0}.required-apps-summary .required-apps-warn{color:#991b1b;background:#fee2e2;border-color:#fecaca}.accounts-view{display:grid;gap:var(--space-4)}.accounts-status-panel,.accounts-list-panel,.account-editor-panel,.account-profile-panel,.account-password-panel{min-height:0}.account-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}.account-status-item{min-width:0;padding:var(--space-3);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.account-status-item span,.accounts-table td small{display:block;color:var(--color-muted);font-size:12px}.account-status-item strong{display:block;margin-top:var(--space-1);overflow:hidden;font-size:16px;text-overflow:ellipsis;white-space:nowrap}.account-banner{min-height:42px;padding:12px var(--space-4);border-radius:var(--radius);font-weight:700}.account-banner.success{color:#166534;background:#dcfce7;border:1px solid #bbf7d0}.account-banner.danger{color:#991b1b;background:#fee2e2;border:1px solid #fecaca}.accounts-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.8fr);gap:var(--space-4)}.accounts-list-panel,.account-profile-panel{grid-row:span 2}.accounts-table-wrap{overflow-x:auto}.accounts-table{width:100%;border-collapse:collapse}.accounts-table th,.accounts-table td{padding:10px;border-bottom:1px solid var(--color-border);text-align:left;vertical-align:middle}.accounts-table th{color:var(--color-muted);font-size:12px;text-transform:uppercase}.table-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.table-actions .button{min-height:34px;padding:0 10px}.login-shell{display:grid;min-height:100vh;place-items:center;padding:var(--space-5)}.login-panel{display:grid;gap:var(--space-5);width:min(100%,420px);padding:var(--space-6);background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-panel)}.login-brand{display:flex;align-items:center;gap:var(--space-3)}.login-brand span,.login-brand strong{display:block}.login-brand span{color:var(--color-muted);font-size:13px}.login-brand strong{margin-top:2px;font-size:24px}.login-form,.system-view{display:grid;gap:var(--space-4)}.replay-status-panel{display:grid;gap:var(--space-3)}.options-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.options-section{min-width:0;padding:var(--space-4);background:var(--color-surface-muted);border:1px solid #dfe6ea;border-radius:var(--radius)}.options-section h2{margin-bottom:var(--space-3);font-size:16px}.options-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.option-field,.option-toggle{min-width:0}.option-field span{display:block;margin-bottom:6px;color:var(--color-muted);font-size:12px;font-weight:700;text-transform:uppercase}.option-field input,.option-field select{width:100%;min-height:40px;padding:0 10px;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm)}.option-field select{cursor:pointer}.option-toggle{display:flex;align-items:center;gap:var(--space-2);min-height:40px;padding:0 10px;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm)}.option-toggle input{width:16px;height:16px;accent-color:var(--color-primary)}.option-toggle span{min-width:0;overflow:hidden;color:var(--color-text);font-size:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.options-actions{display:flex;gap:var(--space-3);justify-content:flex-end;margin-top:var(--space-4)}.race-setup-view{display:grid;gap:18px}.race-create-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.race-setup-panel{min-height:0}.race-name-field{max-width:520px;margin:0 0 var(--space-4)}.race-setup-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.9fr);gap:var(--space-4)}.setup-section{min-width:0;padding:var(--space-4);background:var(--color-surface-muted);border:1px solid #dfe6ea;border-radius:var(--radius)}.setup-section h2{margin-bottom:var(--space-3);font-size:16px}.setup-section:first-child,.setup-section:last-child{grid-column:1 / -1}.race-builder-entry-list-section,.race-builder-preview-grid{grid-column:1 / -1}.setup-section .option-field+.option-field{margin-top:var(--space-3)}.car-picker{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:var(--space-3)}.race-builder-media-grid{display:grid;gap:var(--space-2);margin-bottom:var(--space-3)}.track-media-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));max-height:260px;overflow:auto}.car-media-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));max-height:320px;overflow:auto}.race-builder-media-card{display:grid;align-content:start;gap:6px;min-width:0;padding:8px;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;text-align:left}.race-builder-media-card.active,.race-builder-media-card:hover{border-color:var(--color-primary);box-shadow:0 0 0 2px #15526314}.race-builder-media-card img,.race-builder-selected-media img{width:100%;aspect-ratio:16 / 9;object-fit:cover;background:var(--color-surface-muted);border-radius:6px}.race-builder-media-card span,.race-builder-media-card small,.race-builder-selected-media span,.race-builder-selected-media strong,.race-builder-selected-media small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.race-builder-media-card span{font-size:13px;font-weight:800}.race-builder-media-card small,.race-builder-selected-media small{color:var(--color-muted);font-size:12px}.race-builder-selected-media{display:grid;grid-template-columns:180px minmax(0,1fr);align-items:center;gap:var(--space-3);margin-top:var(--space-3);padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.selected-cars{display:grid;gap:var(--space-2);margin-top:var(--space-3)}.selected-cars>span{display:grid;place-items:center;min-height:82px;color:var(--color-muted);background:var(--color-surface);border:1px dashed var(--color-border-strong);border-radius:var(--radius-sm);font-size:13px}.selected-cars button{display:grid;grid-template-columns:minmax(0,1fr) 18px;align-items:center;gap:var(--space-3);min-height:54px;padding:8px 10px;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);cursor:pointer;text-align:left}.selected-cars button:hover{border-color:var(--color-danger)}.selected-cars strong,.selected-cars small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-cars small{margin-top:3px;color:var(--color-muted);font-size:12px}.race-builder-entry-controls{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.race-builder-entrant-list{display:grid;gap:var(--space-3);margin-top:var(--space-3)}.race-builder-entrant-card{display:grid;grid-template-columns:190px minmax(0,1fr);gap:var(--space-3);padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.race-builder-entrant-card>img{width:100%;aspect-ratio:16 / 10;object-fit:cover;background:var(--color-surface-muted);border-radius:var(--radius-sm)}.race-builder-entrant-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.race-builder-entrant-header{display:flex;grid-column:1 / -1;align-items:center;justify-content:space-between}.race-builder-entrant-header button{display:grid;place-items:center;width:32px;height:32px;color:var(--color-danger);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer}.race-builder-modal{width:min(1380px,calc(100vw - 32px))}.duration-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.race-builder-session-grid{display:grid;gap:var(--space-3)}.race-builder-session-row{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(150px,1fr) repeat(2,minmax(110px,.45fr));align-items:end;gap:var(--space-3);padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.preview-grid,.preset-list,.weekend-list{display:grid;gap:var(--space-3)}.preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.config-preview{max-height:420px;margin:0;padding:var(--space-3);overflow:auto;color:#d9e4ea;background:#17212a;border-radius:var(--radius-sm);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.45;white-space:pre}.preset-row,.weekend-row{display:grid;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius)}.preset-row{grid-template-columns:minmax(0,1fr) auto auto;align-items:center}.preset-card-row{grid-template-columns:minmax(0,1fr) minmax(130px,auto) minmax(220px,auto)}.preset-main{display:grid;grid-template-columns:132px minmax(0,1fr);align-items:center;gap:var(--space-3);min-width:0}.preset-track-image{width:132px;aspect-ratio:16 / 9;object-fit:cover;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.preset-row strong,.preset-row small,.preset-row span,.weekend-row strong,.weekend-row small,.weekend-session-row strong,.weekend-session-row small{display:block;min-width:0}.preset-row small,.weekend-row small,.weekend-session-row small,.muted-copy{color:var(--color-muted);font-size:13px}.preset-row>div:first-child span{margin-top:6px;color:var(--color-subtle);font-size:12px}.preset-main span{margin-top:6px;color:var(--color-subtle);font-size:12px}.preset-badges,.preset-actions,.weekend-row header,.weekend-session-row{display:flex;align-items:center;gap:var(--space-2)}.preset-badges{flex-wrap:wrap;justify-content:flex-end}.preset-badges span{display:inline-flex;align-items:center;gap:4px;min-height:28px;padding:0 8px;color:var(--color-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;font-size:12px}.preset-actions,.weekend-row header{justify-content:flex-end}.weekend-actions{flex-wrap:wrap}.weekend-row header{justify-content:space-between}.weekend-session-row{justify-content:space-between;min-height:54px;padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.content-view{display:grid;gap:18px}.results-view{display:grid;grid-template-columns:minmax(360px,.7fr) minmax(0,1.3fr);align-items:start;gap:18px}.results-panel,.results-detail-panel{min-height:620px}.results-list{display:grid;gap:var(--space-2)}.result-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr) 96px 72px;align-items:center;gap:var(--space-3);min-height:72px;padding:var(--space-3);color:var(--color-text);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;text-align:left}.result-row.active,.result-row:hover{border-color:var(--color-primary);box-shadow:0 0 0 2px #15526314}.result-row strong,.result-row small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-row small,.result-metric span{color:var(--color-muted);font-size:12px}.result-actions,.result-metrics,.result-tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.result-metrics{margin-bottom:var(--space-3)}.result-metric{min-width:124px;padding:var(--space-3);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.result-metric strong{display:block;margin-top:4px}.result-tags{margin-bottom:var(--space-4)}.result-tags span{min-height:28px;padding:6px 9px;color:var(--color-muted);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:999px;font-size:12px;font-weight:700}.results-table-wrap{overflow:auto;border:1px solid var(--color-border);border-radius:var(--radius)}.results-table{width:100%;min-width:860px;border-collapse:collapse}.results-table th,.results-table td{padding:10px var(--space-3);border-bottom:1px solid var(--color-border);font-size:13px;text-align:left;vertical-align:top}.results-table th{color:var(--color-muted);background:var(--color-surface-muted);font-size:11px;text-transform:uppercase}.results-table tr:last-child td{border-bottom:0}.results-table td strong,.results-table td small{display:block}.results-table td small{color:var(--color-danger);font-size:11px}.competition-view{display:grid;gap:var(--space-4)}.competition-toolbar-panel{padding-bottom:var(--space-2)}.competition-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:var(--space-4)}.competition-card{display:grid;align-content:start;gap:var(--space-4);min-width:0}.competition-metrics,.competition-actions,.session-badges,.row-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.competition-metrics .metric{flex:1 1 120px;min-width:120px}.competition-actions{padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.competition-session-list{display:grid;gap:var(--space-3)}.competition-session-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(160px,auto);gap:var(--space-3);padding:var(--space-3);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.competition-session-row>div:first-child{min-width:0}.competition-session-row strong,.competition-session-row small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.competition-session-row small{margin-top:4px;color:var(--color-muted);font-size:12px}.session-badges,.row-actions{align-items:center;justify-content:flex-end}.row-actions{grid-column:1 / -1}.mini-standings{display:grid;gap:6px}.mini-standings div{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:var(--space-2);padding:7px 9px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.mini-standings span,.mini-standings small{color:var(--color-muted);font-size:12px;font-weight:700}.mini-standings strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.race-flow-panel{display:grid;gap:var(--space-4);padding:var(--space-4);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius)}.race-flow-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.race-flow-header>div:first-child{display:grid;gap:3px}.race-flow-header small,.race-flow-detail-card small{color:var(--color-muted);font-size:12px}.race-flow-canvas{height:460px;min-height:460px;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface)}.race-flow-session-editor{display:grid;gap:var(--space-4);border-color:var(--color-accent)}.race-flow-modal{display:grid;grid-template-rows:auto minmax(0,1fr);width:min(1240px,calc(100vw - 32px))}.content-detail-modal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface-muted);border-bottom:1px solid var(--color-border)}.content-detail-modal-header small{color:var(--color-muted);font-size:12px;font-weight:800;text-transform:uppercase}.race-flow-modal>.race-flow-session-editor,.race-flow-modal>.race-flow-detail-card{min-height:0;max-height:calc(100vh - 108px);overflow:auto;border:0;border-radius:0}.race-flow-settings{display:grid;gap:var(--space-3);background:var(--color-surface)}.race-flow-settings-grid,.race-flow-entrant-grid{display:grid;gap:var(--space-3)}.championship-settings-editor{grid-column:1 / -1}.championship-settings-grid textarea{min-height:96px;resize:vertical}.championship-toggle-grid,.championship-points-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2)}.championship-class-card{background:var(--color-surface-muted)}.championship-class-card select[multiple]{min-height:120px}.championship-points-card{background:var(--color-surface)}.race-flow-entrant-row{display:grid;grid-template-columns:220px repeat(4,minmax(0,1fr)) auto;gap:var(--space-2);align-items:end;padding:var(--space-3);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.race-flow-entrant-preview{align-self:stretch;width:100%;min-height:148px;object-fit:contain;background:#050505;border:1px solid var(--color-border);border-radius:var(--radius-sm)}.race-flow-entrant-row label{display:grid;gap:5px;min-width:0}.race-flow-entrant-row label span{color:var(--color-muted);font-size:11px;font-weight:700}.race-flow-entrant-row input,.race-flow-entrant-row select,.championship-settings-grid textarea{width:100%;min-width:0}.championship-entrant-row{grid-template-columns:minmax(0,1fr)}.race-flow-parent-list{display:grid;gap:var(--space-2);padding:var(--space-3);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.race-flow-parent-list>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-2)}.race-flow-canvas .react-flow__node{width:230px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm)}.race-flow-canvas .react-flow__handle{background:var(--color-accent)}.race-flow-canvas .react-flow__edge-path{stroke:var(--color-accent);stroke-width:2}.race-flow-canvas .react-flow__edge-textbg{fill:var(--color-surface)}.race-flow-canvas .react-flow__edge-text{fill:var(--color-muted);font-size:11px;font-weight:700}.race-flow-canvas .react-flow__edge{cursor:pointer}.race-flow-node{display:grid;gap:7px;padding:4px;text-align:left}.race-flow-node strong,.race-flow-node small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.race-flow-node small{color:var(--color-muted);font-size:12px}.race-flow-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-4)}.race-flow-detail-panel{display:grid;align-content:start;gap:var(--space-3)}.race-flow-detail-card{display:grid;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.race-flow-detail-card>div:first-child{display:grid;gap:3px}.race-flow-detail-card span,.race-flow-detail-card strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.race-flow-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-border)}.race-flow-edit-grid label{display:grid;gap:5px;min-width:0}.race-flow-edit-grid label span{color:var(--color-muted);font-size:11px;font-weight:700}.race-flow-edit-grid input,.race-flow-edit-grid select{width:100%;min-width:0}.race-flow-edit-grid .row-actions,.race-flow-edit-grid .race-flow-toggle{grid-column:1 / -1}.race-flow-toggle{display:flex;align-items:center;gap:var(--space-2)}.race-flow-toggle input{width:auto}.race-flow-preview-list{display:grid;gap:5px}.race-flow-preview-list div{display:grid;grid-template-columns:28px minmax(0,1fr) minmax(72px,auto);align-items:center;gap:var(--space-2);padding:6px 8px;background:var(--color-surface-muted);border-radius:var(--radius-sm)}.race-flow-preview-list span,.race-flow-preview-list small{color:var(--color-muted);font-size:12px;font-weight:700}.race-flow-preview-list strong{font-size:13px}.warning-copy{color:var(--color-warning)}.content-panel{min-height:620px}.content-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.content-upload-panel{display:grid;gap:var(--space-3);margin-bottom:var(--space-4);padding:var(--space-4);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius)}.content-upload-heading,.content-upload-controls,.content-upload-summary{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:var(--space-3)}.content-upload-heading strong{display:block;margin-top:3px;color:var(--color-text);font-size:14px}.content-file-button{position:relative;overflow:hidden}.content-file-button input{position:absolute;inset:0;cursor:pointer;opacity:0}.setup-upload-controls .option-field{flex:1 1 260px;min-width:220px}.content-upload-summary span{min-height:28px;padding:6px 9px;color:var(--color-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;font-size:12px;font-weight:700}.content-upload-preview-list{display:grid;gap:var(--space-2)}.content-upload-preview-list>strong{color:var(--color-muted);font-size:12px;text-transform:uppercase}.content-upload-preview-list>div{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:var(--space-2)}.content-upload-preview-card{display:grid;grid-template-columns:72px minmax(0,1fr);gap:var(--space-3);min-width:0;padding:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.content-upload-preview-card img,.content-upload-preview-icon{width:72px;aspect-ratio:16 / 10;object-fit:cover;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.content-upload-preview-icon{display:grid;place-items:center;color:var(--color-primary)}.content-upload-preview-card h3{min-width:0;overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.content-upload-preview-card>div{display:grid;align-content:center;gap:5px;min-width:0}.content-upload-preview-card>div>span{min-width:0;overflow:hidden;color:var(--color-muted);font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.competition-import-panel{display:grid;gap:var(--space-3);margin-bottom:var(--space-4);background:var(--color-surface-muted)}.competition-import-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3);align-items:stretch}.competition-import-textarea{min-height:112px;resize:vertical}.competition-import-actions{display:grid;align-content:start;gap:var(--space-2);min-width:190px}.content-progress{position:relative;display:flex;align-items:center;min-height:32px;overflow:hidden;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:999px}.content-progress span{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,var(--color-primary),var(--color-accent))}.content-progress strong{position:relative;z-index:1;padding:0 var(--space-3);color:var(--color-text);font-size:12px}.segmented-control{display:inline-flex;min-height:40px;padding:4px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius)}.segmented-control button{min-width:104px;padding:0 var(--space-3);color:var(--color-muted);background:transparent;border-radius:var(--radius-sm);cursor:pointer;font-weight:700}.segmented-control button.active{color:var(--color-primary-contrast);background:var(--color-primary)}.content-search{display:flex;align-items:center;gap:var(--space-2);width:min(380px,100%);min-height:42px;padding:0 var(--space-3);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius)}.content-search svg{color:var(--color-muted)}.content-search input{width:100%;min-width:0;color:var(--color-text);background:transparent;border:0;outline:0}.content-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-4)}.content-browser{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.42fr);align-items:start;gap:var(--space-4)}.content-browser.single-column{grid-template-columns:minmax(0,1fr)}.content-card{min-width:0;overflow:hidden;background:var(--color-surface-muted);border:1px solid #dfe6ea;border-radius:var(--radius)}.content-preview{display:grid;place-items:center;aspect-ratio:16 / 7;background:linear-gradient(135deg,#15526324,#d24b3514),#dfe6ea}.content-weather-preview{display:grid;place-items:center;aspect-ratio:16 / 7;color:var(--color-primary);background:linear-gradient(135deg,#1552631f,#efa84429),#e5ecef}.content-preview img{max-width:100%;max-height:100%;object-fit:contain}.content-card-body{display:grid;gap:var(--space-3);padding:var(--space-4)}.content-card-title{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.content-card-title h2{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content-meta,.content-specs,.layout-list{display:flex;flex-wrap:wrap;gap:var(--space-2)}.content-meta span,.content-specs small,.layout-list span{min-height:28px;padding:6px 9px;color:var(--color-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;font-size:12px;font-weight:700}.content-card-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.diagnostics-list{display:grid;gap:var(--space-3)}.diagnostic-card{display:grid;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface-muted);border:1px solid #dfe6ea;border-left:4px solid var(--color-border-strong);border-radius:var(--radius)}.diagnostic-card.warning{border-left-color:#d19b22}.diagnostic-card.error{border-left-color:#b94b42}.diagnostic-card.info{border-left-color:var(--color-primary)}.diagnostic-card p{margin:0;color:var(--color-muted);font-weight:700}.checksum-value{display:block;max-width:100%;padding:8px 10px;overflow:hidden;color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.checksum-empty .button{justify-self:center}.content-detail{position:sticky;top:var(--space-4);display:grid;gap:var(--space-3);min-width:0;padding:var(--space-4);background:var(--color-surface-muted);border:1px solid #dfe6ea;border-radius:var(--radius)}.content-detail-modal-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:var(--space-4);background:#0e1b209e}.content-detail-modal{position:relative;width:min(1180px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:hidden;background:var(--color-surface);border:1px solid rgba(223,230,234,.9);border-radius:var(--radius);box-shadow:var(--shadow-lg)}.content-detail-modal .content-detail{position:static;max-height:calc(100vh - 32px);padding:var(--space-5);overflow:auto;background:var(--color-surface);border:0}.content-detail-close{position:absolute;top:var(--space-3);right:var(--space-3);z-index:2;background:var(--color-surface);border:1px solid var(--color-border-strong)}.content-detail-modal .car-content-detail{grid-template-columns:minmax(260px,340px) minmax(0,1fr);align-items:start}.content-detail-modal .car-content-detail .panel-heading,.content-detail-modal .car-content-detail .content-text-block,.content-detail-modal .car-content-detail .skin-strip,.content-detail-modal .car-content-detail .content-upload-panel,.content-detail-modal .car-content-detail .content-metadata-editor{grid-column:1 / -1}.content-detail-modal .car-content-detail .panel-heading{padding-right:44px}.content-detail .panel-heading{margin-bottom:0}.content-detail .content-preview{border-radius:var(--radius-sm)}.content-detail-list{margin-bottom:0}.content-text-block{display:grid;gap:var(--space-2);min-width:0}.content-text-block>strong{color:var(--color-muted);font-size:12px;text-transform:uppercase}.content-text-block p{margin:0;color:var(--color-text);font-size:13px;line-height:1.5}.content-metadata-editor{display:grid;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.content-metadata-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.content-metadata-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.content-metadata-heading>strong{color:var(--color-muted);font-size:12px;text-transform:uppercase}.content-textarea{min-height:96px;padding-top:10px;resize:vertical}.skin-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2)}.skin-strip img{width:100%;aspect-ratio:1;object-fit:cover;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.car-setup-list{display:grid;gap:var(--space-2)}.car-setup-list section{display:grid;gap:6px;padding:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.car-setup-list section>span{color:var(--color-muted);font-size:12px;font-weight:700}.car-setup-list button{display:flex;align-items:center;gap:var(--space-2);min-width:0;min-height:30px;color:var(--color-text);background:transparent;cursor:pointer;font-size:13px;font-weight:700;text-align:left}.car-setup-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2)}.car-setup-row button{min-height:32px;padding:0 var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.car-setup-row button:disabled{cursor:not-allowed;opacity:.48}.layout-detail-list{display:grid;gap:var(--space-2)}.layout-detail-list section{display:grid;gap:4px;padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.layout-detail-list strong,.layout-detail-list span,.layout-detail-list small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layout-detail-list span,.layout-detail-list small{color:var(--color-muted);font-size:12px}.content-empty{display:grid;place-items:center;gap:var(--space-2);min-height:260px;color:var(--color-muted);background:var(--color-surface-muted);border:1px dashed var(--color-border-strong);border-radius:var(--radius)}.content-empty.compact{min-height:160px}.content-empty svg{color:var(--color-primary)}.logs-panel pre{max-height:280px;margin:0;overflow:auto;padding:var(--space-4);color:#dbe7ec;background:#111a21;border-radius:var(--radius);font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.55;white-space:pre-wrap}.log-empty{display:grid;place-items:center;gap:var(--space-2);min-height:180px;color:var(--color-muted);background:var(--color-surface-muted);border:1px dashed var(--color-border-strong);border-radius:var(--radius)}.log-empty svg{color:var(--color-primary)}.live-page{min-height:100vh;padding:var(--space-5);background:var(--color-surface-muted)}.live-topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.live-topbar h1{font-size:clamp(26px,3vw,42px)}.live-status-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--space-3);margin-bottom:var(--space-4)}.live-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:var(--space-4)}.race-control-page{display:grid;gap:var(--space-4)}.race-control-grid{grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr)}.live-timing-grid{grid-template-areas:"map chat" "drivers drivers" "stored stored" "events events"}.live-timing-map-panel{grid-area:map}.live-timing-chat-panel{grid-area:chat}.live-timing-drivers-panel{grid-area:drivers}.live-timing-stored-panel{grid-area:stored}.live-timing-events-panel{grid-area:events}.live-map-panel{min-height:620px}.live-map{position:relative;display:flex;align-items:center;justify-content:center;min-height:520px;overflow:hidden;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius)}.live-map-frame{position:relative;max-width:100%}.live-map-stage{position:relative;display:block;max-width:100%}.live-map-stage.is-rotated{position:absolute;left:0;top:0;transform-origin:top left}.live-map-stage img{display:block;height:100%;width:100%}.live-driver-dot{position:absolute;display:grid;place-items:center;width:30px;height:30px;color:#fff;border:2px solid #fff;border-radius:999px;box-shadow:0 8px 22px #0003;font-size:10px;font-weight:800;transform:translate(-50%,-50%);transition:left var(--live-dot-transition, .16s) linear,top var(--live-dot-transition, .16s) linear}.live-map-stage.is-rotated .live-driver-dot{transform:rotate(-90deg) translate(-50%,-50%);transform-origin:top left}.live-chat-panel,.live-admin-panel,.live-table-panel{min-height:0}.control-center-panel{min-height:620px}.live-chat{display:grid;gap:var(--space-3)}.live-chat-log{display:grid;align-content:start;gap:var(--space-2);min-height:320px;max-height:420px;overflow:auto;padding:var(--space-3);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.live-chat-log p{margin:0;padding:8px 10px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.live-chat-log strong,.live-chat-log span{display:block}.live-chat-log strong{color:var(--color-primary);font-size:12px}.live-chat-log span{margin-top:3px;font-size:13px}.live-chat-form,.live-admin-form{display:grid;grid-template-columns:minmax(120px,.35fr) minmax(0,1fr) auto;gap:var(--space-2)}.live-chat-form input,.live-chat-form select,.live-admin-form input,.live-admin-form select{min-width:0;min-height:42px;padding:0 var(--space-3);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm)}.live-admin-actions{display:grid;gap:var(--space-3)}.live-admin-form{grid-template-columns:minmax(0,1fr) auto}.driver-control-panel .live-admin-form:first-child{grid-template-columns:minmax(160px,1fr) auto auto}.live-table td small{margin-top:4px}.race-control-journal{display:grid;align-content:start;gap:var(--space-2);max-height:540px;overflow:auto}.race-control-event{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:var(--space-2);padding:10px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-left:3px solid var(--color-border-strong);border-radius:var(--radius-sm)}.race-control-event.cut{border-left-color:#f59e0b}.race-control-event.collision{border-left-color:#ef4444}.race-control-event.chat{border-left-color:var(--color-primary)}.race-control-event-icon{display:grid;place-items:center;width:28px;height:28px;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.race-control-event strong,.race-control-event span{display:block;min-width:0}.race-control-event strong{color:var(--color-text);font-size:13px}.race-control-event span{margin-top:2px;color:var(--color-text-muted);font-size:12px;overflow-wrap:anywhere}.race-control-event time{color:var(--color-text-muted);font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}.broadcast-page{background:linear-gradient(135deg,#081118eb,#111c24d6),var(--color-sidebar);color:#edf5f8}.broadcast-page .panel,.broadcast-page .metric{color:#edf5f8;background:#111d26db;border-color:#ffffff21}.broadcast-page .metric span,.broadcast-page .eyebrow,.broadcast-page .updated-stamp{color:#9fb5bf}.broadcast-page .metric strong,.broadcast-page .panel h2{color:#fff}.broadcast-topbar{margin-bottom:var(--space-5)}.broadcast-delay{display:flex;align-items:center;gap:var(--space-2);min-height:38px;padding:4px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius)}.broadcast-delay span{padding-left:8px;color:#b6c8cf;font-size:12px;font-weight:700;text-transform:uppercase}.broadcast-delay button{min-width:44px;min-height:30px;color:#d9e8ed;background:transparent;border-radius:var(--radius-sm);cursor:pointer}.broadcast-delay button.active,.broadcast-delay button:hover{color:#fff;background:var(--color-accent)}.broadcast-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.8fr);gap:var(--space-4);align-items:end;margin-bottom:var(--space-4)}.broadcast-hero h2{margin:4px 0;color:#fff;font-size:clamp(28px,4vw,54px);line-height:1}.broadcast-hero p{margin:0;color:#c8d6dc;font-size:16px}.broadcast-hero-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.broadcast-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(360px,.6fr);gap:var(--space-4)}.broadcast-map-panel{min-height:700px}.broadcast-map-panel .live-map{min-height:620px;background:#fffffff5}.broadcast-standings,.broadcast-ticker{display:grid;gap:var(--space-2)}.broadcast-standing-row{display:grid;grid-template-columns:40px minmax(0,1fr) minmax(72px,auto) minmax(76px,auto);gap:var(--space-2);align-items:center;min-height:54px;padding:8px 10px;background:#ffffff12;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm)}.broadcast-standing-row>strong{display:grid;place-items:center;width:30px;height:30px;color:#fff;background:var(--color-accent);border-radius:999px}.broadcast-standing-row span,.broadcast-standing-row b,.broadcast-standing-row small,.broadcast-standing-row em{display:block;min-width:0}.broadcast-standing-row b{overflow:hidden;color:#fff;text-overflow:ellipsis;white-space:nowrap}.broadcast-standing-row small{color:#b4c4ca;font-size:12px}.broadcast-standing-row em{color:#fff;font-size:12px;font-style:normal;font-weight:700;text-align:right}.broadcast-ticker h3{margin:var(--space-2) 0;color:#fff;font-size:13px;text-transform:uppercase}.broadcast-ticker p{margin:0 0 var(--space-2);padding:8px 10px;color:#d7e4e9;background:#ffffff12;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm)}.broadcast-ticker strong,.broadcast-ticker span{display:block}.broadcast-ticker strong{color:#fff;font-size:12px}.broadcast-ticker span{margin-top:2px;font-size:12px}.form-grid{gap:var(--space-3);margin-bottom:var(--space-4)}.field{display:flex;flex:1 1 220px;flex-direction:column;gap:7px;min-width:0}.field>span{color:var(--color-text);font-size:13px;font-weight:700}.input{width:100%;min-height:42px;padding:0 var(--space-3);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius)}.toggle{display:inline-flex;align-items:center;justify-content:flex-start;gap:10px;min-height:42px;padding:0 var(--space-3);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius)}.toggle span{position:relative;width:34px;height:18px;background:#a6b2bb;border-radius:999px}.toggle span:after{position:absolute;top:3px;left:3px;width:12px;height:12px;content:"";background:var(--color-surface);border-radius:999px}.toggle.active span{background:var(--color-success)}.toggle.active span:after{transform:translate(16px)}.empty-state{display:grid;gap:var(--space-2);min-height:132px;padding:var(--space-4);background:var(--color-surface-muted);border:1px dashed var(--color-border-strong);border-radius:var(--radius)}.empty-state strong{font-size:16px}.toast{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;color:var(--color-primary);background:#e1edf1;border-radius:999px;font-size:12px;font-weight:700}@media(max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;padding:var(--space-4)}.nav-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.server-rail{margin-top:0}.workspace{padding:18px}.status-grid,.live-status-grid,.content-grid,.account-status-grid,.accounts-grid,.content-browser,.race-flow-entrant-row,.race-flow-edit-grid,.race-flow-detail-grid,.live-grid,.broadcast-grid,.broadcast-hero,.broadcast-hero-metrics,.results-view,.telemetry-row,.options-grid,.options-fields,.race-setup-grid,.race-builder-selected-media,.race-builder-entrant-card,.race-builder-entrant-fields,.race-builder-session-row,.preview-grid,.duration-grid{grid-template-columns:1fr}.live-timing-grid{grid-template-areas:"map" "chat" "drivers" "stored" "events"}.content-detail-modal-backdrop{padding:var(--space-3)}.content-detail-modal{max-height:92vh}.content-detail-modal .content-detail{padding:var(--space-4)}.content-detail-modal .car-content-detail,.preset-row,.preset-main{grid-template-columns:1fr}.preset-track-image{width:100%}.result-row{grid-template-columns:1fr 1fr}.live-topbar{align-items:flex-start;flex-direction:column}.live-map-panel,.broadcast-map-panel{min-height:0}.live-map{min-height:360px}.preset-badges,.preset-actions,.race-flow-header,.weekend-row header,.weekend-session-row{align-items:stretch;flex-direction:column}.race-flow-canvas{height:380px;min-height:380px}.setup-section:first-child,.setup-section:last-child{grid-column:auto}.design-preview{grid-column:auto}}@media(max-width:560px){.topbar{align-items:flex-start;flex-direction:column}.topbar-actions,.action-row,.broadcast-delay,.live-chat-form,.live-admin-form,.form-grid,.content-toolbar{width:100%}.topbar-actions{flex-wrap:wrap}.language-switcher,.button{flex:1}.form-grid{flex-direction:column}.content-toolbar{align-items:stretch;flex-direction:column}.live-chat-form,.live-admin-form{grid-template-columns:1fr}.broadcast-standing-row{grid-template-columns:34px minmax(0,1fr)}.broadcast-standing-row em,.broadcast-standing-row>small{text-align:left}.segmented-control{width:100%}.segmented-control button{flex:1}}
