@import url("https://fonts.googleapis.com/css2?family=Noto+Serif:ital,wght@0,400;0,700;1,400&family=Manrope:wght@400;500;600;700;800&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:wght,FILL@100..700,0..1&display=swap");

:root {
  --luxe-background-rgb: 252 249 242;
  --luxe-surface-rgb: 255 253 248;
  --luxe-surface-low-rgb: 246 243 236;
  --luxe-surface-lowest-rgb: 255 255 255;
  --luxe-surface-container-rgb: 239 232 218;
  --luxe-surface-high-rgb: 230 220 199;
  --luxe-ink-rgb: 28 28 24;
  --luxe-text-soft-rgb: 77 70 53;
  --luxe-text-muted-rgb: 107 92 66;
  --luxe-primary-rgb: 115 92 0;
  --luxe-primary-light-rgb: 212 175 55;
  --luxe-on-primary-rgb: 255 250 240;
  --luxe-primary-soft-rgb: 244 224 190;
  --luxe-on-primary-soft-rgb: 85 67 0;
  --luxe-outline-rgb: 208 197 175;
  --luxe-outline-soft-rgb: 230 220 200;
  --luxe-inverse-rgb: 49 49 44;
  --luxe-inverse-text-rgb: 243 240 234;
  --luxe-tertiary-rgb: 65 91 164;
  --luxe-tertiary-soft-rgb: 180 197 255;
  --luxe-tertiary-text-rgb: 39 67 138;
  --luxe-secondary-soft-rgb: 239 229 212;
  --luxe-on-secondary-soft-rgb: 113 98 72;
  --luxe-error-rgb: 186 26 26;
  --luxe-error-soft-rgb: 255 237 232;
  --luxe-info-rgb: 65 91 164;
  --luxe-info-soft-rgb: 232 239 255;
  --luxe-shadow-color: rgba(28, 28, 24, 0.08);
  --luxe-shadow: 0 24px 48px -12px var(--luxe-shadow-color);
}

body {
  font-family: "Manrope", sans-serif;
}

h1,
h2,
h3,
.font-noto-serif,
.font-headline {
  font-family: "Noto Serif", serif;
}

.font-manrope {
  font-family: "Manrope", sans-serif;
}

.material-symbols-outlined {
  font-variation-settings: "FILL" 0, "wght" 350, "GRAD" 0, "opsz" 24;
  vertical-align: middle;
}

.signature-gradient,
.bg-signature-texture {
  background: linear-gradient(135deg, rgb(var(--luxe-primary-rgb)) 0%, rgb(var(--luxe-primary-light-rgb)) 100%);
}

.glass-nav {
  background-color: rgb(var(--luxe-surface-rgb) / 0.82);
  backdrop-filter: blur(20px);
}

.glass-panel {
  background-color: rgb(var(--luxe-surface-lowest-rgb) / 0.82);
  backdrop-filter: blur(20px);
}

.shadow-luxe {
  box-shadow: var(--luxe-shadow);
}

.brand-sidebar {
  background-color: rgb(var(--luxe-surface-low-rgb));
  border-color: rgb(var(--luxe-outline-rgb) / 0.18);
}

.brand-sidebar-title {
  color: rgb(var(--luxe-primary-rgb));
}

.brand-sidebar-link {
  color: rgb(var(--luxe-text-muted-rgb));
}

.brand-sidebar-link:hover {
  background-color: rgb(var(--luxe-primary-soft-rgb) / 0.35);
  color: rgb(var(--luxe-primary-rgb));
}

.brand-sidebar-active {
  background-color: rgb(var(--luxe-surface-lowest-rgb));
  color: rgb(var(--luxe-primary-rgb));
}

.brand-soft-panel {
  background-color: rgb(var(--luxe-surface-low-rgb));
}

.brand-surface-card {
  background-color: rgb(var(--luxe-surface-lowest-rgb));
}

.brand-footer {
  background-color: rgb(var(--luxe-background-rgb));
  border-top-color: rgb(var(--luxe-outline-rgb) / 0.25);
}

.brand-footer-copy,
.brand-footer-link {
  color: rgb(var(--luxe-text-muted-rgb) / 0.78);
}

.brand-footer-link:hover {
  color: rgb(var(--luxe-primary-rgb));
  opacity: 1;
}

.brand-icon-error {
  background-color: rgb(var(--luxe-error-soft-rgb));
  color: rgb(var(--luxe-error-rgb));
}

.brand-icon-info {
  background-color: rgb(var(--luxe-info-soft-rgb));
  color: rgb(var(--luxe-info-rgb));
}

.hide-scrollbar::-webkit-scrollbar,
.scrollbar-hide::-webkit-scrollbar {
  display: none;
}

.hide-scrollbar,
.scrollbar-hide {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

body.private-page {
  opacity: 0;
}

body.private-page.is-authenticated {
  opacity: 1;
}
