/* Site base layer: tokens, base typography and shared helpers only. */

:root {
  --brand-primary: #7a1f33;
  --brand-primary-hover: #661a2b;
  --brand-dark: #14213d;
  --brand-bg: #f7f1e8;
  --brand-text: #1f2937;
  --brand-muted: #5b6472;
  --brand-border: #e8dccb;
  --focus-ring: #a62f48;
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: "Source Sans 3", sans-serif;
  color: var(--brand-text);
  background: radial-gradient(circle at top right, #fff7ea 0, #f8f3ec 35%, #f6f2eb 100%);
}

h1,
h2,
h3,
h4,
h5,
h6,
.navbar-brand,
.btn {
  font-family: "Lexend", sans-serif;
}

a { color: var(--brand-primary); }
a:hover { color: var(--brand-primary-hover); }
img, video, iframe { max-width: 100%; }

.nav-link { color: #334155; }
.nav-link.active,
.nav-link:hover { color: var(--brand-primary); }

.navbar { box-shadow: 0 6px 16px rgba(20, 18, 16, .04); }
.navbar .dropdown-menu {
  border: 1px solid var(--brand-border);
  border-radius: .85rem;
  box-shadow: 0 18px 40px rgba(20, 18, 16, .10);
}
.navbar .dropdown-item {
  padding: .65rem 1rem;
  font-family: "Source Sans 3", sans-serif;
}
.navbar .dropdown-item:hover,
.navbar .dropdown-item:focus {
  background: rgba(122, 31, 51, .08);
  color: var(--brand-primary);
}
.navbar .dropdown-header {
  color: var(--brand-muted);
  font-size: .72rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.text-brand,
.link-brand { color: var(--brand-primary); }

.btn-brand {
  color: #fff;
  background-color: var(--brand-primary);
  border-color: var(--brand-primary);
}
.btn-brand:hover,
.btn-brand:focus {
  color: #fff;
  background-color: var(--brand-primary-hover);
  border-color: var(--brand-primary-hover);
}
.btn-outline-brand {
  color: var(--brand-primary);
  border: 1px solid var(--brand-primary);
}
.btn-outline-brand:hover {
  color: #fff;
  background: var(--brand-primary);
}

.admin-menu-btn {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
}
.admin-menu-btn__icon {
  width: 1rem;
  height: 1rem;
  flex: 0 0 auto;
}

.hero-section {
  border: 1px solid var(--brand-border);
  background: linear-gradient(135deg, #fff 0%, #f6ede2 100%);
}
.info-card,
.kpi-card,
.comment-card {
  padding: 1rem;
  border: 1px solid var(--brand-border);
  border-radius: .85rem;
  background: #fff;
}
.kpi-label {
  margin: 0;
  color: var(--brand-muted);
  font-size: .9rem;
}
.kpi-value {
  margin: .2rem 0 0;
  font-size: 1.4rem;
  font-weight: 700;
}

.dashboard-chart {
  position: relative;
  min-height: 320px;
}
.dashboard-chart canvas {
  width: 100% !important;
  height: 320px !important;
}
.dashboard-chart-empty { min-height: 120px; }
.ck-editor__editable_inline { min-height: 320px; }

.badge-free { background: #f3f4f6; color: #374151; }
.badge-pro { background: var(--brand-primary); color: #fff; }

.list-group-item.active {
  border-color: var(--brand-primary);
  background: rgba(122, 31, 51, .08);
  color: #111827;
}
.list-group-item-action { cursor: pointer; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}
