/* GNPC — GPU-friendly nav + Display-P3 status colors (IPS/OLED) */

/* Hardware acceleration: smoother sidebar / header menus on 60–120 Hz panels */
.gnpc-accelerated-ui {
  transform: translateZ(0);
  backface-visibility: hidden;
  perspective: 1000px;
  will-change: transform, opacity;
}

.gnpc-icon-users,
.gnpc-icon-chat,
.gnpc-icon-document {
  display: block;
  flex-shrink: 0;
  color: currentColor;
}

svg.app-sidebar-nav-icon.gnpc-icon-users,
svg.app-sidebar-nav-icon.gnpc-icon-chat,
svg.app-sidebar-nav-icon.gnpc-icon-document {
  width: 1.3125rem;
  height: 1.3125rem;
}

svg.app-sidebar-sublink-icon.gnpc-icon-users,
svg.app-sidebar-sublink-icon.gnpc-icon-chat,
svg.app-sidebar-sublink-icon.gnpc-icon-document {
  width: 0.875rem;
  height: 0.875rem;
  opacity: 0.72;
}

.app-sidebar-sublink.is-active svg.app-sidebar-sublink-icon {
  opacity: 1;
}

/* Standard fallbacks (sRGB) */
.text-gnpc-blue {
  color: #0078d4;
}
.status-urgent {
  background-color: rgba(220, 38, 38, 0.12);
  color: #b91c1c;
}
.status-healthy {
  background-color: rgba(52, 199, 89, 0.12);
  color: #248a3d;
}

/* Corporate brand tokens — sRGB fallbacks wired from base.html :root */
.gnpc-brand-primary {
  color: var(--brand-primary, #005faa);
}
.gnpc-brand-accent {
  color: var(--brand-accent, #0078d4);
}

/* Wide color gamut (Display-P3) — richer corporate branding on IPS/Retina/OLED */
@media (color-gamut: p3) {
  :root {
    --gnpc-primary-p3: color(display-p3 0 0.37 0.67);
    --gnpc-accent-p3: color(display-p3 0 0.55 1);
    --gnpc-primary-tint-p3: color(display-p3 0 0.37 0.67 / 0.12);
    --gnpc-urgent-p3: color(display-p3 1 0.1 0.15);
    --gnpc-urgent-bg-p3: color(display-p3 1 0.15 0.2 / 0.15);
    --gnpc-healthy-p3: color(display-p3 0 0.75 0.35);
    --gnpc-healthy-bg-p3: color(display-p3 0 0.8 0.4 / 0.15);
  }

  .text-gnpc-blue,
  .gnpc-brand-accent {
    color: var(--gnpc-accent-p3) !important;
  }

  .text-primary {
    color: var(--gnpc-primary-p3) !important;
  }

  .bg-primary {
    background-color: var(--gnpc-primary-p3) !important;
  }

  .border-primary {
    border-color: var(--gnpc-primary-p3) !important;
  }

  .app-sidebar-nav-item.is-active,
  .app-sidebar-sublink.is-active {
    color: var(--gnpc-primary-p3);
  }

  .app-sidebar-nav-item.is-active {
    background-color: var(--gnpc-primary-tint-p3);
  }

  .app-sidebar-sublink.is-active {
    background-color: var(--gnpc-primary-tint-p3);
  }

  .status-urgent {
    background-color: var(--gnpc-urgent-bg-p3) !important;
    color: var(--gnpc-urgent-p3) !important;
  }

  .status-healthy {
    background-color: var(--gnpc-healthy-bg-p3) !important;
    color: var(--gnpc-healthy-p3) !important;
  }
}

/* Compact mobile bottom nav — vector icons scale cleanly on Retina */
@media (max-width: 767px) {
  nav[aria-label="Γρήγορη πλοήγηση"] {
    padding-inline: 0;
  }

  nav[aria-label="Γρήγορη πλοήγηση"] > a {
    padding-inline: 0.125rem;
  }

  nav[aria-label="Γρήγορη πλοήγηση"] .gnpc-icon-users,
  nav[aria-label="Γρήγορη πλοήγηση"] .gnpc-icon-chat,
  nav[aria-label="Γρήγορη πλοήγηση"] .gnpc-icon-document {
    width: 1.25rem;
    height: 1.25rem;
  }
}
