:root {
  --brand-ink: #16213b;
  --brand-ink-soft: #536078;
  --brand-blue: #3569ff;
  --brand-blue-dark: #2147cc;
  --brand-mint: #dff8e8;
  --brand-lime: #c8f06c;
  --brand-cloud: #f5f7fb;
  --brand-line: #e2e8f2;
  --brand-card: #ffffff;
}

html { background: var(--brand-cloud); }
body { color: var(--brand-ink); background: var(--brand-cloud); }

.public-header {
  position: sticky;
  top: 0;
  z-index: 20;
  color: var(--brand-ink);
  background: rgba(255,255,255,.92);
  border-bottom: 1px solid var(--brand-line);
  box-shadow: 0 8px 24px rgba(22,33,59,.04);
  backdrop-filter: blur(14px);
}
.public-nav { min-height: 76px; }
.public-header .brand, .admin-sidebar .brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--brand-ink);
  font-weight: 800;
  letter-spacing: -.04em;
}
.finixi-modern .header__logo a, .finixi-modern .footer__logo a { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; }
.finixi-modern .header__logo img, .finixi-modern .footer__logo img { width: 42px; height: 42px; object-fit: contain; }
.finixi-modern .header__logo .brand-wordmark, .finixi-modern .footer__logo .brand-wordmark { color: var(--brand-ink); font: 800 20px/1 Arial, sans-serif; letter-spacing: -.04em; }
.finixi-modern .footer__logo .brand-wordmark { color: #fff; }
.brand-mark {
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  display: inline-grid;
  place-items: center;
  overflow: hidden;
  border-radius: 11px;
  background: var(--brand-blue) url('/brand-mark.svg') center / cover no-repeat;
  color: transparent !important;
  font-size: 0;
  box-shadow: 0 8px 16px rgba(53,105,255,.24);
}
.nav-links { gap: 8px; }
.nav-links a { color: var(--brand-ink-soft); border-radius: 10px; padding: 9px 12px; }
.nav-links a:hover { color: var(--brand-blue-dark); background: #eef3ff; }

.hero {
  position: relative;
  overflow: hidden;
  color: #fff;
  background: radial-gradient(circle at 90% 10%, rgba(200,240,108,.26), transparent 30%), linear-gradient(135deg, #16213b 0%, #203762 55%, #3569ff 150%);
}
.hero::after { content: ''; position: absolute; width: 320px; height: 320px; right: -120px; bottom: -160px; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; box-shadow: 0 0 0 36px rgba(255,255,255,.04), 0 0 0 72px rgba(255,255,255,.025); }
.hero .eyebrow { color: var(--brand-lime); }
.hero h1 { max-width: 720px; letter-spacing: -.045em; }
.hero p { color: rgba(255,255,255,.76); }
.hero-card, .offer-card, .article-card, .info-card, .dashboard-card {
  border-color: var(--brand-line);
  box-shadow: 0 12px 32px rgba(22,33,59,.07);
}
.hero-card { color: var(--brand-ink); background: rgba(255,255,255,.96); }
.btn-primary, button.btn-primary { background: var(--brand-blue); border-color: var(--brand-blue); box-shadow: 0 10px 20px rgba(53,105,255,.22); }
.btn-primary:hover, button.btn-primary:hover { background: var(--brand-blue-dark); border-color: var(--brand-blue-dark); }
.btn-green { color: var(--brand-ink); background: var(--brand-mint); border-color: var(--brand-mint); }
.section-title { letter-spacing: -.035em; }
.offer-card:hover, .article-card:hover { border-color: #b9c9f3; box-shadow: 0 18px 36px rgba(22,33,59,.11); transform: translateY(-2px); }
.tag, .chip { color: var(--brand-blue-dark); background: #eef3ff; border-color: #d9e3ff; }
.site-footer { color: #cad4e8; background: var(--brand-ink); }
.site-footer a { color: #e7edfa; }

.admin-shell { background: var(--brand-cloud); }
.admin-sidebar { color: #dbe5f9; background: #101a31; border-right: 0; }
.admin-sidebar .brand { color: #fff; }
.admin-sidebar .brand-mark { box-shadow: none; }
.sidebar-link { color: #aebbd4; border-radius: 10px; }
.sidebar-link:hover { color: #fff; background: rgba(255,255,255,.08); }
.sidebar-link.active { color: #fff; background: linear-gradient(90deg, rgba(53,105,255,.9), rgba(53,105,255,.62)); box-shadow: 0 8px 18px rgba(0,0,0,.15); }
.admin-main { background: var(--brand-cloud); }
.admin-topbar { background: rgba(255,255,255,.88); border-bottom-color: var(--brand-line); }
.admin-card, .panel, .table-wrap { border-color: var(--brand-line); box-shadow: 0 10px 26px rgba(22,33,59,.05); }
.status-active, .badge-success { color: #17663d; background: var(--brand-mint); }
input, select, textarea { border-color: #d8e0ed; color: var(--brand-ink); background: #fff; }
input:focus, select:focus, textarea:focus { border-color: #8eabff; box-shadow: 0 0 0 3px rgba(53,105,255,.12); outline: none; }

@media (max-width: 760px) {
  .public-nav { min-height: 66px; }
  .nav-links a { padding: 8px; font-size: 13px; }
  .hero { padding-top: 52px; padding-bottom: 52px; }
}

/* Server-rendered catalog pages use the legacy class names from the source snapshot. */
.finixi-modern {
  --color-primary: var(--brand-blue);
  --color-text: var(--brand-ink);
  --color-text-inverted: #fff;
  background: var(--brand-cloud);
}
.finixi-modern .header { background: rgba(255,255,255,.94); border-bottom-color: var(--brand-line); box-shadow: 0 8px 24px rgba(22,33,59,.04); }
.finixi-modern .navigation { background: #fff; border-top-color: var(--brand-line); }
.finixi-modern .navigation__wrapper>ul>li>a { color: var(--brand-ink-soft); }
.finixi-modern .navigation__wrapper>ul>li>a:hover { color: var(--brand-blue-dark); }
.finixi-modern .finixi-intro:has(.search-form)>.container {
  color: #fff;
  background: radial-gradient(circle at 90% 0%, rgba(200,240,108,.24), transparent 28%), linear-gradient(135deg, #16213b 0%, #203762 58%, #3569ff 150%);
  border: 0;
  box-shadow: 0 20px 44px rgba(22,33,59,.14);
}
.finixi-modern .finixi-intro:has(.search-form) .section__content>p { color: rgba(255,255,255,.76); }
.finixi-modern .finixi-intro:has(.search-form) h1,
.finixi-modern .finixi-intro:has(.search-form) h1.section__title { color: #fff; }
.finixi-modern .finixi-intro:has(.search-form) h1 span { color: var(--brand-lime); }
.finixi-modern .finixi-intro:has(.search-form) .search-form { border-color: rgba(255,255,255,.72); box-shadow: 0 14px 28px rgba(0,0,0,.12); }
.finixi-modern .search-form__control-range { accent-color: var(--brand-blue); }
.finixi-modern .btn-primary { background: var(--brand-blue); border-color: var(--brand-blue); }
.finixi-modern .btn-primary:hover { background: var(--brand-blue-dark); }
.finixi-modern .section-offers__content .offer-card, .finixi-modern .offer-card { border-color: var(--brand-line); box-shadow: 0 10px 26px rgba(22,33,59,.05); }
.finixi-modern .offer-card:hover { border-color: #b9c9f3; box-shadow: 0 18px 36px rgba(22,33,59,.11); }
.finixi-modern .offer-card__percent { color: var(--brand-blue-dark); }
.finixi-modern .offer-card__list-title { color: #17663d; background: var(--brand-mint); }
.finixi-modern .footer { background: var(--brand-ink); }
.finixi-modern .footer-menu ul li a:hover, .finixi-modern .footer-nav ul li a:hover { color: var(--brand-lime); }
.login-shell { background: radial-gradient(circle at 12% 8%, rgba(200,240,108,.22), transparent 28%), linear-gradient(135deg, #16213b 0%, #203762 58%, #3569ff 150%); }
.login-card { border: 1px solid rgba(255,255,255,.8); box-shadow: 0 30px 80px rgba(22,33,59,.24); }
.login-card .btn-primary { background: var(--brand-blue); border-color: var(--brand-blue); }
.login-card .btn-primary:hover { background: var(--brand-blue-dark); }
.demo-box { color: var(--brand-ink-soft); background: var(--brand-mint); border-color: #c7eed7; }
