:root {
  --ispro-navy: #132a44;
  --ispro-blue: #1674b8;
  --ispro-cyan: #29a7d8;
  --ispro-slate: #5c6f82;
  --ispro-surface: #f5f7fa;
  --ispro-sidebar: #f7f5f2;
  --tblr-primary: var(--ispro-blue);
  --tblr-link-color: var(--ispro-blue);
  --tblr-mainmenu-bg: var(--ispro-sidebar);
  --tblr-mainmenu-fg: #26384b;
}

body {
  background-color: var(--ispro-surface);
}

.navbar-vertical.sidebar {
  background: var(--ispro-sidebar) !important;
  color: #26384b !important;
  border-right: 1px solid rgba(19, 42, 68, 0.1);
  box-shadow: 8px 0 28px rgba(19, 42, 68, 0.05);
}

.navbar-vertical.sidebar .nav-link,
.navbar-vertical.sidebar .dropdown-item,
.navbar-vertical.sidebar .trigger-fuzzy,
.navbar-vertical.sidebar .copyright {
  color: #26384b !important;
}

.navbar-vertical.sidebar .nav-link:hover,
.navbar-vertical.sidebar .dropdown-item:hover,
.navbar-vertical.sidebar .trigger-fuzzy:hover {
  background-color: rgba(22, 116, 184, 0.08) !important;
  color: var(--ispro-blue) !important;
}

.navbar-vertical.sidebar .dropdown-item.active,
.navbar-vertical.sidebar .nav-link[aria-expanded="true"] {
  background-color: rgba(22, 116, 184, 0.12) !important;
  color: var(--ispro-blue) !important;
}

.navbar-brand,
.page-title,
h1,
h2 {
  letter-spacing: -0.015em;
}

.btn-primary {
  --tblr-btn-bg: var(--ispro-blue);
  --tblr-btn-border-color: var(--ispro-blue);
  --tblr-btn-hover-bg: var(--ispro-navy);
  --tblr-btn-hover-border-color: var(--ispro-navy);
}

.card {
  border-color: rgba(19, 42, 68, 0.1);
  box-shadow: 0 8px 28px rgba(19, 42, 68, 0.06);
}

body.ispro-login {
  background:
    radial-gradient(circle at 12% 18%, rgba(213, 20, 34, 0.08), transparent 30rem),
    radial-gradient(circle at 88% 82%, rgba(22, 116, 184, 0.12), transparent 34rem),
    linear-gradient(135deg, #faf8f6 0%, #f1f5f9 52%, #e6eef5 100%);
}

body.ispro-login::before {
  content: "ISPRO Support · Hospitality";
  position: fixed;
  inset: 2rem auto auto 2rem;
  color: var(--ispro-navy);
  font-size: clamp(1.35rem, 3vw, 2rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  z-index: 10;
}

body.ispro-login .card {
  border: 1px solid rgba(19, 42, 68, 0.1);
  box-shadow: 0 24px 70px rgba(19, 42, 68, 0.14);
}

.ispro-logo-container {
  width: auto !important;
  min-width: 12rem;
  height: auto !important;
  background: none !important;
}

.ispro-brand-logo {
  display: block;
  width: min(16rem, 70vw);
  height: auto;
  object-fit: contain;
}

.navbar-brand .ispro-brand-logo {
  width: 7.5rem;
  max-height: 3rem;
}

body.ispro-login .ispro-brand-logo {
  filter: drop-shadow(0 8px 18px rgba(19, 42, 68, 0.12));
}

body.ispro-login .copyright {
  color: var(--ispro-slate) !important;
}
