/* KPI — спокойная тёмная тема, без editorial / terracotta */

:root {
  --background: 222 14% 8%;
  --foreground: 210 20% 96%;
  --card: 222 12% 11%;
  --card-foreground: 210 20% 96%;
  --primary: 217 70% 48%;
  --primary-foreground: 0 0% 100%;
  --secondary: 222 10% 16%;
  --secondary-foreground: 210 15% 88%;
  --muted: 222 10% 14%;
  --muted-foreground: 215 10% 58%;
  --accent: 222 10% 18%;
  --accent-foreground: 210 20% 96%;
  --border: 220 10% 20%;
  --radius: 0.75rem;
}

html.dark body,
body {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  background: hsl(var(--background));
  color: hsl(var(--foreground));
}

#root {
  min-height: 100vh;
  min-height: 100dvh;
}

.kpi-app-shell {
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding-bottom: 0 !important;
  --kpi-dock-h: calc(5.5rem + env(safe-area-inset-bottom, 0px));
}

.kpi-main {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto !important;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  padding-bottom: var(--kpi-dock-h) !important;
}

.kpi-dock {
  position: fixed !important;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 40;
  pointer-events: none;
}

.kpi-dock > * {
  pointer-events: auto;
}

.kpi-dock-tab {
  pointer-events: auto;
}

.kpi-dock-tab--active {
  background: hsl(var(--primary));
  color: hsl(var(--primary-foreground));
}

.kpi-dock-menu {
  pointer-events: auto;
  z-index: 50;
}

.kpi-topbar {
  background: hsl(var(--background) / 0.92);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid hsl(var(--border));
}

.card,
.stat-card,
.table-container {
  background: hsl(var(--card)) !important;
  border: 1px solid hsl(var(--border)) !important;
}

.btn-primary {
  background: hsl(var(--primary)) !important;
  color: hsl(var(--primary-foreground)) !important;
}

/* editorial leftovers — не используются в v16 */
.kpi-settings-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid hsl(var(--border));
}

.kpi-settings-row:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.kpi-jira-block { display: block !important; }
.kpi-jira-tokens {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
