/* variables.scss */
/* palette.scss - Full Spectrum Master Map */
/* --------------------------------------------
   Helpers
-------------------------------------------- */
/* --------------------------------------------
   Breakpoints
-------------------------------------------- */
/* --------------------------------------------
   Spacing
-------------------------------------------- */
/* --------------------------------------------
   Elevation
-------------------------------------------- */
/* --------------------------------------------
   Radius
-------------------------------------------- */
/* --------------------------------------------
   Typography
-------------------------------------------- */
/* --------------------------------------------
   Theme tokens
-------------------------------------------- */
:root {
  /* Brand */
  --primary: #2dd4bf;
  --primary-light: #ccfbf1;
  --primary-dark: #042f2e;
  --accent: #f97316;
  /* RGB channels for focus rings etc */
  --primary-rgb: 45 212 191;
  /* Status */
  --success: #16a34a;
  --info: #0d6efd;
  --warning: #eab308;
  --danger: #dc2626;
  /* Surfaces */
  --bg-app: #fbfcfd;
  --bg-surface: #f8f9fa;
  --bg-card: #ffffff;
  --border-color: #e9ecef;
  /* Text */
  --text-main: #212529;
  --text-muted: #495057;
  --text-light: #adb5bd;
  --text-inverse: #ffffff;
  --table-header-bg: var(--bg-surface);
  --table-striped-bg: #fbfcfd;
  --table-hover-bg: rgba(var(--primary-rgb), 0.06);
}

[data-theme=dark] {
  --primary: #2dd4bf;
  --primary-light: #115e59;
  --primary-rgb: 45 212 191;
  --bg-app: #212529;
  --bg-surface: #212529;
  --bg-card: #343a40;
  --border-color: #495057;
  --text-main: #f8f9fa;
  --text-muted: #ced4da;
  --text-light: #6c757d;
  --table-header-bg: var(--bg-surface);
  --table-striped-bg: rgba(255,255,255,0.03);
  --table-hover-bg: rgba(var(--primary-rgb), 0.10);
}

/* --------------------------------------------
   SASS aliases to CSS vars
-------------------------------------------- */
/* --------------------------------------------
   Z-index
-------------------------------------------- */
/* --------------------------------------------
   Grid & layout maps
-------------------------------------------- */
/* --------------------------------------------
   Components baseline tokens
-------------------------------------------- */
/* sizing maps */
/* motion */
/* focus ring */
/* sidebar */
.absolute {
  position: absolute;
}

.relative {
  position: relative;
}

.card-status {
  position: absolute;
  top: 5px;
  right: 5px;
}

.pricing-badge {
  margin-left: 5px;
  margin-top: -10px;
}

.brand-mark {
  width: 44px;
  height: 44px;
  border-radius: 8px;
  background: radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.4), transparent 50%), linear-gradient(165deg, #02CFCC 0%, #10b7ff 100%);
  box-shadow: 0 0px 20px rgba(2, 207, 204, 0.3), inset 0 0 0 1px rgba(255, 255, 255, 0.2);
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.huginn-mark::before {
  content: "";
  width: 20px;
  height: 20px;
  background: white;
  /* Clean geometric H */
  clip-path: polygon(0% 0%, 30% 0%, 30% 40%, 70% 40%, 70% 0%, 100% 0%, 100% 100%, 70% 100%, 70% 60%, 30% 60%, 30% 100%, 0% 100%);
  opacity: 0.95;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.15));
}

.mimir-mark::before {
  content: "";
  width: 20px;
  height: 20px;
  background: white;
  clip-path: polygon(0% 100%, 0% 0%, 20% 0%, 50% 55%, 80% 0%, 100% 0%, 100% 100%, 80% 100%, 80% 35%, 50% 75%, 20% 35%, 20% 100%);
  opacity: 0.95;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.15));
}

.idun-mark::before {
  content: "";
  width: 20px;
  height: 20px;
  background: white;
  clip-path: polygon(35% 0%, 65% 0%, 65% 100%, 35% 100%);
  opacity: 0.95;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.15));
}

.muninn-mark::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  background: white;
  clip-path: polygon(0% 100%, 0% 0%, 25% 0%, 50% 40%, 75% 0%, 100% 0%, 100% 100%, 80% 100%, 80% 25%, 50% 60%, 20% 25%, 20% 100%);
  opacity: 0.95;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.15));
}

.ratatoskr-mark::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  background: white;
  clip-path: polygon(0% 0%, 100% 0%, 100% 50%, 80% 60%, 100% 100%, 70% 100%, 40% 60%, 30% 60%, 30% 100%, 0% 100%, 0% 0%, 30% 15%, 30% 35%, 70% 35%, 70% 15%, 30% 15%, 0% 0%);
  opacity: 0.95;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.15));
}

.user-menu {
  position: relative;
}
.user-menu .user-trigger {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  min-height: 40px;
  padding: 0.4rem 0.65rem;
  border: 1px solid transparent;
  border-radius: 0.5rem;
  background: transparent;
  color: var(--text-main);
  cursor: pointer;
  transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1), border-color 150ms cubic-bezier(0.4, 0, 0.2, 1), color 150ms cubic-bezier(0.4, 0, 0.2, 1);
}
.user-menu .user-trigger:hover, .user-menu .user-trigger:focus-visible {
  background: rgba(255, 255, 255, 0.05);
  border-color: var(--border-color);
  outline: none;
}
[data-theme=light] .user-menu .user-trigger:hover, [data-theme=light] .user-menu .user-trigger:focus-visible {
  background: rgba(10, 20, 40, 0.04);
}
.user-menu .avatar {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--primary);
  color: var(--text-main);
  font-size: 0.75rem;
  font-weight: 700;
  flex: 0 0 auto;
}
.user-menu .user-dropdown {
  position: absolute;
  top: calc(100% + 0.55rem);
  right: 0;
  min-width: 220px;
  padding: 0.35rem;
  border: 1px solid var(--border-color);
  border-radius: 0.5rem;
  background: var(--bg-card);
  box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);
  z-index: 600;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(6px);
  transition: opacity 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1), visibility 150ms cubic-bezier(0.4, 0, 0.2, 1);
}
.user-menu .user-dropdown.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}
.user-menu .user-header {
  padding: 0.65rem 0.75rem;
}
.user-menu .user-section {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
}
.user-menu .user-item {
  display: block;
  padding: 0.6rem 0.75rem;
  border-radius: 0.25rem;
  color: var(--text-main);
  text-decoration: none;
  font-size: 0.92rem;
  transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1), color 150ms cubic-bezier(0.4, 0, 0.2, 1);
}
.user-menu .user-item:hover {
  background: rgba(255, 255, 255, 0.05);
}
[data-theme=light] .user-menu .user-item:hover {
  background: rgba(10, 20, 40, 0.05);
}
.user-menu .user-item.text-danger {
  color: var(--danger);
}
.user-menu .user-divider {
  height: 1px;
  margin: 0.35rem 0;
  background: var(--border-color);
}/*# sourceMappingURL=theme.css.map */