:root {
  --bg: #f5f5f0;
  --surface: rgba(255,255,255,0.75);
  --card: #ffffff;
  --text: #111111;
  --muted: #5e635d;
  --accent: #165d4a;
  --accent-2: #f3c969;
  --border: rgba(17,17,17,0.08);
}

[data-theme="dark"] {
  --bg: #101311;
  --surface: rgba(24,28,25,0.92);
  --card: #171b18;
  --text: #eff4ee;
  --muted: #afbab2;
  --accent: #83d1b6;
  --accent-2: #f7d37d;
  --border: rgba(255,255,255,0.08);
}

body {
  background:
    radial-gradient(circle at top left, rgba(243,201,105,0.18), transparent 32%),
    radial-gradient(circle at top right, rgba(22,93,74,0.18), transparent 28%),
    var(--bg);
  color: var(--text);
  font-family: "Segoe UI", sans-serif;
}

a { color: var(--accent); text-decoration: none; }
.navbar, .card, .table, .alert, .form-control, .form-select, .accordion-item {
  background: var(--surface) !important;
  color: var(--text) !important;
  border-color: var(--border) !important;
  backdrop-filter: blur(16px);
}
.navbar a,
.navbar .navbar-brand,
.navbar .nav-link,
.navbar .navbar-text,
.navbar .navbar-toggler {
  color: var(--text) !important;
}
.navbar .nav-link:hover,
.navbar .nav-link:focus,
a:hover {
  color: var(--accent-2) !important;
}
.navbar-toggler {
  border-color: var(--border) !important;
}
.navbar-toggler-icon {
  filter: invert(0);
}
[data-theme="dark"] .navbar-toggler-icon {
  filter: invert(1);
}
.form-control::placeholder,
.form-select,
textarea::placeholder,
input::placeholder {
  color: var(--muted) !important;
  opacity: 1;
}
.form-control,
.form-select,
textarea {
  color: var(--text) !important;
}
.btn-dark {
  background: var(--text);
  border-color: var(--text);
  color: var(--bg);
}
.btn-outline-dark {
  border-color: var(--text);
  color: var(--text);
}
.btn-outline-dark:hover,
.btn-outline-dark:focus {
  background: var(--text);
  color: var(--bg);
}
[data-theme="dark"] .btn-outline-secondary,
[data-theme="dark"] .btn-outline-dark {
  border-color: var(--muted);
  color: var(--text);
}
[data-theme="dark"] .text-secondary {
  color: var(--muted) !important;
}
.hero {
  padding: 4rem 0 3rem;
}
.hero-panel {
  background: linear-gradient(145deg, rgba(255,255,255,0.9), rgba(255,255,255,0.55));
  border: 1px solid var(--border);
  border-radius: 1.5rem;
  padding: 2rem;
  box-shadow: 0 16px 40px rgba(17,17,17,0.08);
}
[data-theme="dark"] .hero-panel {
  background: linear-gradient(145deg, rgba(23,27,24,0.95), rgba(23,27,24,0.78));
}
.offer-card, .stat-card {
  border: 1px solid var(--border);
  border-radius: 1.25rem;
  overflow: hidden;
  height: 100%;
  transition: transform .2s ease, box-shadow .2s ease;
}
.offer-card:hover, .stat-card:hover { transform: translateY(-4px); box-shadow: 0 14px 28px rgba(17,17,17,0.1); }
.offer-badge { font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; }
.offer-reward-badge {
  color: var(--accent) !important;
  background: rgba(131, 209, 182, 0.16) !important;
  border-color: rgba(22,93,74,0.18) !important;
  font-weight: 700;
}
.offer-thumb {
  width: 100%;
  aspect-ratio: 1 / 1;
  height: 140px;
  max-height: 140px;
  object-fit: cover;
  object-position: center;
  background: var(--card);
  border-radius: 1rem;
  border: 1px solid var(--border);
}

.offer-hero-image {
  width: 100%;
  aspect-ratio: 1 / 1;
  max-height: 220px;
  object-fit: contain;
  background: var(--card);
  border-radius: 1rem;
  border: 1px solid var(--border);
}
.sticky-mobile-nav {
  position: sticky;
  bottom: 0;
  z-index: 1030;
  backdrop-filter: blur(16px);
}
.prose p, .prose li { color: var(--muted); line-height: 1.75; }
.table td, .table th { vertical-align: middle; }
.admin-shell main { min-height: 70vh; }
@media (max-width: 767.98px) {
  .hero { padding-top: 2rem; }
  .hero-panel { padding: 1.4rem; }
}
