/** biome-ignore-all lint/nursery/noImportantStyles: This is a CSS file for the Lilypad branding */
:root,
[data-bs-theme="light"] {
  --lilypad-background: #f8faf9;
  --lilypad-card: #ffffff;
  --lilypad-foreground: #171717;
  --lilypad-muted: #f4f6f5;
  --lilypad-muted-foreground: #737373;
  --lilypad-border: #e5e7eb;
  --lilypad-primary: #1c5551;
  --lilypad-primary-active: #164540;
  --lilypad-primary-light: rgba(28, 85, 81, 0.1);
  --lilypad-shadow: 0 24px 70px rgba(15, 23, 42, 0.12);
  --bs-app-bg-color: var(--lilypad-background);
  --bs-body-bg: var(--lilypad-background);
  --bs-body-color: var(--lilypad-foreground);
  --bs-border-color: var(--lilypad-border);
  --bs-primary: var(--lilypad-primary);
  --bs-primary-active: var(--lilypad-primary-active);
  --bs-primary-light: var(--lilypad-primary-light);
  --bs-primary-inverse: #ffffff;
  --bs-primary-rgb: 28, 85, 81;
  --bs-primary-active-rgb: 22, 69, 64;
  --bs-link-color: var(--lilypad-primary);
  --bs-link-hover-color: var(--lilypad-primary-active);
  --bs-app-sidebar-base-bg-color: var(--lilypad-card);
  --bs-app-sidebar-base-border-end: 1px solid var(--lilypad-border);
  --bs-app-sidebar-base-box-shadow: none;
}

[data-bs-theme="dark"] {
  --lilypad-background: #151716;
  --lilypad-card: #1b1f1e;
  --lilypad-foreground: #f5f5f5;
  --lilypad-muted: #202423;
  --lilypad-muted-foreground: #a3a3a3;
  --lilypad-border: #2d3331;
  --lilypad-primary: #649b96;
  --lilypad-primary-active: #78aaa5;
  --lilypad-primary-light: rgba(100, 155, 150, 0.14);
  --lilypad-shadow: 0 24px 70px rgba(0, 0, 0, 0.32);
  --bs-app-bg-color: var(--lilypad-background);
  --bs-body-bg: var(--lilypad-background);
  --bs-body-color: var(--lilypad-foreground);
  --bs-border-color: var(--lilypad-border);
  --bs-primary: var(--lilypad-primary);
  --bs-primary-active: var(--lilypad-primary-active);
  --bs-primary-light: var(--lilypad-primary-light);
  --bs-primary-inverse: #101413;
  --bs-primary-rgb: 100, 155, 150;
  --bs-primary-active-rgb: 120, 170, 165;
  --bs-link-color: var(--lilypad-primary);
  --bs-link-hover-color: var(--lilypad-primary-active);
  --bs-app-sidebar-base-bg-color: #111514;
  --bs-app-sidebar-base-border-end: 1px solid var(--lilypad-border);
  --bs-app-sidebar-base-box-shadow: none;
}

html,
body {
  font-family:
    Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body.app-blank {
  background:
    radial-gradient(
      circle at top left,
      rgba(28, 85, 81, 0.13),
      transparent 30rem
    ), linear-gradient(180deg, #ffffff 0%, var(--lilypad-background) 58%);
}

[data-bs-theme="dark"] body.app-blank {
  background:
    radial-gradient(
      circle at top left,
      rgba(100, 155, 150, 0.18),
      transparent 30rem
    ), var(--lilypad-background);
}

body.app-blank .bg-body.rounded.shadow-sm {
  border: 1px solid var(--lilypad-border);
  border-radius: 1rem !important;
  box-shadow: var(--lilypad-shadow) !important;
}

.app-sidebar-logo img,
.app-header img[alt="Logo"] {
  padding: 0.35rem;
  background: var(--lilypad-primary-light);
  border-radius: 0.75rem;
}

body.app-blank form img[alt="Logo"] {
  width: 4.5rem;
  height: 4.5rem !important;
  padding: 0.65rem;
  object-fit: contain;
  background: var(--lilypad-primary-light);
  border: 1px solid rgba(var(--bs-primary-rgb), 0.14);
  border-radius: 1rem;
}

body.app-blank h1.text-gray-900 {
  color: var(--lilypad-foreground) !important;
  font-size: 1.8rem;
  font-weight: 650;
  letter-spacing: -0.035em;
}

.form-control.form-control-solid,
.form-select.form-select-solid,
.select2-container--bootstrap5 .select2-selection {
  color: var(--lilypad-foreground);
  background-color: var(--lilypad-muted);
  border: 1px solid var(--lilypad-border);
  border-radius: 0.75rem;
}

.form-control.form-control-solid:focus,
.form-select.form-select-solid:focus,
.select2-container--bootstrap5.select2-container--focus .select2-selection {
  background-color: var(--lilypad-card);
  border-color: rgba(var(--bs-primary-rgb), 0.55);
  box-shadow: 0 0 0 0.22rem rgba(var(--bs-primary-rgb), 0.12);
}

.btn {
  border-radius: 0.75rem;
  font-weight: 600;
}

.btn.btn-primary {
  color: #ffffff;
  background-color: var(--lilypad-primary);
  border-color: var(--lilypad-primary);
}

.btn.btn-primary:hover,
.btn.btn-primary:focus,
.btn.btn-primary:active,
.btn.btn-primary.active,
.show > .btn.btn-primary {
  color: #ffffff;
  background-color: var(--lilypad-primary-active) !important;
  border-color: var(--lilypad-primary-active) !important;
}

a,
.link-primary,
.text-primary {
  color: var(--lilypad-primary) !important;
}

.app-header {
  background: var(--lilypad-card) !important;
  border-bottom: 1px solid var(--lilypad-border);
  box-shadow: none !important;
}

.app-sidebar {
  background: var(--bs-app-sidebar-base-bg-color) !important;
  border-right: var(--bs-app-sidebar-base-border-end);
  box-shadow: none !important;
}

.text-sidebar,
[data-bs-theme="dark"] .text-sidebar {
  color: var(--lilypad-foreground) !important;
}

.app-sidebar .menu .menu-item .menu-link {
  border-radius: 0.75rem;
}

.app-sidebar .menu .menu-item .menu-link .menu-title,
.app-sidebar .menu .menu-item .menu-link .menu-icon,
.app-sidebar .menu .menu-item .menu-link .menu-icon i {
  color: var(--lilypad-muted-foreground);
}

.app-sidebar .menu .menu-item .menu-link:hover,
.app-sidebar .menu .menu-item .menu-link.active,
.app-sidebar .menu .menu-item.here > .menu-link,
.app-sidebar .menu .menu-item.show > .menu-link {
  background-color: var(--lilypad-primary-light);
}

.app-sidebar .menu .menu-item .menu-link:hover .menu-title,
.app-sidebar .menu .menu-item .menu-link:hover .menu-icon,
.app-sidebar .menu .menu-item .menu-link:hover .menu-icon i,
.app-sidebar .menu .menu-item .menu-link.active .menu-title,
.app-sidebar .menu .menu-item .menu-link.active .menu-icon,
.app-sidebar .menu .menu-item .menu-link.active .menu-icon i,
.app-sidebar .menu .menu-item.here > .menu-link .menu-title,
.app-sidebar .menu .menu-item.here > .menu-link .menu-icon,
.app-sidebar .menu .menu-item.here > .menu-link .menu-icon i,
.app-sidebar .menu .menu-item.show > .menu-link .menu-title,
.app-sidebar .menu .menu-item.show > .menu-link .menu-icon,
.app-sidebar .menu .menu-item.show > .menu-link .menu-icon i {
  color: var(--lilypad-primary) !important;
}

.card,
.modal-content,
.toast {
  background: var(--lilypad-card);
  border: 1px solid var(--lilypad-border);
  border-radius: 1rem;
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.08);
}

[data-bs-theme="dark"] .card,
[data-bs-theme="dark"] .modal-content,
[data-bs-theme="dark"] .toast {
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.24);
}

.notice.bg-light-primary,
.bg-light-primary,
.badge-light-primary {
  color: var(--lilypad-primary) !important;
  background-color: var(--lilypad-primary-light) !important;
}

.border-primary,
.border-hover-primary:hover {
  border-color: rgba(var(--bs-primary-rgb), 0.38) !important;
}

.table {
  --bs-table-border-color: var(--lilypad-border);
}

.table thead th,
.table tbody td {
  border-color: var(--lilypad-border);
}

.page-loader {
  background: rgba(248, 250, 249, 0.72);
  backdrop-filter: blur(8px);
}

[data-bs-theme="dark"] .page-loader {
  background: rgba(21, 23, 22, 0.72);
}
