.ts-kpi-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(96px, 1fr));
  gap: 8px;
}

.ts-kpi-card {
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid var(--ts-border);
  border-radius: var(--ts-radius-md);
  background: rgba(16, 34, 48, 0.78);
}

.ts-kpi-card span {
  display: block;
  color: var(--ts-text-secondary);
  font-size: 10px;
  text-transform: uppercase;
}

.ts-kpi-card strong {
  display: block;
  margin-top: 4px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--ts-text-main);
  font-size: 18px;
}

.ts-status-pill {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 28px;
  padding: 0 10px;
  border: 1px solid var(--ts-accent-border);
  border-radius: 999px;
  background: var(--ts-accent-soft);
  color: var(--ts-accent);
  font-size: 11px;
  font-weight: 700;
}

.ts-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid var(--ts-border);
  border-radius: var(--ts-radius-sm);
  background: rgba(16, 34, 48, 0.82);
  color: var(--ts-text-main);
  font: 700 12px/1 var(--ts-font-ui);
  cursor: pointer;
}

.ts-btn:hover,
.ts-btn[aria-expanded="true"],
.ts-btn.is-active {
  border-color: var(--ts-accent-border);
  background: var(--ts-accent-soft);
  color: var(--ts-accent);
}

.ts-btn:disabled,
.ts-btn.is-disabled {
  cursor: not-allowed;
  opacity: 0.52;
}

.ts-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 44px;
  padding: 10px 12px;
  border-bottom: 1px solid var(--ts-border);
}

.ts-panel-header h2,
.ts-panel-header h3 {
  margin: 0;
  color: var(--ts-text-main);
  font-size: 13px;
  font-weight: 750;
}

.ts-entity-list,
.ts-event-list {
  display: grid;
  gap: 8px;
  padding: 10px;
}

.ts-entity-item,
.ts-event-item {
  width: 100%;
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 9px;
  border: 1px solid var(--ts-border);
  border-radius: var(--ts-radius-md);
  background: rgba(7, 19, 31, 0.45);
  color: inherit;
  text-align: left;
}

.ts-entity-item:hover,
.ts-entity-item.is-active,
.ts-event-item:hover,
.ts-event-item.is-active {
  border-color: var(--ts-accent-border);
  background: var(--ts-accent-soft);
}

.ts-entity-icon,
.ts-event-icon {
  width: 32px;
  height: 32px;
  display: inline-grid;
  place-items: center;
  border-radius: var(--ts-radius-md);
  background: rgba(112, 151, 174, 0.14);
  color: var(--ts-accent);
}

.ts-entity-copy,
.ts-event-copy {
  min-width: 0;
}

.ts-entity-copy strong,
.ts-event-copy strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
}

.ts-entity-copy span,
.ts-event-copy span {
  display: block;
  margin-top: 2px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--ts-text-secondary);
  font-size: 11px;
}

.ts-severity-info { --ts-event-color: var(--ts-success); }
.ts-severity-operational { --ts-event-color: var(--ts-info); }
.ts-severity-warning { --ts-event-color: var(--ts-warning); }
.ts-severity-alert { --ts-event-color: var(--ts-alert); }
.ts-severity-critical { --ts-event-color: var(--ts-danger); }
.ts-severity-closed { --ts-event-color: var(--ts-disabled); }

.ts-event-icon {
  color: var(--ts-event-color, var(--ts-info));
  background: color-mix(in srgb, var(--ts-event-color, var(--ts-info)) 16%, transparent);
}

.ts-empty-state,
.ts-error-state,
.ts-loading-state {
  padding: 18px;
  color: var(--ts-text-secondary);
  text-align: center;
  font-size: 12px;
}

.ts-error-state {
  color: #fecaca;
}

.ts-meta-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.ts-meta-cell {
  min-width: 0;
  padding: 9px;
  border: 1px solid var(--ts-border);
  border-radius: var(--ts-radius-sm);
  background: rgba(7, 19, 31, 0.42);
}

.ts-meta-cell span {
  display: block;
  color: var(--ts-text-secondary);
  font-size: 10px;
}

.ts-meta-cell strong {
  display: block;
  margin-top: 4px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
}
