:root,
:root[data-mantine-color-scheme='light'] {
  --background: 247 248 245;
  --foreground: 30 35 32;
  --card: 255 255 255;
  --card-foreground: 30 35 32;
  --primary: 47 148 120;
  --primary-foreground: 255 255 255;
  --secondary: 241 243 239;
  --secondary-foreground: 30 35 32;
  --muted: 241 243 239;
  --muted-foreground: 91 101 96;
  --accent: 47 148 120;
  --accent-foreground: 255 255 255;
  --destructive: 215 44 13;
  --destructive-foreground: 255 255 255;
  --border: 221 226 218;
  --input: 221 226 218;
  --ring: 47 148 120;
  --radius: 0.5rem;

  --sidebar-background: 255 255 255;
  --sidebar-foreground: 91 101 96;
  --sidebar-primary: 47 148 120;
  --sidebar-primary-foreground: 255 255 255;
  --sidebar-accent: 241 243 239;
  --sidebar-accent-foreground: 30 35 32;
  --sidebar-border: 221 226 218;

  --app-bg: #f7f8f5;
  --app-surface: #ffffff;
  --app-subtle-bg: #f1f3ef;
  --app-emphasis-bg: #edf7f4;
  --app-hover-bg: #eef1ec;
  --app-border: #dde2da;
  --app-border-strong: #c7d0c4;
  --app-text: #1e2320;
  --app-muted-text: #5b6560;
  --app-success-bg: #e8f5ee;
  --app-critical-bg: #fff0ee;
  --app-warning-bg: #fff6e4;
  --app-info-bg: #eef5fb;
  --app-row-bg: #fbfcfa;
  --app-muted-dot: #b9c2ba;
  --app-info-dot: #2f9478;

  --p-color-border: var(--app-border);
  --p-color-bg-surface: var(--app-surface);
  --p-color-border-brand: var(--mantine-color-managify-6);
}

:root[data-mantine-color-scheme='dark'] {
  --background: 20 22 19;
  --foreground: 237 239 234;
  --card: 29 32 28;
  --card-foreground: 237 239 234;
  --primary: 89 179 151;
  --primary-foreground: 7 25 20;
  --secondary: 34 38 33;
  --secondary-foreground: 237 239 234;
  --muted: 39 44 38;
  --muted-foreground: 176 183 173;
  --accent: 89 179 151;
  --accent-foreground: 7 25 20;
  --destructive: 255 107 107;
  --destructive-foreground: 20 20 20;
  --border: 49 54 47;
  --input: 49 54 47;
  --ring: 89 179 151;

  --sidebar-background: 24 27 23;
  --sidebar-foreground: 176 183 173;
  --sidebar-primary: 89 179 151;
  --sidebar-primary-foreground: 7 25 20;
  --sidebar-accent: 34 38 33;
  --sidebar-accent-foreground: 237 239 234;
  --sidebar-border: 49 54 47;

  --app-bg: #141613;
  --app-surface: #1d201c;
  --app-subtle-bg: #252a24;
  --app-emphasis-bg: #17392f;
  --app-hover-bg: #283028;
  --app-border: #31362f;
  --app-border-strong: #485144;
  --app-text: #edefea;
  --app-muted-text: #b0b7ad;
  --app-success-bg: #143226;
  --app-critical-bg: #3a1f1d;
  --app-warning-bg: #382c16;
  --app-info-bg: #1b2d3b;
  --app-row-bg: #20241f;
  --app-muted-dot: #697166;
  --app-info-dot: #59b397;

  --p-color-border: var(--app-border);
  --p-color-bg-surface: var(--app-surface);
  --p-color-border-brand: var(--mantine-color-managify-5);
}

* {
  box-sizing: border-box;
  border-color: var(--app-border);
}

html,
body {
  overscroll-behavior-y: contain;
}

body {
  min-width: 320px;
  min-height: 100vh;
  margin: 0;
  background-color: var(--app-bg);
  color: var(--app-text);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#root {
  min-height: 100vh;
}

.mantine-AppShell-header,
.mantine-AppShell-navbar {
  border-color: var(--app-border);
  background-color: var(--app-surface);
}

.mantine-AppShell-header {
  box-shadow: none;
}

.mantine-AppShell-main {
  min-height: 100vh;
  background-color: var(--app-bg);
}

.app-shell-header-inner {
  max-width: 100%;
}

.app-shell-logo {
  display: block;
}

.app-shell-user-button {
  border: 1px solid transparent;
  border-radius: var(--mantine-radius-sm);
  padding: 5px 7px;
  color: var(--app-text);
}

.app-shell-user-button:hover {
  border-color: var(--app-border);
  background-color: var(--app-hover-bg);
}

.app-nav-section-label {
  color: var(--app-muted-text);
}

.mantine-NavLink-root[data-active] {
  border-left: 2px solid var(--mantine-color-managify-6);
  background-color: var(--app-emphasis-bg);
  color: var(--app-text);
}

.mantine-NavLink-root:hover {
  background-color: var(--app-hover-bg);
}

.page-frame {
  max-width: 1440px;
}

.page-frame--narrow {
  max-width: 1180px;
}

.page-frame__header {
  padding-bottom: 4px;
}

.page-frame__title {
  line-height: 1.18;
  letter-spacing: 0;
}

.page-frame__subtitle {
  max-width: 760px;
  color: var(--app-muted-text);
}

.app-auth-main {
  min-height: calc(100vh - 56px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--mantine-spacing-xl) var(--mantine-spacing-md);
}

.app-auth-panel {
  width: min(100%, 420px);
}

.app-auth-card {
  width: 100%;
  border-color: var(--app-border-strong);
  background-color: var(--app-surface);
  box-shadow: 0 16px 42px rgba(15, 23, 42, 0.08);
}

.resource-table {
  overflow: hidden;
  background-color: var(--app-surface);
  border-color: var(--app-border-strong);
}

.resource-table__toolbar,
.resource-table__filters,
.resource-table__selected-bar,
.resource-table__pagination {
  border-bottom: 1px solid var(--app-border);
}

.resource-table__selected-bar,
.resource-table__filters {
  background-color: var(--app-surface);
}

.resource-table__toolbar {
  background-color: var(--app-row-bg);
}

.resource-table table {
  background-color: transparent;
}

.resource-table thead th {
  border-bottom: 1px solid var(--app-border);
  background-color: var(--app-row-bg);
  color: var(--app-muted-text);
  font-weight: 650;
}

.resource-table tbody td {
  border-top-color: var(--app-border);
}

.resource-table tbody tr:hover td {
  background-color: var(--app-hover-bg);
}

.resource-table__empty {
  border-top: 1px solid var(--app-border);
}

.analytics-metric-button {
  width: 100%;
  text-align: left;
  color: inherit;
}

.analytics-metric-button:hover {
  background-color: var(--app-hover-bg);
}

.dashboard-section-card,
.dashboard-stat-card {
  height: 100%;
}

.dashboard-stat-card {
  border-color: var(--app-border-strong);
}

.dashboard-metric-grid {
  border: 1px solid var(--app-border);
  border-radius: var(--mantine-radius-sm);
  overflow: hidden;
}

.dashboard-metric-tile {
  border-right: 1px solid var(--app-border);
}

.dashboard-metric-tile:last-child {
  border-right: 0;
}

.summary-panel {
  border-color: var(--app-border-strong);
}

.summary-panel__header {
  border-bottom: 1px solid var(--app-border);
  background-color: var(--app-row-bg);
}

.section-header__icon {
  border: 1px solid var(--app-border);
  background-color: var(--app-row-bg);
}

/* PWA / standalone splash */
.app-loading--splash {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  background-color: #1a1a1a;
}

.app-loading__logo {
  width: 140px;
  height: auto;
  animation: app-loading-pulse 1.6s ease-in-out infinite;
}

@keyframes app-loading-pulse {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0.35;
  }
}

.app-toast-alert {
  position: fixed;
  top: 72px;
  right: 20px;
  z-index: 1000;
  width: min(360px, calc(100vw - 40px));
}

#app-pull-to-refresh {
  position: fixed;
  top: calc(56px + env(safe-area-inset-top, 0px));
  left: 50%;
  z-index: 540;
  pointer-events: none;
  min-width: 148px;
  opacity: 0;
  transform: translate3d(-50%, calc(-100% - 8px), 0);
  transition:
    opacity 120ms ease,
    transform 120ms ease;
}

html[data-pull-to-refresh-state='pulling'] #app-pull-to-refresh,
html[data-pull-to-refresh-state='ready'] #app-pull-to-refresh,
html[data-pull-to-refresh-state='refreshing'] #app-pull-to-refresh {
  opacity: 1;
  transform: translate3d(-50%, calc(-100% + var(--pull-to-refresh-distance, 0px)), 0);
}


/*# sourceMappingURL=main.adeaeed9.css.map*/