:root,
[data-bs-theme="light"] {
  --bs-primary: #0454ac;
  --bs-primary-rgb: 4, 84, 172;
  --bs-primary-active: #03458d;
  --bs-primary-light: #e8f7fd;
  --bs-link-color: #0454ac;
  --bs-link-hover-color: #00aaeb;
}

[data-bs-theme="dark"] {
  --bs-primary: #00aaeb;
  --bs-primary-rgb: 0, 170, 235;
  --bs-primary-active: #48c4f3;
  --bs-primary-light: #102f45;
  --bs-link-color: #48c4f3;
  --bs-link-hover-color: #7ad6f7;
}

body.app-blank {
  background:
    radial-gradient(circle at 15% 20%, rgba(0, 170, 235, 0.26), transparent 35%),
    linear-gradient(135deg, #032e61 0%, #0454ac 52%, #00aaeb 100%);
}

.app-blank .bg-body {
  border-top: 5px solid #00aaeb;
  box-shadow: 0 1.25rem 3rem rgba(0, 35, 75, 0.28) !important;
}

.app-blank img[alt="Logo"] {
  width: auto;
  max-width: 240px;
  min-height: 78px;
  object-fit: contain;
  padding: 18px 28px;
  border-radius: 14px;
  background: linear-gradient(135deg, #0454ac 0%, #00aaeb 100%);
  box-shadow: 0 0.75rem 1.75rem rgba(4, 84, 172, 0.20);
}

.btn.btn-primary {
  background-color: #0454ac;
  border-color: #0454ac;
}

.btn.btn-primary:hover,
.btn.btn-primary:focus,
.btn.btn-primary:active {
  background-color: #03458d !important;
  border-color: #03458d !important;
}

.app-sidebar,
.app-sidebar .app-sidebar-logo {
  background-color: #032e61 !important;
}

.app-sidebar .menu-link.active,
.app-sidebar .menu-link:hover {
  background-color: rgba(0, 170, 235, 0.18) !important;
}

.app-sidebar .menu-link.active .menu-title,
.app-sidebar .menu-link:hover .menu-title,
.app-sidebar .menu-link.active .menu-icon i,
.app-sidebar .menu-link:hover .menu-icon i {
  color: #ffffff !important;
}

.text-primary,
.menu-state-primary .menu-item .menu-link.active .menu-title {
  color: #0454ac !important;
}

.bg-light-primary {
  background-color: #e8f7fd !important;
}

.border-primary {
  border-color: #00aaeb !important;
}

/* Login logo fix: keep the image on its own row and hide fallback text title. */
.app-blank .text-center img[alt="Logo"] {
  display: block !important;
  margin: 0 auto 18px auto !important;
  max-width: 240px !important;
  width: 240px !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 16px 24px !important;
  box-sizing: border-box !important;
}

.app-blank .text-center img[alt="Logo"] + * {
  display: none !important;
}

.app-blank .text-center:has(img[alt="Logo"]) {
  display: block !important;
  text-align: center !important;
}

/* SFTPGo login header uses Bootstrap columns; make logo full-width and remove duplicate text title. */
.app-blank #sign_in_form > .container.mb-10 .row.align-items-center {
  display: block !important;
  text-align: center !important;
}

.app-blank #sign_in_form > .container.mb-10 .col-5.align-items-center {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}

.app-blank #sign_in_form > .container.mb-10 .col-7 {
  display: none !important;
}

.app-blank #sign_in_form img[alt="Logo"] {
  display: block !important;
  margin: 0 auto !important;
}
