.dt-scroll{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);overflow:auto}.dt-table{border-collapse:collapse;width:100%;font-size:12px;line-height:1.45}.dt-table-fluid{table-layout:fixed}.dt-head{z-index:2;background:var(--bg-subtle);position:sticky;top:0}.dt-th{text-align:left;letter-spacing:.04em;text-transform:uppercase;color:var(--text);border-bottom:1px solid var(--border);white-space:nowrap;padding:0;font-size:11px;font-weight:700}.dt-th,.dt-td{border-bottom:1px solid var(--border);vertical-align:middle;text-overflow:ellipsis;white-space:nowrap;padding:6px 8px;overflow:hidden}.dt-th{height:32px;padding:0 8px}.dt-sort-button{color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.dt-sort-button:hover{color:var(--text-strong)}.dt-sort-arrow{min-width:10px;color:var(--accent);font-size:9px}.dt-tr{cursor:pointer}.dt-tr:hover{background:var(--bg-hover)}.dt-tr:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.dt-tr-selected{background:var(--bg-subtle)}.dt-tr-selected:hover{background:var(--bg-hover)}.dt-td-select{width:32px}.dt-td .ui-mono{font-size:12px}.dt-truncate{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.dt-empty-cell{text-align:center;color:var(--text-muted);padding:20px}.dt-spacer td{border:0}.dt-columns-menu{position:relative}.dt-columns-panel{z-index:10;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);min-width:180px;box-shadow:var(--shadow-menu);padding:6px;position:absolute;top:calc(100% + 4px);right:0}.dt-columns-item{border-radius:var(--radius-sm);color:var(--text);cursor:pointer;align-items:center;gap:8px;padding:5px 7px;font-size:13px;display:flex}.dt-columns-item:hover{background:var(--bg-hover)}
.fleet-server-tile{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);cursor:pointer;min-width:300px;transition:border-color .12s,background .12s;display:flex;position:relative;overflow:hidden}.fleet-server-tile:hover{border-color:var(--border-strong)}.fleet-server-tile[data-selected=true]{border-color:var(--accent)}.fleet-server-tile:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.fleet-chassis-rail{background:var(--bg-subtle);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;justify-content:space-between;align-items:center;width:14px;padding:8px 0 6px;display:flex}.fleet-rail-top{flex-direction:column;align-items:center;gap:5px;display:flex}.fleet-rail-rivet{background:var(--border-strong);opacity:.7;border-radius:50%;width:3px;height:3px}.fleet-rail-bay-marks{flex-direction:column;align-items:center;gap:3px;display:flex}.fleet-bay-led{background:var(--status-unknown);border-radius:1px;width:7px;height:2.5px;transition:background-color .15s}.fleet-rail-vents{opacity:.55;flex-direction:column;align-items:center;gap:3px;margin:12px 0;display:flex}.fleet-rail-vent{background:var(--border-strong);width:6px;height:1px}.fleet-rail-rivet-bottom{margin-top:auto}.fleet-server-tile[data-status=healthy] .fleet-bay-led{background:var(--status-healthy)}.fleet-server-tile[data-status=degraded] .fleet-bay-led{background:var(--status-warning)}.fleet-server-tile[data-status=unreachable] .fleet-bay-led{background:var(--status-unreachable)}.fleet-server-tile[data-status=maintenance] .fleet-bay-led{background:var(--status-maintenance)}.fleet-server-tile[data-status=unknown] .fleet-bay-led{background:var(--status-unknown)}.fleet-tile-body{flex-direction:column;flex:1;gap:7px;min-width:0;padding:8px 10px;display:flex}.fleet-tile-header{justify-content:space-between;align-items:center;gap:8px;padding-bottom:1px;display:flex}.fleet-tile-title-box{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.fleet-tile-checkbox{width:14px;height:14px;accent-color:var(--accent);cursor:pointer;flex-shrink:0;margin:0}.fleet-tile-name{font-family:var(--font-mono);color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.fleet-tile-name-link{color:inherit;text-decoration:none}.fleet-tile-name-link:hover{text-decoration:underline}.fleet-tile-name-link:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}.fleet-fact-link{color:inherit;font-weight:500;text-decoration:none}.fleet-fact-link:hover{color:var(--accent);text-decoration:underline}.fleet-fact-link:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px;border-radius:var(--radius-sm)}.fleet-tile-status{flex-shrink:0}.fleet-tile-addresses{background:var(--bg-subtle);border-radius:var(--radius-sm);border:1px solid var(--border);flex-direction:column;gap:2px;padding:4px 6px;display:flex}.fleet-address-row{align-items:center;gap:6px;height:20px;display:flex}.fleet-address-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);flex-shrink:0;width:66px;font-size:10px;font-weight:700}.fleet-address-value-container{flex:1;align-items:center;gap:5px;min-width:0;display:flex}.fleet-address-row .ui-mono{color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;overflow:hidden}.fleet-address-unknown{color:var(--text-muted);font-size:11px;font-style:italic}.fleet-primary-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:4px;height:4px}.fleet-address-action{opacity:0;flex-shrink:0;transition:opacity .12s}.fleet-address-row:hover .fleet-address-action,.fleet-address-row:focus-within .fleet-address-action{opacity:1}.fleet-address-action .ui-icon-button{width:20px;height:20px}.fleet-tile-facts{flex-direction:column;gap:3px;font-size:12px;display:flex}.fleet-fact-row{color:var(--text);align-items:center;gap:5px;height:18px;display:flex}.fleet-fact-icon{color:var(--text-muted);flex-shrink:0}.fleet-fact-name{color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.fleet-fact-label{color:var(--text-muted);font-size:11px}.fleet-fact-value{color:var(--text);font-size:12px;font-family:var(--font-mono)}.fleet-fact-unknown{color:var(--text-muted);font-size:11px;font-style:italic}.fleet-chip-host{text-transform:uppercase;letter-spacing:.05em;color:var(--accent);border:1px solid var(--accent);border-radius:2px;padding:0 3px;font-size:10px;font-weight:700;line-height:14px}.fleet-version-badge{font-family:var(--font-mono);background:var(--bg-subtle);border:1px solid var(--border);color:var(--text-strong);border-radius:2px;align-items:center;padding:1px 4px;font-size:11px;line-height:14px;display:inline-flex}.fleet-tile-components{padding-top:2px}.fleet-component-list{flex-wrap:wrap;gap:4px;display:flex}.fleet-component-item{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-subtle);color:var(--text);align-items:center;gap:3px;padding:1px 4px;font-size:11px;display:inline-flex}.fleet-component-icon{flex-shrink:0}.fleet-component-healthy .fleet-component-icon{color:var(--status-healthy)}.fleet-component-degraded .fleet-component-icon{color:var(--status-warning)}.fleet-component-failed .fleet-component-icon{color:var(--status-failed)}.fleet-component-unknown .fleet-component-icon{color:var(--status-unknown)}.fleet-component-detail{color:var(--text);font-size:10px}.fleet-flags-row{flex-wrap:wrap;gap:4px;padding-top:2px;display:flex}.fleet-flag-chip{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-subtle);color:var(--text-muted);align-items:center;gap:3px;padding:0 5px;font-size:11px;line-height:16px;display:inline-flex}.fleet-flag-chip svg{color:var(--text-muted)}.fleet-flag-label{font-family:var(--font-mono);font-size:10px}.fleet-flag-overflow{cursor:help;color:var(--text-muted);font-size:10px;font-weight:600}.fleet-tile-updates{flex-wrap:wrap;gap:4px;padding-top:2px;display:flex}.fleet-update-badge{border-radius:var(--radius-sm);border:1px solid #0000;align-items:center;gap:4px;padding:1px 5px;font-size:11px;font-weight:600;line-height:16px;display:inline-flex}.fleet-update-coolify{background:color-mix(in srgb, var(--status-warning) 12%, transparent);border-color:color-mix(in srgb, var(--status-warning) 35%, transparent);color:var(--status-warning)}.fleet-update-security{background:color-mix(in srgb, var(--status-failed) 12%, transparent);border-color:color-mix(in srgb, var(--status-failed) 35%, transparent);color:var(--status-failed)}.fleet-update-packages{background:var(--bg-subtle);border-color:var(--border-strong);color:var(--text)}.fleet-update-reboot{background:color-mix(in srgb, var(--status-warning) 12%, transparent);border-color:color-mix(in srgb, var(--status-warning) 35%, transparent);color:var(--status-warning)}.fleet-tile-scan-status{color:var(--text-muted);padding-top:2px;font-size:11px}.fleet-tile-scan-status-stale{color:var(--status-warning)}.fleet-tile-footer{border-top:1px solid var(--border);color:var(--text-muted);justify-content:space-between;align-items:center;margin-top:auto;padding-top:5px;font-size:11px;display:flex}.fleet-tile-last-checked{color:var(--text-muted)}.fleet-tile-resources{font-family:var(--font-mono);color:var(--text);font-size:11px}.fleet-group{flex-direction:column;gap:10px;margin-bottom:24px;display:flex}.fleet-group-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.fleet-group-title-row{align-items:center;gap:10px;display:flex}.fleet-group-title{color:var(--text-strong);letter-spacing:.01em;margin:0;font-size:13px;font-weight:650}.fleet-group-counts{align-items:center;gap:5px;display:flex}.fleet-group-badge{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-subtle);color:var(--text);align-items:center;padding:1px 6px;font-size:11px;font-weight:600;display:inline-flex}.fleet-group-badge-degraded{border-color:color-mix(in srgb, var(--status-warning) 35%, transparent);color:var(--status-warning)}.fleet-group-badge-unreachable{border-color:color-mix(in srgb, var(--status-unreachable) 35%, transparent);color:var(--status-unreachable)}.fleet-group-badge-maintenance{border-color:color-mix(in srgb, var(--status-maintenance) 35%, transparent);color:var(--status-maintenance)}.fleet-group-badge-healthy{border-color:color-mix(in srgb, var(--status-healthy) 35%, transparent);color:var(--status-healthy)}.fleet-group-hairline{background:var(--border);width:100%;height:1px}.fleet-group-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;display:grid}.fleet-sr-only,.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fleet-lab-container{flex-direction:column;gap:16px;max-width:1400px;display:flex}.fleet-demo-banner{background:var(--bg-subtle);border:1px solid var(--border-strong);border-left:3px solid var(--accent);border-radius:var(--radius-sm);align-items:center;gap:12px;padding:8px 12px;font-size:12px;display:flex}.fleet-demo-pill{letter-spacing:.06em;border-radius:var(--radius-sm);background:var(--accent);color:var(--accent-contrast);flex-shrink:0;padding:2px 6px;font-size:10px;font-weight:700}.fleet-demo-banner-text{color:var(--text);flex:1}.fleet-demo-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.fleet-demo-selection-count{font-family:var(--font-mono);color:var(--text-muted);font-size:11px}.fleet-lab-header{justify-content:space-between;align-items:center;display:flex}.fleet-lab-title-row{align-items:baseline;gap:12px;display:flex}.fleet-lab-title-row .page-heading{margin:0}.fleet-lab-subtitle{color:var(--text-muted);font-size:12px}.fleet-lab-main{flex-direction:column;gap:20px;display:flex}
.workflow-node-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);width:240px;font-family:var(--font-sans);color:var(--text-strong);box-sizing:border-box;-webkit-user-select:none;user-select:none;flex-direction:column;gap:6px;padding:8px 10px;font-size:13px;line-height:1.4;transition:border-color .12s,box-shadow .12s;display:flex;position:relative}.workflow-node-card:hover{border-color:var(--border-strong)}.workflow-node-card.is-selected,.workflow-node-card[data-selected=true]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.workflow-node-card:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.workflow-node-header{justify-content:space-between;align-items:center;gap:6px;min-height:18px;display:flex}.workflow-node-type-badge{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);align-items:center;gap:5px;font-size:11px;font-weight:600;display:inline-flex}.workflow-node-type-icon{width:14px;height:14px;color:var(--accent);flex-shrink:0}.workflow-node-id{font-family:var(--font-mono);color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:90px;font-size:10px;overflow:hidden}.workflow-node-title{color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.workflow-node-subtitle{font-family:var(--font-mono);color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.workflow-node-footer{border-top:1px solid var(--border);color:var(--text-muted);justify-content:space-between;align-items:center;gap:6px;padding-top:4px;font-size:11px;display:flex}.workflow-node-targets-slot{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:4px;display:inline-flex;overflow:hidden}.workflow-node-status-slot{align-items:center;gap:4px;margin-left:auto;display:inline-flex}
