@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap');

:root {
  --cachear-pink: #de338e;
  --cachear-pink-dark: #a91f69;
  --cachear-pink-soft: #fff0f7;
  --cachear-gray: #727374;
  --cachear-ink: #2f2930;
  --cachear-border: #eadde5;
  --cachear-bg: #f8f5f7;
  --csi-cyan: var(--cachear-pink);
  --csi-cyan-2: #f05ba8;
  --csi-muted: #817681;
  --csi-text: #382f37;
  --csi-card-border: rgba(222, 51, 142, 0.13);
}

body.csi-app,
body.csi-auth-bg {
  font-family: "Montserrat", Arial, sans-serif !important;
}

html[data-csi-theme="light"] body.csi-app,
body.csi-app {
  background:
    radial-gradient(circle at 95% 0%, rgba(222, 51, 142, 0.10), transparent 30rem),
    var(--cachear-bg) !important;
  color: var(--cachear-ink) !important;
}

.csi-sidenav {
  background: linear-gradient(180deg, #302730 0%, #211b22 100%) !important;
  border-right: 1px solid rgba(255,255,255,.06) !important;
  box-shadow: 14px 0 40px rgba(40, 27, 37, .16) !important;
}
.csi-sidenav .sidenav-header { height: 104px !important; padding: 1.25rem !important; }
.csi-sidenav .navbar-brand-img { max-height: 70px !important; max-width: 175px; filter: drop-shadow(0 4px 12px rgba(0,0,0,.16)); }
.csi-sidenav .nav-link { color: #eee6eb !important; }
.csi-sidenav .nav-link:hover,
.csi-sidenav .nav-link.active {
  background: linear-gradient(90deg, var(--cachear-pink), #f05ba8) !important;
  color: #fff !important;
  box-shadow: 0 12px 26px rgba(222, 51, 142, .26) !important;
}
.csi-sidenav .navbar-heading { color: #b8aab3 !important; }

.csi-topbar {
  background: rgba(255,255,255,.94) !important;
  border-color: var(--cachear-border) !important;
  box-shadow: 0 5px 22px rgba(55, 35, 48, .05);
}
.csi-topbar, .csi-topbar .nav-link, .csi-topbar-title { color: var(--cachear-ink) !important; }
.csi-top-search { background: #f7f1f5 !important; border: 1px solid var(--cachear-border) !important; }
.csi-top-search input { color: var(--cachear-ink) !important; }
.csi-notification-badge { background: var(--cachear-pink) !important; box-shadow: 0 0 0 3px #fff !important; }

.csi-card,
html[data-csi-theme="light"] body.csi-app .csi-card {
  background: rgba(255,255,255,.96) !important;
  border: 1px solid var(--cachear-border) !important;
  color: var(--cachear-ink) !important;
  box-shadow: 0 16px 45px rgba(73, 43, 62, .07) !important;
}
.csi-page-title, .csi-card h1, .csi-card h2, .csi-card h3, .csi-card h4,
.csi-stat-card strong, .csi-card-header h3 { color: var(--cachear-ink) !important; }
.csi-page-subtitle, .csi-card p, .csi-card small, .csi-stat-card span { color: #817681 !important; }
.csi-stat-icon, .text-cyan, .text-info { color: var(--cachear-pink) !important; }
.csi-stat-icon { background: var(--cachear-pink-soft) !important; }

.btn-info, .btn-primary, .cachear-btn-primary {
  background: linear-gradient(135deg, var(--cachear-pink), #ef5ca8) !important;
  border-color: var(--cachear-pink) !important;
  color: #fff !important;
  box-shadow: 0 10px 24px rgba(222, 51, 142, .22);
}
.btn-outline-info { color: var(--cachear-pink) !important; border-color: rgba(222,51,142,.45) !important; }
.btn-outline-info:hover { background: var(--cachear-pink) !important; color: #fff !important; }
.form-control:focus { border-color: rgba(222,51,142,.65) !important; box-shadow: 0 0 0 .2rem rgba(222,51,142,.12) !important; }

.csi-period-switch, html[data-csi-theme="light"] body.csi-app .csi-period-switch {
  background: #fff !important; border-color: var(--cachear-border) !important;
}
.csi-period-switch a.active { background: var(--cachear-pink) !important; color: #fff !important; }

.csi-dashboard-footer {
  background: #fff !important;
  border-top: 1px solid var(--cachear-border) !important;
  color: #817681 !important;
}

/* Login */
body.csi-auth-bg { background: #f7f2f5 !important; min-height: 100vh; }
.cachear-auth-shell { min-height: 100vh; padding: 0; }
.cachear-auth-layout { min-height: 100vh; }
.cachear-auth-visual {
  min-height: 100vh;
  background:
    linear-gradient(115deg, rgba(40,22,34,.64), rgba(169,31,105,.34)),
    url('/static/assets/img/brand/cachear-login-banner.webp') center/cover no-repeat;
  position: relative;
}
.cachear-auth-overlay { position: absolute; left: 8%; right: 8%; bottom: 9%; color: #fff; max-width: 680px; }
.cachear-auth-kicker { display: inline-block; letter-spacing: .18em; font-size: .75rem; font-weight: 800; margin-bottom: 1rem; }
.cachear-auth-overlay h1 { font-size: clamp(2.2rem, 4vw, 4.4rem); line-height: 1.02; font-weight: 800; margin-bottom: 1rem; }
.cachear-auth-overlay p { font-size: 1.05rem; max-width: 580px; opacity: .91; }
.cachear-auth-panel { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 2rem; background: #fff; }
.cachear-auth-box { width: 100%; max-width: 480px; }
.cachear-auth-logo { width: 210px; max-height: 130px; object-fit: contain; }
.cachear-login-card { border-radius: 1.4rem !important; box-shadow: 0 24px 70px rgba(62,37,54,.12) !important; border: 1px solid #f0e5eb !important; }
.cachear-eyebrow { color: var(--cachear-pink); letter-spacing: .14em; font-size: .72rem; font-weight: 800; }
.cachear-login-title { color: var(--cachear-ink); font-weight: 800; margin-top: .4rem; }
.cachear-form-label { color: #5f535c; font-size: .82rem; font-weight: 700; }
.cachear-input-group { border: 1px solid var(--cachear-border); border-radius: .8rem; overflow: hidden; box-shadow: none !important; }
.cachear-input-group .input-group-text, .cachear-input-group .form-control { background: #fff !important; border: 0 !important; }
.cachear-btn-primary { border-radius: .8rem !important; padding: .85rem 1rem !important; font-weight: 800 !important; }
.cachear-link { color: var(--cachear-pink); font-weight: 700; }
.cachear-login-note { color: #8c7e88; font-size: .78rem; }

@media (max-width: 991.98px) {
  .cachear-auth-panel { background: linear-gradient(180deg, #fff 0%, #fff5fa 100%); }
  .cachear-auth-box { max-width: 560px; }
}
