/* ImpactGuard — Unified tactical theme (panel + public pages matching landing) */

/* ── Canvas (override V3 blue gradients) ── */
body {
  background: #080808 !important;
  background-image: none !important;
}

.main-content,
.page-content,
.content-area {
  background: transparent !important;
}

/* ── Sidebar ── */
.sidebar {
  background: linear-gradient(180deg, #0c0c0c 0%, #080808 100%) !important;
  border-right: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.sidebar-header,
.sidebar-brand {
  border-bottom-color: rgba(255, 255, 255, 0.08) !important;
}

.sidebar-logo,
.brand-logo {
  background: #ff5c1a !important;
  color: #0a0a0a !important;
  border-radius: 2px !important;
  clip-path: polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%);
  box-shadow: 0 0 14px rgba(255, 92, 26, 0.35) !important;
}

.nav-section-title {
  font-family: 'JetBrains Mono', Consolas, monospace !important;
  font-size: 0.75rem !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #666 !important;
}

.nav-item {
  border: 1px solid transparent !important;
  border-radius: 3px !important;
  margin-bottom: 0.25rem !important;
  padding: 0.65rem 0.75rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.03em !important;
  text-transform: none !important;
  font-size: 0.9375rem !important;
  color: #9a9a9a !important;
  background: transparent !important;
}

.nav-item:hover {
  border-color: rgba(255, 255, 255, 0.08) !important;
  background: rgba(255, 92, 26, 0.06) !important;
  color: #ff5c1a !important;
}

.nav-item.active {
  border-color: rgba(255, 92, 26, 0.45) !important;
  background: rgba(255, 92, 26, 0.12) !important;
  color: #ff5c1a !important;
  box-shadow: inset 0 0 20px rgba(255, 92, 26, 0.06) !important;
}

/* ── Header ── */
.main-header {
  background: rgba(8, 8, 8, 0.94) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  backdrop-filter: blur(10px) !important;
}

#page-title,
.page-title {
  font-weight: 800 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}

.page-subtitle {
  color: #9a9a9a !important;
}

/* ── Cards & stats (landing-style) ── */
.card,
.stat-card,
.server-card,
.modal-content,
.panel-context-banner,
.store-plan-card,
.plugin-download-card {
  border-radius: 4px !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  background: #0d0d0d !important;
  background-image: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

.card::before,
.stat-card::before,
.stat-card::after {
  display: none !important;
}

.card-header {
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  background: rgba(0, 0, 0, 0.25) !important;
}

.card-title,
.chart-title {
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #f2f2f2 !important;
}

.stats-grid {
  gap: 1px !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.stat-card {
  padding: 1.15rem 1.2rem !important;
}

.stat-card:hover {
  transform: none !important;
  border-color: rgba(255, 92, 26, 0.35) !important;
  background: #111 !important;
}

.stat-card .stat-icon {
  border-radius: 3px !important;
  width: 36px !important;
  height: 36px !important;
}

.stat-card .stat-icon.blue {
  background: rgba(255, 92, 26, 0.12) !important;
  color: #ff5c1a !important;
}

.stat-value {
  font-size: 1.85rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em !important;
  color: #ff5c1a !important;
}

.stat-label {
  font-family: 'JetBrains Mono', Consolas, monospace !important;
  font-size: 0.8125rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #666 !important;
}

/* ── Charts ── */
.chart-bar-fill,
.threat-bar-fill,
.progress-fill {
  background: linear-gradient(90deg, #ff5c1a, #ff8c42) !important;
}

.chart-bar-track,
.threat-bar-track {
  background: rgba(255, 255, 255, 0.06) !important;
  border-radius: 2px !important;
}

/* ── Tables ── */
.data-table th,
.table th {
  font-family: 'JetBrains Mono', Consolas, monospace !important;
  font-size: 0.8125rem !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: #666 !important;
  background: rgba(0, 0, 0, 0.35) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.data-table td,
.table td {
  border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
}

.data-table tbody tr:hover,
.table tbody tr:hover {
  background: rgba(255, 92, 26, 0.05) !important;
}

/* ── Forms ── */
.form-input,
.form-select,
.filter-select,
.config-number-input,
.config-text-input,
.action-select {
  border-radius: 3px !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
  background: #0a0a0a !important;
}

.form-input:focus,
.form-select:focus {
  border-color: #ff5c1a !important;
  box-shadow: 0 0 0 2px rgba(255, 92, 26, 0.2) !important;
}

/* ── Buttons ── */
.btn-primary {
  color: #0a0a0a !important;
  background: #ff5c1a !important;
  border-color: #ff7a3d !important;
  box-shadow: 0 0 18px rgba(255, 92, 26, 0.25) !important;
}

.btn-secondary,
.btn-ghost,
.btn-outline {
  border-radius: 3px !important;
}

.panel-context-banner {
  border-color: rgba(255, 92, 26, 0.4) !important;
  background: rgba(255, 92, 26, 0.08) !important;
}

.panel-context-banner p {
  color: #9a9a9a !important;
}

/* ── ML page (uses landing.css + this file) ── */
.ml-hero::before {
  background: radial-gradient(circle, rgba(255, 92, 26, 0.2), transparent 67%) !important;
}

.ml-title {
  font-weight: 800 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  background: none !important;
  -webkit-text-fill-color: #f2f2f2 !important;
  color: #f2f2f2 !important;
}

.ml-title .accent {
  color: #ff5c1a !important;
  -webkit-text-fill-color: #ff5c1a !important;
}

.ml-hero {
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 4px !important;
  background: #0d0d0d !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

.ml-block {
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 4px !important;
  background: #0d0d0d !important;
  box-shadow: none !important;
  padding: 1.2rem !important;
}

.ml-heading {
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #f2f2f2 !important;
}

.ml-caption {
  font-family: 'JetBrains Mono', Consolas, monospace !important;
  color: #666 !important;
}

.stat-card,
.chart-card,
.table-card {
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 4px !important;
  background: #0d0d0d !important;
  background-image: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

.stat-card.accent .stat-value {
  color: #ff5c1a !important;
}

.refresh-indicator {
  border-color: rgba(255, 255, 255, 0.1) !important;
  background: #0a0a0a !important;
  border-radius: 3px !important;
}

.table-header {
  color: #f2f2f2 !important;
  border-bottom-color: rgba(255, 255, 255, 0.08) !important;
}

.accuracy-fill {
  background: linear-gradient(90deg, #ff5c1a, #3dd68c) !important;
}

.stat-card:hover,
.chart-card:hover,
.table-card:hover {
  border-color: rgba(255, 92, 26, 0.35) !important;
  transform: none !important;
  box-shadow: none !important;
}

/* Panel layout — see tools/panel-layout-fix.css (linked from index.html on VPS) */
.app-layout { display: block !important; min-height: 100vh; }
.main-content {
  margin-left: var(--sidebar-width) !important;
  width: calc(100% - var(--sidebar-width)) !important;
  max-width: none !important;
  flex: none !important;
  box-sizing: border-box;
}
.page-content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  box-sizing: border-box;
}
.grid-2 { align-items: stretch; }
.grid-2 > .card { display: flex; flex-direction: column; height: 100%; }
.grid-2 > .card .card-body { flex: 1 1 auto; display: flex; flex-direction: column; }
.card-body .chart-bar-container { flex: 1 1 auto; justify-content: space-evenly; }
