.DevicesComponent-module__BsBJ_a__devices{flex-direction:column;display:flex}.DevicesComponent-module__BsBJ_a__device-list{flex-direction:column;gap:20px;display:flex}.DevicesComponent-module__BsBJ_a__device-card{background:var(--background-surface);border:1px solid var(--calculated-border-color);border-radius:var(--border-radius-sm);animation:DevicesComponent-module__BsBJ_a__fade-in var(--transition-normal) ease-out both;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);padding:0;overflow:hidden}.DevicesComponent-module__BsBJ_a__device-card:hover{border-color:color-mix(in srgb, var(--device-accent) 30%, transparent);box-shadow:0 0 20px color-mix(in srgb, var(--device-accent) 8%, transparent)}.DevicesComponent-module__BsBJ_a__device-header{border-bottom:1px solid var(--calculated-border-subtle);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.DevicesComponent-module__BsBJ_a__device-info{align-items:center;gap:14px;display:flex}.DevicesComponent-module__BsBJ_a__device-icon-wrap{border-radius:var(--border-radius-sm);background:color-mix(in srgb, var(--device-accent) 10%, transparent);width:40px;height:40px;color:var(--device-accent);transition:background var(--transition-fast);justify-content:center;align-items:center;display:flex}.DevicesComponent-module__BsBJ_a__device-card:hover .DevicesComponent-module__BsBJ_a__device-icon-wrap{background:color-mix(in srgb, var(--device-accent) 16%, transparent)}.DevicesComponent-module__BsBJ_a__device-name{font-size:var(--font-size-md);color:var(--text-primary);letter-spacing:-.01em;font-weight:600}.DevicesComponent-module__BsBJ_a__device-meta{align-items:center;gap:6px;margin-top:2px;display:flex}.DevicesComponent-module__BsBJ_a__device-type{font-size:var(--font-size-sm);color:var(--device-accent);font-weight:500}.DevicesComponent-module__BsBJ_a__separator{color:var(--text-muted);font-size:var(--font-size-sm)}.DevicesComponent-module__BsBJ_a__device-os{font-size:var(--font-size-sm);color:var(--text-tertiary)}.DevicesComponent-module__BsBJ_a__device-status{align-items:center;gap:8px;display:flex}.DevicesComponent-module__BsBJ_a__status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.DevicesComponent-module__BsBJ_a__status-dot.DevicesComponent-module__BsBJ_a__healthy{background:var(--color-success);animation:2s ease-in-out infinite DevicesComponent-module__BsBJ_a__pulse;box-shadow:0 0 6px #10b98166;box-shadow:0 0 6px lab(66.7072% -50.6831 17.0415/.4)}.DevicesComponent-module__BsBJ_a__status-dot.DevicesComponent-module__BsBJ_a__unhealthy{background:var(--color-danger);box-shadow:0 0 6px #ef444466;box-shadow:0 0 6px lab(55.8044% 65.6075 40.7259/.4)}.DevicesComponent-module__BsBJ_a__status-label{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:.8125rem;font-weight:500}.DevicesComponent-module__BsBJ_a__hostname-row{border-bottom:1px solid var(--calculated-border-subtle);justify-content:space-between;align-items:center;padding:10px 24px;display:flex}.DevicesComponent-module__BsBJ_a__hostname-label{font-size:var(--font-size-sm);color:var(--text-tertiary)}.DevicesComponent-module__BsBJ_a__hostname{font-family:var(--font-mono);color:var(--text-secondary);background:var(--background-elevated);border-radius:2px;padding:2px 10px;font-size:.8125rem}.DevicesComponent-module__BsBJ_a__device-notes{color:var(--text-tertiary);border-bottom:1px solid var(--calculated-border-subtle);padding:10px 24px;font-size:.8125rem;line-height:1.5}.DevicesComponent-module__BsBJ_a__services-section{padding:0}.DevicesComponent-module__BsBJ_a__services-header{width:100%;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:none;justify-content:space-between;align-items:center;padding:10px 24px;font-weight:600;display:flex}.DevicesComponent-module__BsBJ_a__services-header:hover{color:var(--text-secondary);background:var(--calculated-accent-primary-subtle)}.DevicesComponent-module__BsBJ_a__services-header:focus-visible{outline:2px solid var(--accent-primary);outline-offset:-2px}.DevicesComponent-module__BsBJ_a__chevron{transition:transform var(--transition-fast);will-change:transform;flex-shrink:0;transform:rotate(-90deg)}.DevicesComponent-module__BsBJ_a__chevron-expanded{transform:rotate(0)}.DevicesComponent-module__BsBJ_a__services-collapsible{transition:grid-template-rows var(--transition-normal) ease;grid-template-rows:0fr;display:grid}.DevicesComponent-module__BsBJ_a__services-collapsible>*{overflow:hidden}.DevicesComponent-module__BsBJ_a__services-expanded{grid-template-rows:1fr}.DevicesComponent-module__BsBJ_a__services-table{flex-direction:column;display:flex}.DevicesComponent-module__BsBJ_a__service-row{border-top:1px solid var(--calculated-border-subtle);transition:background var(--transition-fast);justify-content:space-between;align-items:center;gap:12px;padding:10px 24px;display:flex}.DevicesComponent-module__BsBJ_a__service-row:hover{background:var(--calculated-accent-primary-subtle)}.DevicesComponent-module__BsBJ_a__service-left{align-items:center;gap:10px;min-width:0;display:flex}.DevicesComponent-module__BsBJ_a__service-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.DevicesComponent-module__BsBJ_a__service-dot.DevicesComponent-module__BsBJ_a__healthy{background:var(--color-success)}.DevicesComponent-module__BsBJ_a__service-dot.DevicesComponent-module__BsBJ_a__unhealthy{background:var(--color-danger)}.DevicesComponent-module__BsBJ_a__service-name{font-size:var(--font-size-base);color:var(--text-primary);white-space:nowrap;font-weight:500}.DevicesComponent-module__BsBJ_a__stage-badge{text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;border-radius:2px;padding:1px 6px;font-size:.625rem;font-weight:600;line-height:1.6}.DevicesComponent-module__BsBJ_a__stage-production{color:var(--color-info);background:var(--calculated-color-info-subtle)}.DevicesComponent-module__BsBJ_a__stage-development{color:var(--color-warning);background:var(--calculated-color-warning-subtle)}.DevicesComponent-module__BsBJ_a__service-right{flex-shrink:0;align-items:center;gap:12px;display:flex}.DevicesComponent-module__BsBJ_a__service-port{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--device-accent);background:color-mix(in srgb, var(--device-accent) 8%, transparent);border-radius:2px;padding:2px 6px;font-weight:600}.DevicesComponent-module__BsBJ_a__service-url{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--text-tertiary);white-space:nowrap}.DevicesComponent-module__BsBJ_a__service-latency{font-size:var(--font-size-sm);color:var(--text-secondary);font-variant-numeric:tabular-nums;align-items:center;gap:4px;display:flex}.DevicesComponent-module__BsBJ_a__service-error{font-size:var(--font-size-sm);color:var(--color-danger);white-space:nowrap;align-items:center;gap:4px;display:flex}.DevicesComponent-module__BsBJ_a__container-icon{color:var(--device-accent);flex-shrink:0}.DevicesComponent-module__BsBJ_a__container-status{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--text-tertiary);white-space:nowrap}.DevicesComponent-module__BsBJ_a__metric-badges{align-items:center;gap:6px;display:flex}.DevicesComponent-module__BsBJ_a__metric-badge{font-size:var(--font-size-xs);font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--metric-color,var(--text-secondary));background:color-mix(in srgb, var(--metric-color,var(--text-secondary)) 10%, transparent);border:1px solid color-mix(in srgb, var(--metric-color,var(--text-secondary)) 15%, transparent);transition:background var(--transition-fast), color var(--transition-fast);border-radius:3px;align-items:center;gap:4px;padding:2px 7px;font-weight:500;display:inline-flex}.DevicesComponent-module__BsBJ_a__metric-value{font-family:var(--font-mono);font-size:var(--font-size-xs);letter-spacing:-.01em}.DevicesComponent-module__BsBJ_a__refresh-button{color:var(--text-secondary);background:var(--background-surface);border:1px solid var(--calculated-border-color);border-radius:var(--border-radius-sm);transition:border-color var(--transition-fast), color var(--transition-fast), background var(--transition-fast);align-items:center;gap:6px;padding:8px 14px;font-size:.8125rem;font-weight:500;display:flex}.DevicesComponent-module__BsBJ_a__refresh-button:hover:not(:disabled){border-color:var(--accent-primary);color:var(--accent-primary);background:var(--calculated-accent-primary-subtle)}.DevicesComponent-module__BsBJ_a__spinning{animation:1s linear infinite DevicesComponent-module__BsBJ_a__spin}.DevicesComponent-module__BsBJ_a__loading-state{height:200px;color:var(--text-tertiary);font-size:var(--font-size-base);justify-content:center;align-items:center;gap:10px;display:flex}.DevicesComponent-module__BsBJ_a__loading-dot{background:var(--accent-primary);border-radius:50%;width:8px;height:8px;animation:1.5s ease-in-out infinite DevicesComponent-module__BsBJ_a__pulse}.DevicesComponent-module__BsBJ_a__infra-header{color:var(--node-infrastructure)}.DevicesComponent-module__BsBJ_a__stage-infrastructure{color:var(--node-infrastructure);background:#a855f71a;background:lab(52.816% 56.2881 -68.7695/.1)}.DevicesComponent-module__BsBJ_a__visibility-external{color:var(--node-external);background:#2dd4bf1a;background:lab(76.6983% -46.2328 -1.99268/.1);align-items:center;gap:3px;display:inline-flex}.DevicesComponent-module__BsBJ_a__visibility-internal{color:var(--text-muted);background:var(--background-elevated);align-items:center;gap:3px;display:inline-flex}.DevicesComponent-module__BsBJ_a__infra-row:hover{background:#a855f70a;background:lab(52.816% 56.2881 -68.7695/.04)}.DevicesComponent-module__BsBJ_a__infra-row-icon{color:var(--node-infrastructure);flex-shrink:0}.DevicesComponent-module__BsBJ_a__infra-chip{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--text-tertiary);background:var(--background-elevated);white-space:nowrap;border-radius:2px;padding:1px 6px;font-weight:500}@media (max-width:768px){.DevicesComponent-module__BsBJ_a__device-grid{grid-template-columns:1fr}.DevicesComponent-module__BsBJ_a__spec-grid{grid-template-columns:1fr 1fr}}
