/* Коско Оркестратор — визуальная тема без изменения раскладки. */
:root {
  --color-paper: #f6f7f9;
  --color-surface: #ffffff;
  --color-surface2: #f1f3f6;
  --color-surface3: #f8f9fb;
  --color-ink: #202124;
  --color-muted: #747981;
  --color-faint: #a6abb3;
  --color-border: #e3e6eb;
  --color-border2: #d5d9df;
  --color-accent: #087dcc;
  --color-accent-h: #0567aa;
  --color-accent-dim: #e4f2fc;
  --color-night: #ffffff;
  --color-night2: #f5f7fa;
  --color-night3: #eaf4fb;
  --color-night-text: #202124;
  --color-night-muted: #68717b;
  --color-night-border: #e2e6eb;
  --font-sans: Inter, Roboto, "Segoe UI", Arial, sans-serif;
  --font-mono: "JetBrains Mono", Consolas, monospace;
  --radius: 10px;
  --radius-sm: 7px;
}

html, body {
  background: var(--color-paper);
  color: var(--color-ink);
  font-family: var(--font-sans);
}

#topbar {
  background: rgba(255, 255, 255, .96);
  border-bottom: 1px solid var(--color-border);
  color: var(--color-ink);
  box-shadow: 0 1px 8px rgba(24, 39, 56, .04);
}

.logo { color: var(--color-ink); border-color: var(--color-border); letter-spacing: .02em; }
.nav-tab { color: var(--color-muted); border-radius: 8px; }
.nav-tab:hover, .nav-tab.active { background: var(--color-accent-dim); color: var(--color-accent); border-color: #cbe5f7; }
.auth-actions { border-color: var(--color-border); }
.auth-status { color: var(--color-muted); }

.btn {
  background: #fff;
  border: 1px solid var(--color-border2);
  border-radius: 7px;
  color: #4b535c;
  box-shadow: 0 1px 2px rgba(24, 39, 56, .04);
}
.btn:hover { background: #f4f9fd; border-color: #9ccbea; color: var(--color-accent); }
.btn.primary { background: var(--color-accent); border-color: var(--color-accent); color: #fff; box-shadow: 0 3px 8px rgba(8, 125, 204, .2); }
.btn.primary:hover { background: var(--color-accent-h); border-color: var(--color-accent-h); color: #fff; }

.page-hero, .status-hero, .stat-card, .chart-card, .table-card,
.ops-panel, .settings-panel, .ai-analysis-card, .playground-panel,
.upload-panel, .login-card {
  background: var(--color-surface);
  border-color: var(--color-border);
  border-radius: 10px;
  box-shadow: 0 2px 12px rgba(24, 39, 56, .045);
}
.page-hero h1 { font-weight: 600; letter-spacing: -.02em; text-transform: none; }
.section-title { color: #68717b; font-weight: 600; }
.section-title:after { background: var(--color-border); }
.stat-card:before { background: #c8d0d9; }
.stat-card.c-accent:before { background: var(--color-accent); }
.stat-value, .status-hero-figure-value { color: #242a31; }
.status-hero:before { background: var(--color-accent); }

input, select, textarea, .filter-input, .filter-select {
  background: #fff;
  border-color: var(--color-border2);
  border-radius: 7px;
  color: var(--color-ink);
}
input:focus, select:focus, textarea:focus, .filter-input:focus, .filter-select:focus {
  border-color: #69b5e4;
  box-shadow: 0 0 0 3px rgba(8, 125, 204, .12);
  outline: none;
}
.table-wrap { border-color: var(--color-border); box-shadow: 0 1px 5px rgba(24, 39, 56, .03); }
.req-table th { background: #f6f8fa; color: #68717b; border-color: var(--color-border); }
.req-table td { border-color: #edf0f3; }
.req-table tbody tr:hover td { background: #f4f9fd; }
.req-table tbody tr.selected td { background: var(--color-accent-dim); }
.badge { border-radius: 999px; }
.refresh-indicator { color: #2b9b63; }

#auth-banner { border-radius: 8px; }
#login-overlay { background: rgba(25, 37, 51, .34); backdrop-filter: blur(5px); }
.login-title { color: var(--color-accent); }

[data-theme="dark"] {
  --color-paper: #17202a;
  --color-surface: #202b36;
  --color-surface2: #273541;
  --color-surface3: #1c2732;
  --color-ink: #edf3f8;
  --color-muted: #aab5bf;
  --color-border: #344451;
  --color-border2: #465866;
  --color-night: #202b36;
  --color-night2: #273541;
  --color-night3: #304554;
  --color-night-text: #edf3f8;
  --color-night-border: #344451;
}
