/* ── Animated background — matches kampa-tool.com (light mint) ── */
.kampa-bg {
    position: fixed; inset: 0; z-index: -3; pointer-events: none;
    background:
        radial-gradient(1100px 1100px at 12% 18%,  rgba(0,210,180,.12),   transparent 62%),
        radial-gradient(900px  900px  at 88% 12%,  rgba(100,80,255,.08),  transparent 60%),
        radial-gradient(900px  900px  at 80% 76%,  rgba(180,100,255,.06), transparent 64%),
        radial-gradient(760px  760px  at 18% 84%,  rgba(0,200,160,.08),   transparent 64%),
        linear-gradient(180deg, #FFFFFF 0%, #F0FAF6 40%, #F4FBF8 100%);
    filter: saturate(110%);
}
.kampa-haze {
    position: fixed; inset: -30%; z-index: -2; pointer-events: none;
    background:
        radial-gradient(60% 40% at 60% 30%, rgba(0,200,160,.08), transparent 70%),
        radial-gradient(40% 60% at 30% 70%, rgba(100,180,255,.06), transparent 70%);
    filter: blur(50px);
    opacity: .70;
    animation: kampa-floaty 18s ease-in-out infinite alternate;
}
@keyframes kampa-floaty {
    from { transform: translate3d(-2%,-1%,0) scale(1.02); }
    to   { transform: translate3d( 2%, 1%,0) scale(1.06); }
}

/* ── Page wrapper transparent so bg shows ── */
.page-wrapper { background: transparent !important; }

/* ── Frosted glass header ── */
.kampa-header {
    backdrop-filter: saturate(140%) blur(10px);
    -webkit-backdrop-filter: saturate(140%) blur(10px);
    background: rgba(255,255,255,.88) !important;
    border-bottom: 1px solid rgba(15,23,42,.07) !important;
}

/* Nav links need dark color since we removed navbar-dark */
.kampa-header .nav-link { color: #1a2232 !important; }
.kampa-header .nav-link:hover { color: #0A8F6C !important; }

/* Prevent Tabler's autodark filter from inverting the SVG logo */
.kampa-header .navbar-brand-image { filter: none !important; }

/* ── Primary button gradient ── */
.btn-primary {
    background: linear-gradient(90deg, #00C9A7, #1A6BFF 60%, #7B2BFF) !important;
    border: none !important;
    color: #fff !important;
}
.btn-primary:hover { opacity: .9; }

/* ── Avatar initials ── */
.avatar-title {
    background: transparent !important;
    color: #1a2232 !important;
}

/* ── Contrast fixes ──
   1. All -lt badge backgrounds: re-assert colored text so white -fg classes
      (incorrectly used in many templates) don't win.
   2. Darken colors whose default Tabler value fails WCAG AA on pale backgrounds. */
.bg-secondary-lt { color: #525c6e !important; }
.bg-blue-lt      { color: #1558b0 !important; }
.bg-green-lt,
.bg-success-lt   { color: #1d7a35 !important; }
.bg-red-lt,
.bg-danger-lt    { color: #b91c1c !important; }
.bg-yellow-lt,
.bg-warning-lt   { color: #8a6300 !important; }
.bg-orange-lt    { color: #b64200 !important; }
.bg-azure-lt     { color: #1558b0 !important; }
.bg-cyan-lt,
.bg-info-lt      { color: #0b7285 !important; }
.bg-indigo-lt    { color: #3730a3 !important; }
.bg-purple-lt    { color: #5b21b6 !important; }
.bg-teal-lt      { color: #0a7a5e !important; }

/* Fix solid warning badge with forced white text */
.badge.bg-warning { color: #1a2232 !important; }

/* Darken low-contrast text utility classes used standalone (icons, labels) */
.text-yellow  { color: #b77800 !important; }
.text-orange  { color: #c14f00 !important; }
.text-green,
.text-success { color: #1d7a35 !important; }
.text-cyan,
.text-info    { color: #0b7285 !important; }
.text-azure   { color: #1558b0 !important; }

/* ── Focus ring matches brand ── */
.form-control:focus, .form-select:focus {
    border-color: #00C9A7;
    box-shadow: 0 0 0 3px rgba(0,201,167,.15);
}
