:root {
  --bc-primary: #082D5B;
  --bc-primary-hover: #0B417C;
  --bc-primary-soft: #EAF2FB;
  --bc-secondary: #135C9E;
  --bc-orange: #FF8A00;
  --bc-orange-hover: #E97900;
  --bc-yellow: #FFC928;
  --bc-success: #35A853;
  --bc-danger: #E5484D;
  --bc-warning: #F5A524;

  --bc-background: #F5F7FA;
  --bc-surface: #FFFFFF;
  --bc-surface-hover: #F0F4F8;
  --bc-text: #102A43;
  --bc-text-secondary: #66788A;
  --bc-border: #D9E2EC;

  --bc-radius-sm: 8px;
  --bc-radius: 12px;
  --bc-radius-lg: 16px;
  --bc-radius-xl: 24px;
  --bc-shadow-sm: 0 2px 8px rgba(8,45,91,.06);
  --bc-shadow: 0 8px 28px rgba(8,45,91,.10);

  --bc-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

html, body {
  background: var(--bc-background);
  color: var(--bc-text);
  font-family: var(--bc-font);
}

[data-theme="dark"] {
  --bc-background: #081523;
  --bc-surface: #102A43;
  --bc-surface-hover: #163A5F;
  --bc-text: #F7FAFC;
  --bc-text-secondary: #A9BACB;
  --bc-border: #24435F;
  --bc-primary-soft: #102F4D;
  --bc-shadow-sm: 0 2px 8px rgba(0,0,0,.16);
  --bc-shadow: 0 10px 32px rgba(0,0,0,.26);
}

.bc-card {
  background: var(--bc-surface);
  border: 1px solid var(--bc-border);
  border-radius: var(--bc-radius-lg);
  box-shadow: var(--bc-shadow-sm);
}

.bc-card:hover {
  box-shadow: var(--bc-shadow);
}

.bc-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  min-height: 42px;
  padding: .7rem 1rem;
  border-radius: var(--bc-radius);
  border: 1px solid transparent;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
  transition: .2s ease;
}

.bc-btn-primary { background: var(--bc-primary); color: #fff; }
.bc-btn-primary:hover { background: var(--bc-primary-hover); }
.bc-btn-accent { background: var(--bc-orange); color: #fff; }
.bc-btn-accent:hover { background: var(--bc-orange-hover); }
.bc-btn-secondary { background: var(--bc-surface); color: var(--bc-primary); border-color: var(--bc-border); }
.bc-btn-success { background: var(--bc-success); color: #fff; }
.bc-btn-danger { background: var(--bc-danger); color: #fff; }

.bc-kpi {
  background: var(--bc-surface);
  border: 1px solid var(--bc-border);
  border-radius: var(--bc-radius-lg);
  padding: 1rem 1.1rem;
  box-shadow: var(--bc-shadow-sm);
}

.bc-kpi-value {
  font-size: clamp(1.5rem, 3vw, 2.2rem);
  line-height: 1;
  font-weight: 800;
  color: var(--bc-primary);
}

[data-theme="dark"] .bc-kpi-value { color: #fff; }

.bc-muted { color: var(--bc-text-secondary); }
.bc-accent { color: var(--bc-orange); }
.bc-success { color: var(--bc-success); }
.bc-danger { color: var(--bc-danger); }

.bc-sidebar {
  background: var(--bc-primary);
  color: #fff;
}

.bc-sidebar a {
  color: rgba(255,255,255,.88);
  border-radius: 10px;
}

.bc-sidebar a:hover,
.bc-sidebar a.is-active {
  background: rgba(255,255,255,.12);
  color: #fff;
}
