/* =========================================================
   NUV LEVEL UP REGION · MASTER DESIGN SYSTEM 2050
   RUNTIME STYLESHEET · FINAL V5
   Quelle: freigegebener MASTER 2050
   ========================================================= */

/* =========================================================
   =========================================================
   NUV LEVEL UP REGION
   MASTER DESIGN SYSTEM 2050
   COMPLETE COMPONENT LIBRARY · FINAL V5 · SELECTIVE LIGHT SURFACES
   =========================================================
   =========================================================

   VERBINDLICHE DESIGNSPRACHE FÜR:

   · öffentliche Inhaltsseiten
   · REGION
   · EVENTS
   · PARTNER
   · MY LEVEL UP
   · MY REGION
   · MY PROGRESS
   · PARTNER PROGRESS
   · Content Creator
   · Youth
   · Partner
   · Administration
   · Formulare
   · Challenges
   · Produktionen
   · Profile
   · Status
   · Daten
   · Tabellen
   · Listen
   · Downloads
   · CTA
   · Empty States
   · Hinweise
   · Navigation innerhalb einer Seite


   NICHT TEIL DIESES MASTERS:

   Die bereits fertigen sieben großen Haupt-Heros
   inklusive deren Menü und Live-API-Logik.

   Diese bleiben unverändert.


   =========================================================
   SIGNATURE ELEMENTS 2050
   =========================================================

   01 · LIGHT PAGE HERO
   02 · GOLD GLASS LIVE DATA
   03 · ACTION NODE BUTTON
   04 · ORBIT 01–05
   05 · LIGHT PREMIUM SURFACES
   06 · PETROL + GOLD PRECISION
   07 · LEAD · EUROPE VIOLET
   08 · FINE ENERGY LINES
   09 · LARGE WHITE SPACE
   10 · RESPONSIVE BY DEFAULT


   =========================================================
   DESIGNREGEL
   =========================================================

   KEINE neuen Karten erfinden.
   KEINE neuen Buttons erfinden.
   KEINE neuen Radien erfinden.
   KEINE neuen Abstände erfinden.
   KEINE Admin-Sonderwelt.
   KEINE schweren Petrol-Blöcke als Standard.
   KEINE plumpen Outline-Buttons.

   ========================================================= */


/* =========================================================
   00 · ROOT / TOKENS
   ========================================================= */

#nuv2050 {

  /* BRAND */

  --n50-petrol: #005F6A;
  --n50-petrol-dark: #004B54;
  --n50-petrol-deep: #003F47;

  --n50-gold: #D4AF37;
  --n50-gold-dark: #8A680B;

  --n50-anth: #25282A;

  --n50-grey: #575759;
  --n50-grey-mid: #818181;

  --n50-grey-line: #D9DDDF;
  --n50-grey-light: #F4F6F7;
  --n50-grey-ultra: #FAFBFB;

  --n50-white: #FFFFFF;


  /* EUROPE */

  --n50-violet: #682070;
  --n50-violet-dark: #42124A;
  --n50-violet-soft: #F6EEF7;


  /* STATUS */

  --n50-success: #0F766E;
  --n50-success-soft: rgba(15,118,110,.08);

  --n50-warning: #9A6500;
  --n50-warning-soft: rgba(154,101,0,.08);

  --n50-danger: #A52A2A;
  --n50-danger-soft: rgba(165,42,42,.07);

  --n50-info: #005F6A;
  --n50-info-soft: rgba(0,95,106,.07);


  /* RADIUS */

  --n50-radius-xs: 8px;
  --n50-radius-sm: 11px;
  --n50-radius-md: 15px;
  --n50-radius-lg: 20px;
  --n50-radius-xl: 24px;
  --n50-radius-xxl: 30px;


  /* SHADOW */

  --n50-shadow-soft:
    0 8px 24px rgba(37,40,42,.035);

  --n50-shadow:
    0 12px 32px rgba(37,40,42,.055);

  --n50-shadow-hover:
    0 18px 42px rgba(37,40,42,.085);


  /* WIDTH */

  --n50-width: 1280px;


  /* TRANSITION */

  --n50-transition:
    .24s cubic-bezier(.2,.8,.2,1);


  width: 100%;

  color: var(--n50-anth);

  font-family:
    "Montserrat",
    Arial,
    sans-serif;

  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}


#nuv2050 *,
#nuv2050 *::before,
#nuv2050 *::after {
  box-sizing: border-box;
}


#nuv2050 img {
  display: block;

  max-width: 100%;
}


#nuv2050 a {
  color: inherit;
}


#nuv2050 button,
#nuv2050 input,
#nuv2050 textarea,
#nuv2050 select {
  font: inherit;
}


/* =========================================================
   01 · MASTER WIDTH
   ========================================================= */

#nuv2050 .n50-wrap {
  width:
    min(
      var(--n50-width),
      calc(100% - 48px)
    );

  margin-left: auto;
  margin-right: auto;
}


#nuv2050 .n50-wrap--narrow {
  width:
    min(
      920px,
      calc(100% - 48px)
    );

  margin-left: auto;
  margin-right: auto;
}


/* =========================================================
   02 · SECTION SPACING
   ========================================================= */

#nuv2050 .n50-section {
  margin-bottom: 58px;
}


#nuv2050 .n50-section--small {
  margin-bottom: 36px;
}


#nuv2050 .n50-section--large {
  margin-bottom: 76px;
}


/* =========================================================
   03 · TYPOGRAPHY
   ========================================================= */

#nuv2050 .n50-kicker {
  position: relative;

  display: inline-block;

  margin: 0 0 10px;

  padding-bottom: 7px;

  color: var(--n50-petrol);

  font-size: 13px;
  line-height: 1.3;

  font-weight: 800;

  letter-spacing: .075em;

  text-transform: uppercase;
}


#nuv2050 .n50-kicker::after {
  content: "";

  position: absolute;

  left: 0;
  bottom: 0;

  width: 34px;
  height: 2px;

  border-radius: 999px;

  background: var(--n50-gold);
}


#nuv2050 .n50-kicker--gold {
  color: var(--n50-gold-dark);
}


#nuv2050 .n50-kicker--violet {
  color: var(--n50-violet);
}


#nuv2050 .n50-page-title {
  max-width: 800px;

  margin: 0 0 12px;

  color: var(--n50-anth);

  font-size:
    clamp(26px, 3vw, 37px);

  line-height: 1.08;

  font-weight: 800;

  letter-spacing: -.028em;
}


#nuv2050 .n50-title {
  max-width: 880px;

  margin: 0 0 10px;

  color: var(--n50-anth);

  font-size:
    clamp(23px, 2.2vw, 31px);

  line-height: 1.14;

  font-weight: 800;

  letter-spacing: -.022em;
}


#nuv2050 .n50-subtitle {
  margin: 0 0 9px;

  color: var(--n50-anth);

  font-size:
    clamp(19px, 1.7vw, 24px);

  line-height: 1.2;

  font-weight: 800;

  letter-spacing: -.018em;
}


#nuv2050 .n50-h3 {
  margin: 0 0 8px;

  color: var(--n50-anth);

  font-size:
    clamp(17px, 1.5vw, 21px);

  line-height: 1.25;

  font-weight: 800;

  letter-spacing: -.012em;
}


#nuv2050 .n50-h4 {
  margin: 0 0 6px;

  color: var(--n50-anth);

  font-size: 16px;
  line-height: 1.35;

  font-weight: 800;
}


#nuv2050 .n50-lead {
  max-width: 740px;

  margin: 0;

  color: var(--n50-petrol-dark);

  font-size:
    clamp(15px, 1.4vw, 18px);

  line-height: 1.5;

  font-weight: 700;
}


#nuv2050 .n50-intro {
  max-width: 800px;

  margin: 0;

  color: var(--n50-grey);

  font-size: 16px;
  line-height: 1.7;
}


#nuv2050 .n50-body {
  margin: 0;

  color: var(--n50-grey);

  font-size: 16px;
  line-height: 1.68;
}


#nuv2050 .n50-body + .n50-body {
  margin-top: 12px;
}


#nuv2050 .n50-small {
  margin: 0;

  color: var(--n50-grey-mid);

  font-size: 13px;
  line-height: 1.55;
}


#nuv2050 .n50-label {
  margin: 0 0 7px;

  color: var(--n50-petrol);

  font-size: 13px;
  line-height: 1.3;

  font-weight: 800;

  letter-spacing: .075em;

  text-transform: uppercase;
}


#nuv2050 .n50-number-big {
  color: var(--n50-gold);

  font-size:
    clamp(32px, 4vw, 52px);

  line-height: 1;

  font-weight: 900;

  letter-spacing: -.04em;
}


/* =========================================================
   04 · SECTION HEADER
   ========================================================= */

#nuv2050 .n50-head {
  max-width: 860px;

  margin-bottom: 23px;
}


#nuv2050 .n50-head--center {
  margin-left: auto;
  margin-right: auto;

  text-align: center;
}


#nuv2050 .n50-head--center .n50-kicker::after {
  left: 50%;

  transform: translateX(-50%);
}


#nuv2050 .n50-head--center .n50-title,
#nuv2050 .n50-head--center .n50-intro {
  margin-left: auto;
  margin-right: auto;
}


/* =========================================================
   05 · PAGE HERO 2050
   ========================================================= */

#nuv2050 .n50-pagehero {
  position: relative;

  isolation: isolate;

  overflow: hidden;

  min-height: 310px;

  display: grid;

  grid-template-columns:
    minmax(0,1fr)
    auto;

  align-items: center;

  gap: 38px;

  padding: 40px 44px;

  border:
    1px solid
    rgba(0,95,106,.12);

  border-radius:
    var(--n50-radius-xl);

  background:
    radial-gradient(
      circle at 90% 4%,
      rgba(212,175,55,.16),
      transparent 28%
    ),
    radial-gradient(
      circle at 74% 115%,
      rgba(0,95,106,.095),
      transparent 34%
    ),
    linear-gradient(
      128deg,
      #FFFFFF 0%,
      #F8FAFA 58%,
      #F0F5F5 100%
    );

  box-shadow:
    0 18px 46px
    rgba(37,40,42,.055);
}


#nuv2050 .n50-pagehero::before {
  content: "";

  position: absolute;

  top: 0;
  left: 0;

  width: 44%;
  height: 3px;

  background:
    linear-gradient(
      90deg,
      var(--n50-gold),
      rgba(212,175,55,.10)
    );
}


#nuv2050 .n50-pagehero::after {
  content: "LEVEL UP";

  position: absolute;

  z-index: -1;

  right: 18px;
  bottom: -26px;

  color:
    rgba(0,63,71,.027);

  font-size:
    clamp(68px,9vw,116px);

  line-height: 1;

  font-weight: 900;

  letter-spacing: -.06em;

  white-space: nowrap;
}


#nuv2050 .n50-pagehero__content {
  position: relative;

  z-index: 3;

  max-width: 780px;
}


#nuv2050 .n50-pagehero__mark {
  position: relative;

  width: 126px;
  height: 126px;

  display: grid;

  place-items: center;

  border-radius: 34px;

  background:
    radial-gradient(
      circle at 30% 20%,
      rgba(255,255,255,.95),
      transparent 35%
    ),
    linear-gradient(
      145deg,
      rgba(212,175,55,.16),
      rgba(0,95,106,.045)
    );

  box-shadow:
    inset 0 0 0 1px
    rgba(212,175,55,.24),

    0 16px 36px
    rgba(37,40,42,.045);
}


#nuv2050 .n50-pagehero__mark::before {
  content: "";

  position: absolute;

  inset: 16px;

  border:
    1px solid
    rgba(212,175,55,.34);

  border-radius: 50%;
}


#nuv2050 .n50-pagehero__mark::after {
  content: "";

  width: 12px;
  height: 12px;

  border-radius: 50%;

  background: var(--n50-gold);

  box-shadow:
    0 0 0 8px
    rgba(212,175,55,.10);
}


/* =========================================================
   06 · PAGE HERO WITH IMAGE
   ========================================================= */

#nuv2050 .n50-pagehero--image {
  grid-template-columns:
    minmax(0,1fr)
    minmax(260px,38%);
}


#nuv2050 .n50-pagehero__image {
  position: relative;

  align-self: stretch;

  min-height: 230px;

  overflow: hidden;

  border-radius: 18px;
}


#nuv2050 .n50-pagehero__image img {
  width: 100%;
  height: 100%;

  object-fit: cover;
}


/* =========================================================
   07 · HERO LIVE DATA
   SIGNATURE ELEMENT
   ========================================================= */

#nuv2050 .n50-livebar {
  position: relative;
  z-index: 4;
  display: flex;
  flex-wrap: wrap;
  gap: 28px;
  width: max-content;
  max-width: 100%;
  margin-top: 24px;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

#nuv2050 .n50-liveitem {
  position: relative;
  min-width: 108px;
  padding: 0 22px 0 0;
  color: var(--n50-gold-dark);
}

#nuv2050 .n50-liveitem + .n50-liveitem::before {
  content: "";
  position: absolute;
  left: -14px;
  top: 3px;
  bottom: 3px;
  width: 1px;
  background: rgba(138,104,11,.22);
}

#nuv2050 .n50-liveitem__value {
  display: block;
  color: var(--n50-gold-dark);
  font-size: 17px;
  line-height: 1.05;
  font-weight: 900;
  letter-spacing: -.02em;
}

#nuv2050 .n50-liveitem__label {
  display: block;
  margin-top: 5px;
  color: var(--n50-gold-dark);
  font-size: 13px;
  line-height: 1.3;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
  opacity: .78;
}

#nuv2050 .n50-liveitem--status {
  display: flex;
  align-items: center;
  gap: 9px;
}

#nuv2050 .n50-live-dot {
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  border-radius: 50%;
  background: var(--n50-gold-dark);
  box-shadow: 0 0 0 4px rgba(138,104,11,.08);
}

/* Generic marker for every API / D1 live value.
   Live data = dark gold typography, never a gold background. */
#nuv2050 .n50-live-data {
  color: var(--n50-gold-dark) !important;
}

#nuv2050 .n50-stat--live .n50-stat__value {
  color: var(--n50-gold-dark);
}

#nuv2050 .n50-stat--live .n50-stat__label {
  color: var(--n50-grey-mid);
}

/* =========================================================
   08 · BUTTON SYSTEM 2050
   ========================================================= */

#nuv2050 .n50-btn {
  --btn-accent:
    var(--n50-gold);

  position: relative;

  isolation: isolate;

  display: inline-grid;

  grid-template-columns:
    minmax(0,auto)
    34px;

  align-items: center;

  gap: 14px;

  min-height: 48px;

  padding:
    6px
    7px
    6px
    18px;

  overflow: hidden;

  border: 0;

  border-radius: 14px;

  background:
    linear-gradient(
      135deg,
      rgba(255,255,255,.98),
      rgba(247,249,249,.90)
    );

  color:
    var(--n50-petrol-dark) !important;

  font-size: 14px;
  line-height: 1;

  font-weight: 800;

  letter-spacing: .055em;

  text-transform: uppercase;

  text-decoration: none !important;

  box-shadow:
    0 0 0 1px
    rgba(0,95,106,.10),

    0 8px 24px
    rgba(37,40,42,.045);

  cursor: pointer;

  transition:
    transform var(--n50-transition),
    box-shadow var(--n50-transition);
}


#nuv2050 .n50-btn::before {
  content: "";

  position: absolute;

  z-index: -1;

  top: 0;
  bottom: 0;

  left: -45%;

  width: 42%;

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(212,175,55,.13),
      transparent
    );

  transform:
    skewX(-18deg);

  transition:
    left .55s
    cubic-bezier(.2,.8,.2,1);
}


#nuv2050 .n50-btn::after {
  content: "";

  position: absolute;

  left: 18px;
  right: 55px;
  bottom: 0;

  height: 1px;

  background:
    linear-gradient(
      90deg,
      var(--btn-accent),
      transparent
    );

  transform:
    scaleX(.28);

  transform-origin:
    left center;

  opacity: .7;

  transition:
    transform .38s
    cubic-bezier(.2,.8,.2,1);
}


#nuv2050 .n50-btn__label {
  position: relative;

  z-index: 2;

  white-space: nowrap;
}


#nuv2050 .n50-btn__node {
  position: relative;

  z-index: 2;

  width: 34px;
  height: 34px;

  display: grid;

  place-items: center;

  border-radius: 10px;

  background:
    linear-gradient(
      145deg,
      rgba(0,95,106,.08),
      rgba(0,95,106,.025)
    );

  color: var(--n50-petrol);

  transition:
    background var(--n50-transition),
    color var(--n50-transition),
    border-radius .35s ease,
    transform .35s
    cubic-bezier(.2,.8,.2,1);
}


#nuv2050 .n50-arrow {
  position: relative;

  display: block;

  width: 12px;
  height: 10px;
}


#nuv2050 .n50-arrow::before {
  content: "";

  position: absolute;

  left: 0;
  top: 4px;

  width: 10px;
  height: 1.5px;

  border-radius: 999px;

  background: currentColor;
}


#nuv2050 .n50-arrow::after {
  content: "";

  position: absolute;

  right: 0;
  top: 1px;

  width: 6px;
  height: 6px;

  border-top:
    1.5px solid currentColor;

  border-right:
    1.5px solid currentColor;

  transform:
    rotate(45deg);
}


#nuv2050 .n50-btn:hover,
#nuv2050 .n50-btn:focus-visible {
  transform:
    translateY(-2px);

  box-shadow:
    0 0 0 1px
    rgba(0,95,106,.15),

    0 14px 32px
    rgba(0,95,106,.09);
}


#nuv2050 .n50-btn:hover::before,
#nuv2050 .n50-btn:focus-visible::before {
  left: 105%;
}


#nuv2050 .n50-btn:hover::after,
#nuv2050 .n50-btn:focus-visible::after {
  transform:
    scaleX(1);
}


#nuv2050 .n50-btn:hover
.n50-btn__node,
#nuv2050 .n50-btn:focus-visible
.n50-btn__node {
  border-radius: 50%;

  background:
    var(--n50-petrol);

  color: #fff;

  transform:
    rotate(-4deg);
}


/* =========================================================
   09 · BUTTON GOLD
   ========================================================= */

#nuv2050 .n50-btn--gold {
  background:
    radial-gradient(
      circle at 90% 10%,
      rgba(212,175,55,.20),
      transparent 38%
    ),
    linear-gradient(
      135deg,
      #fff,
      #FBF9F1
    );

  box-shadow:
    0 0 0 1px
    rgba(212,175,55,.24),

    0 9px 26px
    rgba(212,175,55,.07);
}


#nuv2050 .n50-btn--gold
.n50-btn__node {
  background:
    linear-gradient(
      145deg,
      rgba(212,175,55,.22),
      rgba(212,175,55,.08)
    );

  color:
    var(--n50-gold-dark);
}


#nuv2050 .n50-btn--gold:hover
.n50-btn__node {
  background:
    var(--n50-gold);

  color:
    var(--n50-petrol-deep);
}


/* =========================================================
   10 · BUTTON DARK
   ========================================================= */

#nuv2050 .n50-btn--dark {
  background:
    linear-gradient(
      135deg,
      var(--n50-petrol),
      var(--n50-petrol-deep)
    );

  color: #fff !important;

  box-shadow:
    0 10px 26px
    rgba(0,63,71,.14);
}


#nuv2050 .n50-btn--dark
.n50-btn__node {
  background:
    rgba(255,255,255,.10);

  color:
    var(--n50-gold);
}


#nuv2050 .n50-btn--dark:hover
.n50-btn__node {
  background:
    var(--n50-gold);

  color:
    var(--n50-petrol-deep);
}


/* =========================================================
   11 · BUTTON QUIET
   ========================================================= */

#nuv2050 .n50-btn--quiet {
  background: transparent;

  box-shadow: none;
}


#nuv2050 .n50-btn--quiet:hover {
  background:
    rgba(0,95,106,.035);

  box-shadow:
    0 0 0 1px
    rgba(0,95,106,.08);
}


/* =========================================================
   12 · BUTTON DANGER
   ========================================================= */

#nuv2050 .n50-btn--danger {
  --btn-accent:
    var(--n50-danger);

  color:
    var(--n50-danger) !important;
}


#nuv2050 .n50-btn--danger
.n50-btn__node {
  color:
    var(--n50-danger);

  background:
    var(--n50-danger-soft);
}


/* =========================================================
   13 · BUTTON DISABLED
   ========================================================= */

#nuv2050 .n50-btn[disabled],
#nuv2050 .n50-btn.is-disabled {
  opacity: .38;

  pointer-events: none;

  transform: none;
}


/* =========================================================
   14 · ACTION ROW
   ========================================================= */

#nuv2050 .n50-actions {
  display: flex;

  flex-wrap: wrap;

  align-items: center;

  gap: 12px;

  margin-top: 20px;
}


/* =========================================================
   15 · GRID SYSTEM
   ========================================================= */

#nuv2050 .n50-grid-2,
#nuv2050 .n50-grid-3,
#nuv2050 .n50-grid-4,
#nuv2050 .n50-grid-5 {
  display: grid;

  gap: 18px;
}


#nuv2050 .n50-grid-2 {
  grid-template-columns:
    repeat(2,minmax(0,1fr));
}


#nuv2050 .n50-grid-3 {
  grid-template-columns:
    repeat(3,minmax(0,1fr));
}


#nuv2050 .n50-grid-4 {
  grid-template-columns:
    repeat(4,minmax(0,1fr));
}


#nuv2050 .n50-grid-5 {
  grid-template-columns:
    repeat(5,minmax(0,1fr));
}


/* =========================================================
   16 · BASIC CARD
   ========================================================= */

#nuv2050 .n50-card {
  position: relative;

  overflow: hidden;

  padding: 25px;

  border:
    1px solid
    var(--n50-grey-line);

  border-radius:
    var(--n50-radius-lg);

  background:
    rgba(255,255,255,.97);

  box-shadow:
    var(--n50-shadow);
}


#nuv2050 .n50-card--interactive {
  transition:
    transform var(--n50-transition),
    box-shadow var(--n50-transition),
    border-color var(--n50-transition);
}


#nuv2050 .n50-card--interactive:hover {
  transform:
    translateY(-3px);

  border-color:
    rgba(0,95,106,.22);

  box-shadow:
    var(--n50-shadow-hover);
}


/* =========================================================
   17 · GOLD CARD
   ========================================================= */

#nuv2050 .n50-card--gold {
  border-color:
    rgba(212,175,55,.32);

  background:
    radial-gradient(
      circle at 100% 0,
      rgba(212,175,55,.12),
      transparent 35%
    ),
    #fff;
}


/* =========================================================
   18 · PETROL LIGHT CARD
   ========================================================= */

#nuv2050 .n50-card--petrol {
  border-color:
    rgba(0,95,106,.17);

  background:
    radial-gradient(
      circle at 100% 0,
      rgba(0,95,106,.075),
      transparent 38%
    ),
    #fff;
}


/* =========================================================
   19 · EUROPE CARD
   ========================================================= */

#nuv2050 .n50-card--europe {
  border-color:
    rgba(104,32,112,.25);

  background:
    radial-gradient(
      circle at 100% 0,
      rgba(104,32,112,.09),
      transparent 38%
    ),
    #fff;
}


/* =========================================================
   20 · MEDIA CARD
   ========================================================= */

#nuv2050 .n50-media-card {
  overflow: hidden;

  padding: 0;
}


#nuv2050 .n50-media-card__image {
  aspect-ratio: 16 / 9;

  overflow: hidden;
}


#nuv2050 .n50-media-card__image img {
  width: 100%;
  height: 100%;

  object-fit: cover;

  transition:
    transform .5s
    cubic-bezier(.2,.8,.2,1);
}


#nuv2050 .n50-media-card:hover
.n50-media-card__image img {
  transform:
    scale(1.025);
}


#nuv2050 .n50-media-card__body {
  padding: 23px 25px 25px;
}


/* =========================================================
   21 · ORBIT NUMBER SYSTEM
   ========================================================= */

#nuv2050 .n50-orbit {
  position: relative;

  width: 60px;
  height: 60px;

  margin-bottom: 17px;

  display: grid;

  place-items: center;
}


#nuv2050 .n50-orbit::before {
  content: "";

  position: absolute;

  inset: 0;

  border:
    1px solid
    rgba(212,175,55,.40);

  border-radius: 50%;
}


#nuv2050 .n50-orbit::after {
  content: "";

  position: absolute;

  inset: 7px;

  border:
    1px solid
    rgba(0,95,106,.12);

  border-radius: 50%;
}


#nuv2050 .n50-orbit span {
  position: relative;

  z-index: 2;

  width: 44px;
  height: 44px;

  display: grid;

  place-items: center;

  border-radius: 50%;

  background:
    radial-gradient(
      circle at 30% 20%,
      #fff,
      #F7F0DA
    );

  color:
    var(--n50-gold-dark);

  font-size: 14px;

  font-weight: 900;
}


/* =========================================================
   22 · LEVEL CARD
   ========================================================= */

#nuv2050 .n50-level {
  min-height: 225px;

  display: flex;

  flex-direction: column;
}


#nuv2050 .n50-level__number {
  margin-bottom: 9px;

  color:
    var(--n50-gold-dark);

  font-size: 13px;

  font-weight: 900;

  letter-spacing: .08em;

  text-transform: uppercase;
}


#nuv2050 .n50-level--europe {
  border-color:
    rgba(104,32,112,.30);

  background:
    radial-gradient(
      circle at 100% 0,
      rgba(104,32,112,.09),
      transparent 38%
    ),
    #fff;
}


#nuv2050 .n50-level--europe
.n50-level__number,
#nuv2050 .n50-level--europe
.n50-h3 {
  color:
    var(--n50-violet-dark);
}


/* =========================================================
   23 · STAT / KPI
   ========================================================= */

#nuv2050 .n50-stat {
  padding: 22px;

  border:
    1px solid
    var(--n50-grey-line);

  border-radius:
    17px;

  background: #fff;
}


#nuv2050 .n50-stat__value {
  margin-bottom: 6px;

  color:
    var(--n50-petrol-deep);

  font-size:
    clamp(25px,3vw,36px);

  line-height: 1;

  font-weight: 900;

  letter-spacing: -.035em;
}


#nuv2050 .n50-stat__label {
  color:
    var(--n50-grey-mid);

  font-size: 13px;

  font-weight: 800;

  letter-spacing: .075em;

  text-transform: uppercase;
}


/* =========================================================
   24 · PROGRESS
   ========================================================= */

#nuv2050 .n50-progress-head {
  display: flex;

  justify-content: space-between;

  gap: 15px;

  margin-bottom: 9px;

  color:
    var(--n50-petrol-dark);

  font-size: 13px;

  font-weight: 800;
}


#nuv2050 .n50-progress {
  height: 8px;

  overflow: hidden;

  border-radius: 999px;

  background: #E8ECEE;
}


#nuv2050 .n50-progress span {
  display: block;

  height: 100%;

  border-radius: inherit;

  background:
    linear-gradient(
      90deg,
      var(--n50-petrol),
      var(--n50-gold)
    );
}


/* =========================================================
   25 · STATUS CHIPS
   ========================================================= */

#nuv2050 .n50-status {
  display: inline-flex;

  align-items: center;

  gap: 6px;

  width: max-content;

  padding:
    6px 10px;

  border-radius: 999px;

  font-size: 13px;

  line-height: 1;

  font-weight: 800;

  letter-spacing: .06em;

  text-transform: uppercase;
}


#nuv2050 .n50-status::before {
  content: "";

  width: 6px;
  height: 6px;

  flex: 0 0 6px;

  border-radius: 50%;

  background: currentColor;
}


#nuv2050 .n50-status--active {
  color:
    var(--n50-success);

  background:
    var(--n50-success-soft);
}


#nuv2050 .n50-status--pending {
  color:
    var(--n50-warning);

  background:
    var(--n50-warning-soft);
}


#nuv2050 .n50-status--inactive {
  color:
    var(--n50-grey);

  background:
    rgba(87,87,89,.07);
}


#nuv2050 .n50-status--error {
  color:
    var(--n50-danger);

  background:
    var(--n50-danger-soft);
}


/* =========================================================
   26 · BADGES
   ========================================================= */

#nuv2050 .n50-badges {
  display: flex;

  flex-wrap: wrap;

  gap: 8px;
}


#nuv2050 .n50-badge {
  display: inline-flex;

  align-items: center;

  min-height: 29px;

  padding:
    6px 10px;

  border:
    1px solid
    rgba(0,95,106,.12);

  border-radius: 999px;

  background:
    rgba(0,95,106,.04);

  color:
    var(--n50-petrol-dark);

  font-size: 13px;

  font-weight: 800;

  letter-spacing: .045em;

  text-transform: uppercase;
}


#nuv2050 .n50-badge--gold {
  border-color:
    rgba(212,175,55,.28);

  background:
    rgba(212,175,55,.09);

  color:
    var(--n50-gold-dark);
}


#nuv2050 .n50-badge--europe {
  border-color:
    rgba(104,32,112,.18);

  background:
    var(--n50-violet-soft);

  color:
    var(--n50-violet-dark);
}


/* =========================================================
   27 · INFO PANEL
   ========================================================= */

#nuv2050 .n50-info {
  position: relative;

  padding:
    22px
    24px
    22px
    29px;

  border:
    1px solid
    var(--n50-grey-line);

  border-radius: 17px;

  background:
    linear-gradient(
      105deg,
      rgba(212,175,55,.055),
      #fff 55%
    );
}


#nuv2050 .n50-info::before {
  content: "";

  position: absolute;

  left: 0;
  top: 15px;
  bottom: 15px;

  width: 3px;

  border-radius:
    0 999px 999px 0;

  background:
    linear-gradient(
      180deg,
      var(--n50-gold),
      var(--n50-petrol)
    );
}


/* =========================================================
   28 · ALERT
   ========================================================= */

#nuv2050 .n50-alert {
  display: grid;

  grid-template-columns:
    auto
    minmax(0,1fr);

  gap: 13px;

  padding: 17px 19px;

  border-radius: 15px;

  border:
    1px solid
    rgba(0,95,106,.12);

  background:
    var(--n50-info-soft);
}


#nuv2050 .n50-alert__dot {
  width: 9px;
  height: 9px;

  margin-top: 5px;

  border-radius: 50%;

  background:
    var(--n50-petrol);
}


#nuv2050 .n50-alert--success {
  border-color:
    rgba(15,118,110,.16);

  background:
    var(--n50-success-soft);
}


#nuv2050 .n50-alert--success
.n50-alert__dot {
  background:
    var(--n50-success);
}


#nuv2050 .n50-alert--warning {
  border-color:
    rgba(154,101,0,.16);

  background:
    var(--n50-warning-soft);
}


#nuv2050 .n50-alert--warning
.n50-alert__dot {
  background:
    var(--n50-warning);
}


#nuv2050 .n50-alert--danger {
  border-color:
    rgba(165,42,42,.14);

  background:
    var(--n50-danger-soft);
}


#nuv2050 .n50-alert--danger
.n50-alert__dot {
  background:
    var(--n50-danger);
}


/* =========================================================
   29 · CTA
   ========================================================= */

#nuv2050 .n50-cta {
  position: relative;

  overflow: hidden;

  display: grid;

  grid-template-columns:
    minmax(0,1fr)
    auto;

  align-items: center;

  gap: 30px;

  padding:
    28px 30px;

  border:
    1px solid
    rgba(0,95,106,.14);

  border-radius: 20px;

  background:
    radial-gradient(
      circle at 92% 10%,
      rgba(212,175,55,.12),
      transparent 29%
    ),
    linear-gradient(
      125deg,
      #F8FBFA,
      #fff
    );
}


/* =========================================================
   30 · DIVIDER
   ========================================================= */

#nuv2050 .n50-divider {
  position: relative;

  height: 1px;

  margin: 32px 0;

  background:
    linear-gradient(
      90deg,
      var(--n50-grey-line),
      rgba(217,221,223,.2)
    );
}


#nuv2050 .n50-divider::before {
  content: "";

  position: absolute;

  left: 0;
  top: -1px;

  width: 44px;
  height: 2px;

  border-radius: 999px;

  background:
    var(--n50-gold);
}


/* =========================================================
   31 · TABS
   ========================================================= */

#nuv2050 .n50-tabs {
  display: flex;

  flex-wrap: wrap;

  gap: 6px;

  padding: 5px;

  width: max-content;
  max-width: 100%;

  border:
    1px solid
    var(--n50-grey-line);

  border-radius: 15px;

  background:
    var(--n50-grey-ultra);
}


#nuv2050 .n50-tab {
  padding:
    9px 13px;

  border: 0;

  border-radius: 10px;

  background: transparent;

  color:
    var(--n50-grey);

  font-size: 13px;

  font-weight: 800;

  letter-spacing: .04em;

  text-transform: uppercase;

  cursor: pointer;
}


#nuv2050 .n50-tab.is-active {
  background: #fff;

  color:
    var(--n50-petrol-dark);

  box-shadow:
    0 3px 12px
    rgba(37,40,42,.06);
}


/* =========================================================
   32 · BREADCRUMB
   ========================================================= */

#nuv2050 .n50-breadcrumb {
  display: flex;

  flex-wrap: wrap;

  gap: 7px;

  align-items: center;

  margin-bottom: 14px;

  color:
    var(--n50-grey-mid);

  font-size: 13px;

  font-weight: 700;

  letter-spacing: .04em;

  text-transform: uppercase;
}


#nuv2050 .n50-breadcrumb span:not(:last-child)::after {
  content: "·";

  margin-left: 7px;

  color:
    var(--n50-gold);
}


/* =========================================================
   33 · PROFILE
   ========================================================= */

#nuv2050 .n50-profile {
  display: grid;

  grid-template-columns:
    auto
    minmax(0,1fr);

  gap: 20px;

  align-items: center;
}


#nuv2050 .n50-avatar {
  width: 82px;
  height: 82px;

  overflow: hidden;

  border-radius: 50%;

  background:
    var(--n50-grey-light);

  box-shadow:
    0 0 0 1px
    rgba(0,95,106,.12),

    0 0 0 6px
    rgba(212,175,55,.07);
}


#nuv2050 .n50-avatar img {
  width: 100%;
  height: 100%;

  object-fit: cover;
}


/* =========================================================
   34 · META DATA
   ========================================================= */

#nuv2050 .n50-meta {
  display: flex;

  flex-wrap: wrap;

  gap:
    7px 16px;

  margin-top: 10px;
}


#nuv2050 .n50-meta__item {
  color:
    var(--n50-grey-mid);

  font-size: 13px;

  line-height: 1.4;

  font-weight: 700;
}


#nuv2050 .n50-meta__item strong {
  color:
    var(--n50-petrol-dark);

  font-weight: 800;
}


/* =========================================================
   35 · TIMELINE
   ========================================================= */

#nuv2050 .n50-timeline {
  position: relative;

  display: grid;

  gap: 0;
}


#nuv2050 .n50-timeline-item {
  position: relative;

  display: grid;

  grid-template-columns:
    34px
    minmax(0,1fr);

  gap: 15px;

  padding-bottom: 25px;
}


#nuv2050 .n50-timeline-item:not(:last-child)::before {
  content: "";

  position: absolute;

  left: 16px;
  top: 27px;
  bottom: -1px;

  width: 1px;

  background:
    var(--n50-grey-line);
}


#nuv2050 .n50-timeline-dot {
  position: relative;

  z-index: 2;

  width: 33px;
  height: 33px;

  display: grid;

  place-items: center;

  border-radius: 50%;

  background: #fff;

  box-shadow:
    0 0 0 1px
    rgba(212,175,55,.35);

  color:
    var(--n50-gold-dark);

  font-size: 13px;

  font-weight: 900;
}


/* =========================================================
   36 · STEPS
   ========================================================= */

#nuv2050 .n50-step {
  display: grid;

  grid-template-columns:
    auto
    minmax(0,1fr);

  gap: 15px;

  align-items: start;
}


#nuv2050 .n50-step__number {
  width: 44px;
  height: 44px;

  display: grid;

  place-items: center;

  border-radius: 50%;

  background:
    var(--n50-petrol);

  color: #fff;

  font-size: 13px;

  font-weight: 900;

  box-shadow:
    0 0 0 6px
    rgba(0,95,106,.055);
}


/* =========================================================
   37 · ACCORDION
   ========================================================= */

#nuv2050 .n50-accordion {
  border:
    1px solid
    var(--n50-grey-line);

  border-radius:
    var(--n50-radius-lg);

  overflow: hidden;

  background: #fff;
}


#nuv2050 .n50-accordion details {
  border-bottom:
    1px solid
    var(--n50-grey-line);
}


#nuv2050 .n50-accordion details:last-child {
  border-bottom: 0;
}


#nuv2050 .n50-accordion summary {
  position: relative;

  padding:
    18px
    50px
    18px
    20px;

  list-style: none;

  color:
    var(--n50-anth);

  font-size: 13px;

  font-weight: 800;

  cursor: pointer;
}


#nuv2050 .n50-accordion summary::-webkit-details-marker {
  display: none;
}


#nuv2050 .n50-accordion summary::after {
  content: "+";

  position: absolute;

  right: 20px;
  top: 50%;

  transform:
    translateY(-50%);

  color:
    var(--n50-gold-dark);

  font-size: 20px;

  font-weight: 500;
}


#nuv2050 .n50-accordion details[open]
summary::after {
  content: "−";
}


#nuv2050 .n50-accordion__content {
  padding:
    0 20px 20px;
}


/* =========================================================
   38 · TABLE WRAPPER
   ========================================================= */

#nuv2050 .n50-table-wrap {
  overflow-x: auto;

  border:
    1px solid
    var(--n50-grey-line);

  border-radius:
    var(--n50-radius-lg);

  background: #fff;
}


#nuv2050 .n50-table {
  width: 100%;

  border-collapse: collapse;

  min-width: 650px;
}


#nuv2050 .n50-table th {
  padding:
    13px 16px;

  border-bottom:
    1px solid
    var(--n50-grey-line);

  background:
    var(--n50-grey-ultra);

  color:
    var(--n50-petrol-dark);

  font-size: 13px;

  font-weight: 800;

  letter-spacing: .06em;

  text-align: left;

  text-transform: uppercase;
}


#nuv2050 .n50-table td {
  padding:
    14px 16px;

  border-bottom:
    1px solid
    rgba(217,221,223,.75);

  color:
    var(--n50-grey);

  font-size: 14px;

  vertical-align: middle;
}


#nuv2050 .n50-table tr:last-child td {
  border-bottom: 0;
}


/* =========================================================
   39 · LIST
   ========================================================= */

#nuv2050 .n50-list {
  display: grid;

  gap: 9px;

  margin: 0;

  padding: 0;

  list-style: none;
}


#nuv2050 .n50-list li {
  position: relative;

  padding-left: 20px;

  color:
    var(--n50-grey);

  font-size: 16px;

  line-height: 1.6;
}


#nuv2050 .n50-list li::before {
  content: "";

  position: absolute;

  left: 0;
  top: .68em;

  width: 7px;
  height: 7px;

  border-radius: 50%;

  background:
    var(--n50-gold);

  box-shadow:
    0 0 0 4px
    rgba(212,175,55,.08);
}


/* =========================================================
   40 · DOWNLOAD / RESOURCE ROW
   ========================================================= */

#nuv2050 .n50-resource {
  display: grid;

  grid-template-columns:
    auto
    minmax(0,1fr)
    auto;

  align-items: center;

  gap: 15px;

  padding:
    16px 18px;

  border:
    1px solid
    var(--n50-grey-line);

  border-radius: 15px;

  background: #fff;
}


#nuv2050 .n50-resource__type {
  width: 42px;
  height: 42px;

  display: grid;

  place-items: center;

  border-radius: 12px;

  background:
    rgba(212,175,55,.09);

  color:
    var(--n50-gold-dark);

  font-size: 13px;

  font-weight: 900;
}


/* =========================================================
   41 · EMPTY STATE
   ========================================================= */

#nuv2050 .n50-empty {
  padding:
    42px 26px;

  border:
    1px dashed
    rgba(0,95,106,.22);

  border-radius:
    var(--n50-radius-lg);

  background:
    linear-gradient(
      135deg,
      rgba(0,95,106,.025),
      rgba(212,175,55,.035)
    );

  text-align: center;
}


#nuv2050 .n50-empty__orbit {
  position: relative;

  width: 54px;
  height: 54px;

  margin:
    0 auto 16px;

  border:
    1px solid
    rgba(212,175,55,.36);

  border-radius: 50%;
}


#nuv2050 .n50-empty__orbit::before {
  content: "";

  position: absolute;

  width: 8px;
  height: 8px;

  left: 50%;
  top: 50%;

  transform:
    translate(-50%,-50%);

  border-radius: 50%;

  background:
    var(--n50-gold);
}


/* =========================================================
   42 · QUOTE
   ========================================================= */

#nuv2050 .n50-quote {
  position: relative;

  padding:
    25px
    27px
    25px
    32px;

  border-left:
    3px solid
    var(--n50-gold);

  border-radius:
    0 17px 17px 0;

  background:
    linear-gradient(
      90deg,
      rgba(212,175,55,.055),
      transparent
    );
}


#nuv2050 .n50-quote__text {
  margin: 0;

  color:
    var(--n50-petrol-dark);

  font-size:
    clamp(16px,1.7vw,20px);

  line-height: 1.5;

  font-weight: 700;
}


#nuv2050 .n50-quote__source {
  margin-top: 12px;

  color:
    var(--n50-grey-mid);

  font-size: 13px;

  font-weight: 700;
}


/* =========================================================
   43 · FORM CONTAINER
   ========================================================= */

#nuv2050 .n50-form {
  display: grid;

  gap: 18px;
}


/* =========================================================
   44 · FORM SECTION
   ========================================================= */

#nuv2050 .n50-form-section {
  padding: 25px;

  border:
    1px solid
    var(--n50-grey-line);

  border-radius: 20px;

  background: #fff;

  box-shadow:
    var(--n50-shadow);
}


#nuv2050 .n50-form-head {
  display: grid;

  grid-template-columns:
    auto
    minmax(0,1fr);

  gap: 14px;

  align-items: start;

  margin-bottom: 20px;
}


#nuv2050 .n50-form-number {
  width: 43px;
  height: 43px;

  display: grid;

  place-items: center;

  border-radius: 50%;

  background:
    var(--n50-petrol);

  color: #fff;

  font-size: 14px;

  font-weight: 900;

  box-shadow:
    0 0 0 6px
    rgba(0,95,106,.055);
}


/* =========================================================
   45 · FORM FIELD
   ========================================================= */

#nuv2050 .n50-field {
  display: grid;

  gap: 6px;
}


#nuv2050 .n50-field label {
  color:
    var(--n50-petrol-dark);

  font-size: 13px;

  font-weight: 800;
}


#nuv2050 .n50-field input,
#nuv2050 .n50-field select,
#nuv2050 .n50-field textarea {
  width: 100%;

  padding:
    11px 13px;

  border:
    1px solid
    #CBD3D6;

  border-radius: 12px;

  outline: 0;

  background: #fff;

  color:
    var(--n50-anth);

  font-size: 16px;

  transition:
    border var(--n50-transition),
    box-shadow var(--n50-transition);
}


#nuv2050 .n50-field textarea {
  min-height: 120px;

  resize: vertical;
}


#nuv2050 .n50-field input:focus,
#nuv2050 .n50-field select:focus,
#nuv2050 .n50-field textarea:focus {
  border-color:
    var(--n50-petrol);

  box-shadow:
    0 0 0 3px
    rgba(0,95,106,.08);
}


#nuv2050 .n50-field__help {
  color:
    var(--n50-grey-mid);

  font-size: 13px;

  line-height: 1.5;
}


/* =========================================================
   46 · CHECKBOX / RADIO
   ========================================================= */

#nuv2050 .n50-check {
  display: grid;

  grid-template-columns:
    auto
    minmax(0,1fr);

  gap: 10px;

  align-items: start;

  cursor: pointer;
}


#nuv2050 .n50-check input {
  width: 17px;
  height: 17px;

  margin-top: 2px;

  accent-color:
    var(--n50-petrol);
}


#nuv2050 .n50-check span {
  color:
    var(--n50-grey);

  font-size: 14px;

  line-height: 1.55;
}


/* =========================================================
   47 · SEARCH
   ========================================================= */

#nuv2050 .n50-search {
  display: grid;

  grid-template-columns:
    minmax(0,1fr)
    auto;

  gap: 8px;

  padding: 5px;

  border:
    1px solid
    var(--n50-grey-line);

  border-radius: 15px;

  background: #fff;
}


#nuv2050 .n50-search input {
  min-width: 0;

  padding:
    8px 11px;

  border: 0;

  outline: 0;

  color:
    var(--n50-anth);

  background: transparent;
}


/* =========================================================
   48 · FILTER BAR
   ========================================================= */

#nuv2050 .n50-filterbar {
  display: flex;

  flex-wrap: wrap;

  align-items: center;

  gap: 8px;

  padding:
    12px;

  border:
    1px solid
    var(--n50-grey-line);

  border-radius: 17px;

  background:
    var(--n50-grey-ultra);
}


#nuv2050 .n50-filter {
  padding:
    8px 11px;

  border:
    1px solid
    var(--n50-grey-line);

  border-radius: 10px;

  background: #fff;

  color:
    var(--n50-grey);

  font-size: 13px;

  font-weight: 800;

  cursor: pointer;
}


#nuv2050 .n50-filter.is-active {
  border-color:
    rgba(0,95,106,.24);

  color:
    var(--n50-petrol-dark);

  background:
    rgba(0,95,106,.05);
}


/* =========================================================
   49 · APPLAUSE
   ========================================================= */

#nuv2050 .n50-applause {
  display: inline-flex;

  align-items: center;

  gap: 8px;

  padding:
    8px 12px;

  border:
    1px solid
    rgba(212,175,55,.26);

  border-radius: 999px;

  background:
    rgba(212,175,55,.07);

  color:
    var(--n50-gold-dark);

  font-size: 13px;

  font-weight: 800;
}


/* =========================================================
   50 · CODE / ID
   ========================================================= */

#nuv2050 .n50-code {
  display: inline-flex;

  align-items: center;

  min-height: 28px;

  padding:
    5px 9px;

  border:
    1px solid
    rgba(0,95,106,.12);

  border-radius: 8px;

  background:
    rgba(0,95,106,.035);

  color:
    var(--n50-petrol-deep);

  font-family:
    "Montserrat",
    monospace;

  font-size: 13px;

  font-weight: 800;

  letter-spacing: .04em;
}


/* =========================================================
   51 · USER / ADMIN TOOLBAR
   ========================================================= */

#nuv2050 .n50-toolbar {
  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 16px;

  padding:
    14px 16px;

  border:
    1px solid
    var(--n50-grey-line);

  border-radius: 16px;

  background:
    rgba(255,255,255,.94);

  box-shadow:
    var(--n50-shadow-soft);
}


#nuv2050 .n50-toolbar__left,
#nuv2050 .n50-toolbar__right {
  display: flex;

  align-items: center;

  flex-wrap: wrap;

  gap: 10px;
}


/* =========================================================
   52 · ADMIN LABEL
   NOT A NEW DESIGN SYSTEM
   ========================================================= */

#nuv2050 .n50-admin-label {
  display: inline-flex;

  align-items: center;

  gap: 7px;

  color:
    var(--n50-grey-mid);

  font-size: 13px;

  font-weight: 800;

  letter-spacing: .09em;

  text-transform: uppercase;
}


#nuv2050 .n50-admin-label::before {
  content: "";

  width: 7px;
  height: 7px;

  border-radius: 50%;

  background:
    var(--n50-gold);
}


/* =========================================================
   53 · MINI NAVIGATION
   ========================================================= */

#nuv2050 .n50-subnav {
  display: flex;

  flex-wrap: wrap;

  gap: 6px;

  padding-bottom: 10px;

  border-bottom:
    1px solid
    var(--n50-grey-line);
}


#nuv2050 .n50-subnav a {
  position: relative;

  padding:
    8px 10px;

  color:
    var(--n50-grey);

  font-size: 13px;

  font-weight: 800;

  text-decoration: none;
}


#nuv2050 .n50-subnav a.is-active {
  color:
    var(--n50-petrol-dark);
}


#nuv2050 .n50-subnav a.is-active::after {
  content: "";

  position: absolute;

  left: 10px;
  right: 10px;
  bottom: -11px;

  height: 2px;

  background:
    var(--n50-gold);
}


/* =========================================================
   54 · DATA PAIR
   ========================================================= */

#nuv2050 .n50-data {
  display: grid;

  gap: 12px;
}


#nuv2050 .n50-data-row {
  display: grid;

  grid-template-columns:
    minmax(120px,.7fr)
    minmax(0,1.3fr);

  gap: 20px;

  padding-bottom: 11px;

  border-bottom:
    1px solid
    rgba(217,221,223,.72);
}


#nuv2050 .n50-data-row:last-child {
  border-bottom: 0;

  padding-bottom: 0;
}


#nuv2050 .n50-data-key {
  color:
    var(--n50-grey-mid);

  font-size: 13px;

  font-weight: 800;

  text-transform: uppercase;

  letter-spacing: .04em;
}


#nuv2050 .n50-data-value {
  color:
    var(--n50-anth);

  font-size: 14px;

  font-weight: 700;
}


/* =========================================================
   55 · FEATURE ROW
   ========================================================= */

#nuv2050 .n50-feature {
  display: grid;

  grid-template-columns:
    52px
    minmax(0,1fr);

  gap: 16px;

  align-items: start;
}


#nuv2050 .n50-feature__mark {
  position: relative;

  width: 52px;
  height: 52px;

  border:
    1px solid
    rgba(212,175,55,.32);

  border-radius: 50%;

  background:
    rgba(212,175,55,.055);
}


#nuv2050 .n50-feature__mark::after {
  content: "";

  position: absolute;

  width: 8px;
  height: 8px;

  left: 50%;
  top: 50%;

  transform:
    translate(-50%,-50%);

  border-radius: 50%;

  background:
    var(--n50-petrol);
}


/* =========================================================
   56 · SPLIT CONTENT
   ========================================================= */

#nuv2050 .n50-split {
  display: grid;

  grid-template-columns:
    minmax(0,1fr)
    minmax(300px,.8fr);

  gap: 34px;

  align-items: center;
}


#nuv2050 .n50-split__media {
  overflow: hidden;

  border-radius:
    var(--n50-radius-lg);

  box-shadow:
    var(--n50-shadow);
}


#nuv2050 .n50-split__media img {
  width: 100%;

  aspect-ratio: 4 / 3;

  object-fit: cover;
}


/* =========================================================
   57 · IMPACT / NUMBER STRIP
   ========================================================= */

#nuv2050 .n50-impact-strip {
  display: grid;

  grid-template-columns:
    repeat(4,minmax(0,1fr));

  overflow: hidden;

  border:
    1px solid
    var(--n50-grey-line);

  border-radius:
    var(--n50-radius-lg);

  background: #fff;
}


#nuv2050 .n50-impact-item {
  position: relative;

  padding:
    21px;
}


#nuv2050 .n50-impact-item +
.n50-impact-item::before {
  content: "";

  position: absolute;

  left: 0;
  top: 18px;
  bottom: 18px;

  width: 1px;

  background:
    var(--n50-grey-line);
}


/* =========================================================
   58 · LOCKED CONTENT
   ========================================================= */

#nuv2050 .n50-locked {
  position: relative;

  padding: 26px;

  overflow: hidden;

  border:
    1px solid
    rgba(0,95,106,.12);

  border-radius:
    var(--n50-radius-lg);

  background:
    linear-gradient(
      135deg,
      rgba(0,95,106,.025),
      rgba(212,175,55,.035)
    );
}


#nuv2050 .n50-locked::after {
  content: "LOCKED";

  position: absolute;

  right: 15px;
  bottom: -5px;

  color:
    rgba(0,63,71,.035);

  font-size: 45px;

  font-weight: 900;

  letter-spacing: -.04em;
}


/* =========================================================
   59 · SKELETON / LOADING
   ========================================================= */

#nuv2050 .n50-skeleton {
  position: relative;

  overflow: hidden;

  height: 13px;

  border-radius: 999px;

  background:
    #EDF0F1;
}


#nuv2050 .n50-skeleton::after {
  content: "";

  position: absolute;

  inset: 0;

  transform:
    translateX(-100%);

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(255,255,255,.75),
      transparent
    );

  animation:
    n50Skeleton 1.5s
    infinite;
}


@keyframes n50Skeleton {

  100% {
    transform:
      translateX(100%);
  }

}


/* =========================================================
   60 · RESPONSIVE · TABLET
   ========================================================= */

@media (max-width: 1024px) {

  #nuv2050 .n50-wrap,
  #nuv2050 .n50-wrap--narrow {
    width:
      calc(100% - 38px);
  }


  #nuv2050 .n50-grid-5 {
    grid-template-columns:
      repeat(3,minmax(0,1fr));
  }


  #nuv2050 .n50-grid-4,
  #nuv2050 .n50-grid-3 {
    grid-template-columns:
      repeat(2,minmax(0,1fr));
  }


  #nuv2050 .n50-impact-strip {
    grid-template-columns:
      repeat(2,minmax(0,1fr));
  }


  #nuv2050 .n50-impact-item:nth-child(3)::before {
    display: none;
  }

}


/* =========================================================
   61 · RESPONSIVE · MOBILE
   ========================================================= */

@media (max-width: 700px) {

  #nuv2050 .n50-wrap,
  #nuv2050 .n50-wrap--narrow {
    width:
      calc(100% - 28px);
  }


  #nuv2050 .n50-section {
    margin-bottom: 44px;
  }


  #nuv2050 .n50-section--large {
    margin-bottom: 54px;
  }


  #nuv2050 .n50-pagehero,
  #nuv2050 .n50-pagehero--image {
    min-height: 0;

    grid-template-columns: 1fr;

    padding:
      28px 23px;

    border-radius: 19px;
  }


  #nuv2050 .n50-pagehero__mark {
    display: none;
  }


  #nuv2050 .n50-pagehero__image {
    min-height: 190px;
  }


  #nuv2050 .n50-pagehero::after {
    font-size: 68px;

    bottom: -15px;
  }


  #nuv2050 .n50-livebar {
    width: 100%;
  }


  #nuv2050 .n50-liveitem {
    flex:
      1 1
      calc(50% - 1px);

    min-width: 0;
  }


  #nuv2050 .n50-liveitem:nth-child(3)::before {
    display: none;
  }


  #nuv2050 .n50-grid-2,
  #nuv2050 .n50-grid-3,
  #nuv2050 .n50-grid-4,
  #nuv2050 .n50-grid-5,
  #nuv2050 .n50-split,
  #nuv2050 .n50-cta {
    grid-template-columns: 1fr;
  }


  #nuv2050 .n50-level {
    min-height: 0;
  }


  #nuv2050 .n50-toolbar {
    align-items: flex-start;

    flex-direction: column;
  }


  #nuv2050 .n50-impact-strip {
    grid-template-columns: 1fr;
  }


  #nuv2050 .n50-impact-item +
  .n50-impact-item::before {
    top: 0;
    bottom: auto;

    left: 18px;
    right: 18px;

    width: auto;
    height: 1px;
  }


  #nuv2050 .n50-resource {
    grid-template-columns:
      auto
      minmax(0,1fr);
  }


  #nuv2050 .n50-resource
  > .n50-btn {
    grid-column:
      1 / -1;
  }

}


/* =========================================================
   62 · RESPONSIVE · SMALL MOBILE
   ========================================================= */

@media (max-width: 480px) {

  #nuv2050 .n50-wrap,
  #nuv2050 .n50-wrap--narrow {
    width:
      calc(100% - 22px);
  }


  #nuv2050 .n50-card,
  #nuv2050 .n50-form-section {
    padding: 21px;
  }


  #nuv2050 .n50-media-card {
    padding: 0;
  }


  #nuv2050 .n50-media-card__body {
    padding:
      20px 21px 22px;
  }


  #nuv2050 .n50-btn {
    width: 100%;

    grid-template-columns:
      minmax(0,1fr)
      34px;
  }


  #nuv2050 .n50-btn__label {
    text-align: left;
  }


  #nuv2050 .n50-actions {
    align-items: stretch;

    flex-direction: column;
  }


  #nuv2050 .n50-profile {
    grid-template-columns: 1fr;
  }


  #nuv2050 .n50-data-row {
    grid-template-columns: 1fr;

    gap: 4px;
  }


  #nuv2050 .n50-tabs {
    width: 100%;
  }


  #nuv2050 .n50-tab {
    flex: 1 1 auto;
  }

}


/* =========================================================
   63 · ACCESSIBILITY
   ========================================================= */

#nuv2050 a:focus-visible,
#nuv2050 button:focus-visible,
#nuv2050 input:focus-visible,
#nuv2050 select:focus-visible,
#nuv2050 textarea:focus-visible,
#nuv2050 summary:focus-visible {
  outline:
    3px solid
    rgba(212,175,55,.34);

  outline-offset: 3px;
}


/* =========================================================
   64 · REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

  #nuv2050 *,
  #nuv2050 *::before,
  #nuv2050 *::after {
    animation: none !important;

    transition: none !important;
  }

}



/* =========================================================
   65 · INTERFACE STATUS + BADGE SYSTEM 2050 · MASTER FINAL
   Verbindlich: keine Pill-/Bubble-Optik für Status und Badges.
   Lesbarkeit: Status/Badges 13–14 px, Interface-Text 16 px.
   ========================================================= */
#nuv2050 .n50-status,
#nuv2050 .n50-badge,
#nuv2050 .n50-code,
#nuv2050 .n50-applause {
  min-height: 38px;
  padding: 9px 12px;
  border-radius: 8px;
  font-size: 13px;
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: .035em;
}
#nuv2050 .n50-status { gap: 9px; border: 1px solid currentColor; background:#fff; }
#nuv2050 .n50-status::before { width:8px; height:8px; flex:0 0 8px; border-radius:2px; }
#nuv2050 .n50-status--active { color:var(--n50-success); background:var(--n50-success-soft); }
#nuv2050 .n50-status--pending { color:var(--n50-warning); background:var(--n50-warning-soft); }
#nuv2050 .n50-status--inactive { color:var(--n50-grey); background:rgba(87,87,89,.055); }
#nuv2050 .n50-status--error { color:var(--n50-danger); background:var(--n50-danger-soft); }
#nuv2050 .n50-badges { gap:10px; }
#nuv2050 .n50-badge { border-radius:8px; background:#fff; border-color:rgba(0,95,106,.18); }
#nuv2050 .n50-badge--gold { background:rgba(212,175,55,.08); border-color:rgba(212,175,55,.34); }
#nuv2050 .n50-badge--europe { background:var(--n50-violet-soft); border-color:rgba(104,32,112,.26); color:var(--n50-violet-dark); }
#nuv2050 .n50-code { min-height:38px; border-radius:8px; font-size:13px; background:rgba(0,95,106,.04); }
#nuv2050 .n50-applause { min-height:38px; border-radius:8px; font-size:13px; }

#nuv2050 .n50-system-panel {
  display:grid; grid-template-columns:minmax(0,1fr) auto; gap:22px; align-items:center;
  padding:22px 24px; border:1px solid rgba(0,95,106,.16); border-radius:12px;
  background:linear-gradient(135deg,#fff,#F7FAFA); box-shadow:var(--n50-shadow-soft);
}
#nuv2050 .n50-system-panel__eyebrow { color:var(--n50-grey-mid); font-size:13px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
#nuv2050 .n50-system-panel__title { margin:5px 0 4px; color:var(--n50-anth); font-size:20px; line-height:1.25; font-weight:800; }
#nuv2050 .n50-system-panel__text { margin:0; color:var(--n50-grey); font-size:16px; line-height:1.55; }
#nuv2050 .n50-system-panel__state { display:flex; align-items:center; gap:10px; min-height:42px; padding:10px 13px; border:1px solid rgba(15,118,110,.25); border-radius:8px; color:var(--n50-success); background:var(--n50-success-soft); font-size:14px; font-weight:800; white-space:nowrap; }
#nuv2050 .n50-system-panel__state::before { content:""; width:9px; height:9px; border-radius:2px; background:currentColor; }

#nuv2050 .n50-achievements { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; }
#nuv2050 .n50-achievement { position:relative; min-height:132px; padding:18px; border:1px solid var(--n50-grey-line); border-radius:12px; background:#fff; }
#nuv2050 .n50-achievement__index { margin-bottom:18px; color:var(--n50-gold-dark); font-size:13px; font-weight:900; letter-spacing:.06em; }
#nuv2050 .n50-achievement__name { color:var(--n50-anth); font-size:16px; line-height:1.25; font-weight:800; }
#nuv2050 .n50-achievement__meta { margin-top:6px; color:var(--n50-grey); font-size:13px; line-height:1.4; font-weight:700; }
#nuv2050 .n50-achievement--europe { border-color:rgba(104,32,112,.28); background:linear-gradient(145deg,#fff,var(--n50-violet-soft)); }
#nuv2050 .n50-achievement--europe .n50-achievement__index,
#nuv2050 .n50-achievement--europe .n50-achievement__name { color:var(--n50-violet-dark); }

/* Readability baseline for operational UI */
#nuv2050 .n50-body,
#nuv2050 .n50-intro,
#nuv2050 .n50-system-panel__text { font-size:16px; }
#nuv2050 .n50-small,
#nuv2050 .n50-label,
#nuv2050 .n50-meta__item,
#nuv2050 .n50-data-key,
#nuv2050 .n50-stat__label,
#nuv2050 .n50-progress-head,
#nuv2050 .n50-field label,
#nuv2050 .n50-field__help,
#nuv2050 .n50-breadcrumb,
#nuv2050 .n50-tab,
#nuv2050 .n50-filter,
#nuv2050 .n50-subnav a { font-size:13px; }
#nuv2050 .n50-data-value,
#nuv2050 .n50-table td,
#nuv2050 .n50-check span { font-size:14px; }
#nuv2050 .n50-btn { font-size:14px; min-height:50px; }
#nuv2050 .n50-liveitem__label { font-size:13px; }

@media (max-width:1024px) { #nuv2050 .n50-achievements { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:700px) { #nuv2050 .n50-achievements { grid-template-columns:1fr 1fr; } #nuv2050 .n50-system-panel { grid-template-columns:1fr; } }
@media (max-width:480px) { #nuv2050 .n50-achievements { grid-template-columns:1fr; } }



/* =========================================================
   2050 FINAL OVERRIDE · SIGNAL TRANSFER INTERFACE
   Verbindlich: Buttons + Status + Badges + System Data
   ========================================================= */

/* --- BUTTONS: text above, animated energy line below --- */
#nuv2050 .n50-btn {
  --btn-accent: var(--n50-gold);
  --btn-text: var(--n50-petrol-dark);
  --btn-line-start: var(--n50-gold);
  --btn-line-end: var(--n50-petrol);
  position: relative;
  isolation: isolate;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  min-width: 188px;
  min-height: 52px;
  padding: 12px 16px 13px;
  overflow: hidden;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: var(--btn-text) !important;
  font-size: 14px;
  line-height: 1.1;
  font-weight: 800;
  letter-spacing: .055em;
  text-transform: uppercase;
  text-decoration: none !important;
  box-shadow: none;
  cursor: pointer;
  transition: color .24s ease, transform .24s ease, background .24s ease;
}
#nuv2050 .n50-btn::before {
  content: "";
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 8px;
  height: 1px;
  background: rgba(0,95,106,.16);
  transform: none;
  transition: none;
}
#nuv2050 .n50-btn::after {
  content: "";
  position: absolute;
  left: 16px;
  bottom: 7px;
  width: 42px;
  height: 2px;
  border-radius: 0;
  background: linear-gradient(90deg,var(--btn-line-start),var(--btn-line-end));
  transform: scaleX(1);
  transform-origin: left center;
  opacity: 1;
  transition: width .42s cubic-bezier(.2,.8,.2,1), opacity .24s ease;
}
#nuv2050 .n50-btn__label {
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
  white-space: nowrap;
}
#nuv2050 .n50-btn__node { display:none; }
#nuv2050 .n50-btn:hover,
#nuv2050 .n50-btn:focus-visible {
  transform: translateY(-1px);
  box-shadow: none;
  background: linear-gradient(90deg,rgba(0,95,106,.025),transparent 72%);
}
#nuv2050 .n50-btn:hover::before,
#nuv2050 .n50-btn:focus-visible::before { left:16px; }
#nuv2050 .n50-btn:hover::after,
#nuv2050 .n50-btn:focus-visible::after { width: calc(100% - 32px); transform:scaleX(1); }

/* 01 STANDARD / LINK */
#nuv2050 .n50-btn { --btn-line-start: var(--n50-gold); --btn-line-end: var(--n50-petrol); }
/* 02 PRIMARY / SEND */
#nuv2050 .n50-btn--gold {
  --btn-text: var(--n50-petrol-deep);
  --btn-line-start: var(--n50-gold);
  --btn-line-end: #F0D982;
  background: linear-gradient(90deg,rgba(212,175,55,.055),transparent 72%);
  box-shadow:none;
}
/* 03 OPEN / LOGIN */
#nuv2050 .n50-btn--dark {
  --btn-text: var(--n50-petrol-deep);
  --btn-line-start: var(--n50-petrol);
  --btn-line-end: var(--n50-gold);
  background: linear-gradient(90deg,rgba(0,95,106,.055),transparent 72%);
  box-shadow:none;
}
/* 04 SECONDARY */
#nuv2050 .n50-btn--quiet {
  --btn-text: var(--n50-grey);
  --btn-line-start: rgba(0,95,106,.55);
  --btn-line-end: rgba(212,175,55,.8);
  background:transparent;
  box-shadow:none;
}
/* 05 DANGER */
#nuv2050 .n50-btn--danger {
  --btn-text: var(--n50-danger);
  --btn-line-start: var(--n50-danger);
  --btn-line-end: rgba(165,42,42,.25);
  background:transparent;
}
/* 06 EUROPE */
#nuv2050 .n50-btn--europe {
  --btn-text: var(--n50-violet-dark);
  --btn-line-start: var(--n50-violet);
  --btn-line-end: var(--n50-gold);
  background: linear-gradient(90deg,rgba(104,32,112,.045),transparent 72%);
}
#nuv2050 .n50-btn[disabled],#nuv2050 .n50-btn.is-disabled { opacity:.34; pointer-events:none; transform:none; }

/* --- STATUS: flat interface rails, no pills --- */
#nuv2050 .n50-status {
  --status-accent: var(--n50-petrol);
  position:relative;
  display:inline-flex;
  align-items:center;
  width:max-content;
  min-height:34px;
  padding:8px 12px 8px 18px;
  border:1px solid rgba(37,40,42,.10);
  border-radius:4px;
  background:rgba(255,255,255,.82);
  color:var(--n50-anth);
  font-size:14px;
  line-height:1.15;
  font-weight:800;
  letter-spacing:.045em;
  text-transform:uppercase;
  box-shadow:0 5px 18px rgba(37,40,42,.025);
}
#nuv2050 .n50-status::before {
  content:"";
  position:absolute;
  left:0; top:6px; bottom:6px;
  width:3px; height:auto;
  border-radius:0;
  background:var(--status-accent);
}
#nuv2050 .n50-status--active { --status-accent:var(--n50-success); color:var(--n50-success); background:linear-gradient(90deg,rgba(15,118,110,.055),#fff 62%); }
#nuv2050 .n50-status--pending { --status-accent:var(--n50-warning); color:var(--n50-warning); background:linear-gradient(90deg,rgba(154,101,0,.055),#fff 62%); }
#nuv2050 .n50-status--inactive { --status-accent:var(--n50-grey-mid); color:var(--n50-grey); background:linear-gradient(90deg,rgba(87,87,89,.045),#fff 62%); }
#nuv2050 .n50-status--error { --status-accent:var(--n50-danger); color:var(--n50-danger); background:linear-gradient(90deg,rgba(165,42,42,.05),#fff 62%); }

/* --- BADGES: achievement interface, same visual grammar --- */
#nuv2050 .n50-badges { display:flex; flex-wrap:wrap; gap:10px; }
#nuv2050 .n50-badge {
  --badge-accent:var(--n50-petrol);
  position:relative;
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:9px 13px 9px 18px;
  border:1px solid rgba(0,95,106,.12);
  border-radius:4px;
  background:linear-gradient(90deg,rgba(0,95,106,.035),#fff 70%);
  color:var(--n50-petrol-dark);
  font-size:14px;
  line-height:1.1;
  font-weight:800;
  letter-spacing:.045em;
  text-transform:uppercase;
}
#nuv2050 .n50-badge::before {
  content:"";
  position:absolute;
  left:0; top:7px; bottom:7px;
  width:3px;
  background:var(--badge-accent);
}
#nuv2050 .n50-badge::after {
  content:"";
  position:absolute;
  left:18px; right:13px; bottom:5px;
  height:1px;
  background:linear-gradient(90deg,var(--badge-accent),transparent);
  opacity:.35;
}
#nuv2050 .n50-badge--gold { --badge-accent:var(--n50-gold); border-color:rgba(212,175,55,.25); background:linear-gradient(90deg,rgba(212,175,55,.06),#fff 70%); color:var(--n50-gold-dark); }
#nuv2050 .n50-badge--europe { --badge-accent:var(--n50-violet); border-color:rgba(104,32,112,.18); background:linear-gradient(90deg,rgba(104,32,112,.055),#fff 70%); color:var(--n50-violet-dark); }

/* --- SYSTEM DATA: IDs / XP / live values follow the same interface --- */
#nuv2050 .n50-code,
#nuv2050 .n50-systemdata {
  --data-accent:var(--n50-gold);
  position:relative;
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:8px 12px 8px 18px;
  border:1px solid rgba(0,95,106,.11);
  border-radius:4px;
  background:linear-gradient(90deg,rgba(0,95,106,.025),#fff 72%);
  color:var(--n50-petrol-deep);
  font-family:"Montserrat",Arial,sans-serif;
  font-size:14px;
  line-height:1.15;
  font-weight:800;
  letter-spacing:.035em;
}
#nuv2050 .n50-code::before,
#nuv2050 .n50-systemdata::before {
  content:"";
  position:absolute;
  left:0; top:6px; bottom:6px;
  width:3px;
  background:var(--data-accent);
}
#nuv2050 .n50-systemdata--xp { --data-accent:var(--n50-gold); }
#nuv2050 .n50-systemdata--live { --data-accent:var(--n50-success); }
#nuv2050 .n50-systemdata--europe { --data-accent:var(--n50-violet); color:var(--n50-violet-dark); }

/* Data rows become calm interface rows */
#nuv2050 .n50-data { gap:8px; }
#nuv2050 .n50-data-row {
  position:relative;
  padding:12px 14px 12px 18px;
  border:1px solid rgba(37,40,42,.075);
  border-radius:4px;
  background:linear-gradient(90deg,rgba(0,95,106,.018),#fff 70%);
}
#nuv2050 .n50-data-row::before {
  content:"";
  position:absolute;
  left:0; top:8px; bottom:8px;
  width:2px;
  background:linear-gradient(180deg,var(--n50-gold),var(--n50-petrol));
}
#nuv2050 .n50-data-key { font-size:13px; }
#nuv2050 .n50-data-value { font-size:16px; }

/* Responsive: buttons keep one system and become usable touch targets */
@media (max-width:700px) {
  #nuv2050 .n50-btn { min-width:0; min-height:54px; }
  #nuv2050 .n50-status,#nuv2050 .n50-badge,#nuv2050 .n50-code,#nuv2050 .n50-systemdata { font-size:13px; }
}
@media (max-width:480px) {
  #nuv2050 .n50-btn { width:100%; }
  #nuv2050 .n50-btn__label { text-align:left; }
}



/* =========================================================
   65 · FINAL 2050 INTERFACE OVERRIDES · V3
   VERBINDLICH:
   · SIGNAL TRANSFER BUTTONS
   · INTERFACE STATUS / BADGES / SYSTEM DATA
   · ALLE LIVE-DATEN IN DUNKELGOLD #8A680B
   ========================================================= */

/* ---------- LIVE DATA · DARK GOLD SIGNATURE ---------- */
#nuv2050 .n50-livebar {
  gap: 0;
  border: 1px solid rgba(138,104,11,.30);
  border-radius: 10px;
  background: rgba(138,104,11,.90);
  box-shadow: 0 12px 30px rgba(138,104,11,.15);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
#nuv2050 .n50-liveitem {
  color: #fff;
  background: transparent;
}
#nuv2050 .n50-liveitem + .n50-liveitem::before {
  background: rgba(255,255,255,.22);
}
#nuv2050 .n50-liveitem__value,
#nuv2050 .n50-liveitem__label { color: #fff; }
#nuv2050 .n50-liveitem__label { opacity: .82; }
#nuv2050 .n50-live-dot {
  border-radius: 2px;
  background: #fff;
  box-shadow: 0 0 0 4px rgba(255,255,255,.12);
}

/* ---------- BUTTON SYSTEM · SIGNAL TRANSFER 2050 ---------- */
#nuv2050 .n50-btn {
  --btn-accent: var(--n50-petrol);
  position: relative;
  isolation: isolate;
  display: inline-flex;
  align-items: flex-start;
  justify-content: flex-start;
  width: 190px;
  min-width: 190px;
  max-width: 100%;
  min-height: 52px;
  padding: 11px 12px 14px;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--n50-petrol-dark) !important;
  font-size: 14px;
  line-height: 1.15;
  font-weight: 800;
  letter-spacing: .055em;
  text-transform: uppercase;
  text-decoration: none !important;
  box-shadow: none;
  cursor: pointer;
  transition: color var(--n50-transition), transform var(--n50-transition);
}
#nuv2050 .n50-btn::before {
  content: "";
  position: absolute;
  z-index: 0;
  left: 12px;
  right: 12px;
  bottom: 8px;
  height: 1px;
  background: rgba(0,95,106,.18);
  transform: none;
  transition: none;
}
#nuv2050 .n50-btn::after {
  content: "";
  position: absolute;
  z-index: 1;
  left: 12px;
  bottom: 7px;
  width: 42px;
  height: 3px;
  border-radius: 0;
  background: var(--btn-accent);
  transform: scaleX(.62);
  transform-origin: left center;
  opacity: 1;
  transition: width .42s cubic-bezier(.2,.8,.2,1), transform .42s cubic-bezier(.2,.8,.2,1);
}
#nuv2050 .n50-btn__label {
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
  white-space: normal;
  text-align: left;
}
#nuv2050 .n50-btn__node { display: none !important; }
#nuv2050 .n50-btn:hover,
#nuv2050 .n50-btn:focus-visible {
  transform: translateY(-1px);
  box-shadow: none;
}
#nuv2050 .n50-btn:hover::after,
#nuv2050 .n50-btn:focus-visible::after {
  width: calc(100% - 24px);
  transform: scaleX(1);
}
#nuv2050 .n50-btn--gold {
  --btn-accent: var(--n50-gold-dark);
  background: transparent;
  color: var(--n50-gold-dark) !important;
  box-shadow: none;
}
#nuv2050 .n50-btn--dark {
  --btn-accent: var(--n50-gold-dark);
  background: transparent;
  color: var(--n50-petrol-deep) !important;
  box-shadow: none;
}
#nuv2050 .n50-btn--quiet {
  --btn-accent: rgba(0,95,106,.52);
  background: transparent;
  color: var(--n50-grey) !important;
  box-shadow: none;
}
#nuv2050 .n50-btn--danger {
  --btn-accent: var(--n50-danger);
  color: var(--n50-danger) !important;
}
#nuv2050 .n50-btn--europe {
  --btn-accent: var(--n50-violet);
  color: var(--n50-violet-dark) !important;
}
#nuv2050 .n50-btn[disabled],
#nuv2050 .n50-btn.is-disabled {
  opacity: .36;
  pointer-events: none;
  transform: none;
}

/* ---------- STATUS · SAME INTERFACE LANGUAGE ---------- */
#nuv2050 .n50-status {
  --status-accent: var(--n50-grey-mid);
  position: relative;
  display: inline-flex;
  align-items: center;
  width: auto;
  min-height: 38px;
  padding: 9px 12px 11px 17px;
  overflow: hidden;
  border: 1px solid rgba(37,40,42,.10);
  border-radius: 7px;
  background: rgba(255,255,255,.86);
  color: var(--n50-anth);
  font-size: 14px;
  line-height: 1.15;
  font-weight: 800;
  letter-spacing: .045em;
  text-transform: uppercase;
}
#nuv2050 .n50-status::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  bottom: 7px;
  width: 3px;
  height: auto;
  border-radius: 0;
  background: var(--status-accent);
}
#nuv2050 .n50-status::after {
  content: "";
  position: absolute;
  left: 17px;
  bottom: 6px;
  width: 28px;
  height: 1px;
  background: var(--status-accent);
  opacity: .55;
}
#nuv2050 .n50-status--active { --status-accent: var(--n50-success); color: var(--n50-success); background: #fff; }
#nuv2050 .n50-status--pending { --status-accent: var(--n50-gold-dark); color: var(--n50-gold-dark); background: #fff; }
#nuv2050 .n50-status--inactive { --status-accent: var(--n50-grey-mid); color: var(--n50-grey); background: #fff; }
#nuv2050 .n50-status--error { --status-accent: var(--n50-danger); color: var(--n50-danger); background: #fff; }

/* ---------- BADGES · LEVEL INTERFACE ---------- */
#nuv2050 .n50-badges { gap: 10px; }
#nuv2050 .n50-badge {
  --badge-accent: var(--n50-petrol);
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 9px 13px 11px 18px;
  overflow: hidden;
  border: 1px solid rgba(0,95,106,.13);
  border-radius: 7px;
  background: #fff;
  color: var(--n50-petrol-dark);
  font-size: 14px;
  line-height: 1.15;
  font-weight: 800;
  letter-spacing: .045em;
  text-transform: uppercase;
}
#nuv2050 .n50-badge::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  bottom: 7px;
  width: 3px;
  background: var(--badge-accent);
}
#nuv2050 .n50-badge::after {
  content: "";
  position: absolute;
  left: 18px;
  bottom: 6px;
  width: 30px;
  height: 1px;
  background: var(--badge-accent);
  opacity: .55;
}
#nuv2050 .n50-badge--gold {
  --badge-accent: var(--n50-gold-dark);
  border-color: rgba(138,104,11,.20);
  background: #fff;
  color: var(--n50-gold-dark);
}
#nuv2050 .n50-badge--europe {
  --badge-accent: var(--n50-violet);
  border-color: rgba(104,32,112,.18);
  background: #fff;
  color: var(--n50-violet-dark);
}

/* ---------- SYSTEM DATA · SIGNAL DATA ---------- */
#nuv2050 .n50-code,
#nuv2050 .n50-system-data {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 9px 13px 11px 18px;
  overflow: hidden;
  border: 1px solid rgba(138,104,11,.18);
  border-radius: 7px;
  background: #fff;
  color: var(--n50-gold-dark);
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 14px;
  line-height: 1.15;
  font-weight: 800;
  letter-spacing: .045em;
}
#nuv2050 .n50-code::before,
#nuv2050 .n50-system-data::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  bottom: 7px;
  width: 3px;
  background: var(--n50-gold-dark);
}
#nuv2050 .n50-code::after,
#nuv2050 .n50-system-data::after {
  content: "";
  position: absolute;
  left: 18px;
  bottom: 6px;
  width: 30px;
  height: 1px;
  background: var(--n50-gold-dark);
  opacity: .55;
}
#nuv2050 .n50-applause {
  position: relative;
  min-height: 40px;
  padding: 9px 13px 11px 18px;
  overflow: hidden;
  border: 1px solid rgba(138,104,11,.18);
  border-radius: 7px;
  background: #fff;
  color: var(--n50-gold-dark);
  font-size: 14px;
  font-weight: 800;
}
#nuv2050 .n50-applause::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  bottom: 7px;
  width: 3px;
  background: var(--n50-gold-dark);
}

/* ---------- SYSTEM PANEL · QUIET 2050 ---------- */
#nuv2050 .n50-system-panel {
  position: relative;
  overflow: hidden;
  border-radius: 10px;
  border-color: rgba(0,95,106,.14);
  background: linear-gradient(135deg,#fff,#F8FAFA);
}
#nuv2050 .n50-system-panel::before {
  content: "";
  position: absolute;
  left: 0;
  top: 18px;
  bottom: 18px;
  width: 3px;
  background: var(--n50-gold-dark);
}
#nuv2050 .n50-system-panel__state {
  position: relative;
  overflow: hidden;
  min-height: 42px;
  padding: 10px 13px 12px 18px;
  border: 1px solid rgba(15,118,110,.18);
  border-radius: 7px;
  background: #fff;
  color: var(--n50-success);
  font-size: 14px;
  font-weight: 800;
}
#nuv2050 .n50-system-panel__state::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  bottom: 7px;
  width: 3px;
  height: auto;
  border-radius: 0;
  background: currentColor;
}

/* ---------- ACHIEVEMENTS · SAME PRECISION ---------- */
#nuv2050 .n50-achievement {
  border-radius: 10px;
  box-shadow: none;
}
#nuv2050 .n50-achievement::before {
  content: "";
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 10px;
  height: 1px;
  background: linear-gradient(90deg,var(--n50-gold-dark),transparent 72%);
  opacity: .45;
}
#nuv2050 .n50-achievement--europe::before {
  background: linear-gradient(90deg,var(--n50-violet),transparent 72%);
}

/* ---------- MOBILE ---------- */
@media (max-width:700px) {
  #nuv2050 .n50-btn { width: 100%; min-width: 0; }
  #nuv2050 .n50-livebar { border-radius: 8px; }
  #nuv2050 .n50-system-panel { grid-template-columns: 1fr; }
}


/* =========================================================
   65 · LIVE DATA RESPONSIVE · FINAL RULE
   Dark gold values · no background
   ========================================================= */
@media (max-width: 700px) {
  #nuv2050 .n50-livebar {
    width: 100%;
    gap: 0;
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  #nuv2050 .n50-liveitem {
    min-width: 0;
    padding: 12px 16px 12px 0;
  }
  #nuv2050 .n50-liveitem + .n50-liveitem::before {
    left: -10px;
    top: 12px;
    bottom: 12px;
  }
  #nuv2050 .n50-liveitem:nth-child(3)::before { display: none; }
}

@media (max-width: 480px) {
  #nuv2050 .n50-liveitem__value { font-size: 16px; }
  #nuv2050 .n50-liveitem__label { font-size: 12px; }
}



/* =========================================================
   66 · MASTER FINAL V4 · ORBIT STEPS + FORM STEPS + LIVE DATA
   VERBINDLICH AB 27.09.2026
   ========================================================= */

/* ---------------------------------------------------------
   LIVE DATA · DARK GOLD · NO BACKGROUND
   API / D1 / dynamic values are always dark gold typography.
   --------------------------------------------------------- */
#nuv2050 .n50-livebar {
  display: flex;
  flex-wrap: wrap;
  width: max-content;
  max-width: 100%;
  gap: 28px;
  margin-top: 24px;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

#nuv2050 .n50-liveitem {
  position: relative;
  min-width: 108px;
  padding: 0 22px 0 0;
  color: var(--n50-gold-dark);
  background: transparent;
}

#nuv2050 .n50-liveitem + .n50-liveitem::before {
  content: "";
  position: absolute;
  left: -14px;
  top: 3px;
  bottom: 3px;
  width: 1px;
  background: rgba(138,104,11,.22);
}

#nuv2050 .n50-liveitem__value,
#nuv2050 .n50-liveitem__label,
#nuv2050 .n50-live-data,
#nuv2050 .n50-stat--live .n50-stat__value {
  color: var(--n50-gold-dark) !important;
}

#nuv2050 .n50-liveitem__value {
  display: block;
  font-size: 17px;
  line-height: 1.05;
  font-weight: 900;
  letter-spacing: -.02em;
}

#nuv2050 .n50-liveitem__label {
  display: block;
  margin-top: 5px;
  font-size: 13px;
  line-height: 1.3;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
  opacity: .78;
}

#nuv2050 .n50-liveitem--status {
  display: flex;
  align-items: center;
  gap: 9px;
}

#nuv2050 .n50-live-dot {
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  border-radius: 2px;
  background: var(--n50-gold-dark);
  box-shadow: 0 0 0 4px rgba(138,104,11,.08);
}

/* ---------------------------------------------------------
   STEP ORBIT 2050
   Round, quiet, technical. Gold outer ring + light petrol core.
   --------------------------------------------------------- */
#nuv2050 .n50-step {
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  gap: 17px;
  align-items: start;
}

#nuv2050 .n50-step__number,
#nuv2050 .n50-form-number {
  position: relative;
  isolation: isolate;
  width: 58px;
  height: 58px;
  flex: 0 0 58px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(138,104,11,.46);
  border-radius: 50%;
  background: transparent;
  color: var(--n50-petrol-deep);
  font-size: 14px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: .025em;
  box-shadow: none;
}

#nuv2050 .n50-step__number::before,
#nuv2050 .n50-form-number::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 7px;
  border: 1px solid rgba(0,95,106,.14);
  border-radius: 50%;
  background: rgba(0,95,106,.065);
}

#nuv2050 .n50-step__number::after,
#nuv2050 .n50-form-number::after {
  content: "";
  position: absolute;
  right: 2px;
  top: 10px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--n50-gold-dark);
  opacity: .58;
}

/* ---------------------------------------------------------
   FORM HEAD · SAME ORBIT LANGUAGE
   --------------------------------------------------------- */
#nuv2050 .n50-form-head {
  display: grid;
  grid-template-columns: 58px minmax(0,1fr);
  gap: 17px;
  align-items: start;
  margin-bottom: 20px;
}

/* ---------------------------------------------------------
   MOBILE · ORBITS + LIVE DATA
   --------------------------------------------------------- */
@media (max-width:700px) {
  #nuv2050 .n50-livebar {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 0 20px;
  }

  #nuv2050 .n50-liveitem {
    min-width: 0;
    padding: 10px 14px 10px 0;
  }

  #nuv2050 .n50-liveitem + .n50-liveitem::before {
    left: -10px;
    top: 10px;
    bottom: 10px;
    background: rgba(138,104,11,.20);
  }

  #nuv2050 .n50-liveitem:nth-child(3)::before {
    display: none;
  }
}

@media (max-width:480px) {
  #nuv2050 .n50-step__number,
  #nuv2050 .n50-form-number {
    width: 54px;
    height: 54px;
    flex-basis: 54px;
    font-size: 14px;
  }

  #nuv2050 .n50-form-head {
    grid-template-columns: 54px minmax(0,1fr);
  }

  #nuv2050 .n50-liveitem__value { font-size: 16px; }
  #nuv2050 .n50-liveitem__label { font-size: 13px; }
}




/* =========================================================
   67 · SELECTIVE LIGHT SURFACES 2050 · FINAL V5
   VERBINDLICH AB 27.09.2026

   GRUNDREGEL:
   Neutral ist Standard. Gradient bedeutet Bedeutung.

   Der REGION-Look wird NICHT auf jede Karte gelegt.
   Nur bewusst hervorgehobene Inhalts-, Statement- oder
   Key-Flächen erhalten den weichen Petrol/Gold-Lichtverlauf.
   ========================================================= */

/* ---------- TOKENS · SELECTIVE SURFACE LANGUAGE ---------- */
#nuv2050 {
  --n50-surface-neutral: #FFFFFF;
  --n50-surface-line: rgba(0,95,106,.10);
  --n50-surface-line-soft: rgba(37,40,42,.075);

  --n50-surface-highlight:
    radial-gradient(
      circle at 92% 8%,
      rgba(212,175,55,.075) 0%,
      rgba(212,175,55,.028) 19%,
      transparent 42%
    ),
    radial-gradient(
      circle at 8% 108%,
      rgba(0,95,106,.075) 0%,
      rgba(0,95,106,.026) 25%,
      transparent 48%
    ),
    linear-gradient(
      118deg,
      rgba(255,255,255,.995) 0%,
      rgba(250,252,252,.985) 54%,
      rgba(245,249,249,.97) 100%
    );

  --n50-surface-highlight-line:
    linear-gradient(
      180deg,
      rgba(138,104,11,.72) 0%,
      rgba(212,175,55,.46) 34%,
      rgba(0,95,106,.58) 100%
    );
}

/* ---------------------------------------------------------
   STANDARD SURFACE
   Bleibt bewusst ruhig, hell und nahezu weiß.
   KEIN automatischer Gradient auf allen Karten.
   --------------------------------------------------------- */
#nuv2050 .n50-surface,
#nuv2050 .n50-card,
#nuv2050 .n50-form-card,
#nuv2050 .n50-panel {
  background: var(--n50-surface-neutral);
}

/* ---------------------------------------------------------
   HIGHLIGHT SURFACE 2050
   Nur einsetzen, wenn eine Fläche inhaltlich hervorgehoben
   werden soll – wie die besonderen REGION-Felder.

   Verwendbar als Zusatzklasse:
   .n50-surface--highlight
   .n50-card--highlight
   .n50-form-card--highlight
   .n50-panel--highlight
   --------------------------------------------------------- */
#nuv2050 .n50-surface--highlight,
#nuv2050 .n50-card--highlight,
#nuv2050 .n50-form-card--highlight,
#nuv2050 .n50-panel--highlight {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-color: rgba(0,95,106,.105);
  background: var(--n50-surface-highlight);
  box-shadow:
    0 12px 34px rgba(37,40,42,.035),
    inset 0 1px 0 rgba(255,255,255,.82);
}

/* Sehr feine vertikale Energie-Linie – nur Highlight-Flächen */
#nuv2050 .n50-surface--highlight::before,
#nuv2050 .n50-card--highlight::before,
#nuv2050 .n50-form-card--highlight::before,
#nuv2050 .n50-panel--highlight::before {
  content: "";
  position: absolute;
  z-index: 2;
  left: 0;
  top: 18px;
  bottom: 18px;
  width: 2px;
  border-radius: 0 2px 2px 0;
  background: var(--n50-surface-highlight-line);
  opacity: .72;
  pointer-events: none;
}

/* Inhalt sicher oberhalb der Lichtfläche */
#nuv2050 .n50-surface--highlight > *,
#nuv2050 .n50-card--highlight > *,
#nuv2050 .n50-form-card--highlight > *,
#nuv2050 .n50-panel--highlight > * {
  position: relative;
  z-index: 3;
}

/* ---------------------------------------------------------
   QUIET HIGHLIGHT
   Für größere Key-Flächen / Intro-Flächen ohne Seitenlinie.
   Der Lichtverlauf bleibt, die Fläche wirkt noch ruhiger.
   --------------------------------------------------------- */
#nuv2050 .n50-surface--key {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border: 1px solid rgba(0,95,106,.10);
  background: var(--n50-surface-highlight);
  box-shadow:
    0 14px 38px rgba(37,40,42,.035),
    inset 0 1px 0 rgba(255,255,255,.82);
}

/* ---------------------------------------------------------
   FORMULAR
   Formularstruktur bleibt neutral.
   Nur ausgewählte Formularabschnitte dürfen Highlight sein.
   Orbit-Nummern bleiben unverändert im vereinbarten System.
   --------------------------------------------------------- */
#nuv2050 .n50-form-card:not(.n50-form-card--highlight) {
  background: #FFFFFF;
}

#nuv2050 .n50-form-card--highlight {
  background: var(--n50-surface-highlight);
}

/* ---------------------------------------------------------
   LIVE DATA
   Bleibt strikt getrennt von den Highlight-Flächen:
   Dunkelgold als Typografie · KEIN goldener Hintergrund.
   --------------------------------------------------------- */
#nuv2050 .n50-livebar,
#nuv2050 .n50-liveitem,
#nuv2050 .n50-live-data,
#nuv2050 .n50-stat--live {
  background-color: transparent;
}

#nuv2050 .n50-liveitem__value,
#nuv2050 .n50-liveitem__label,
#nuv2050 .n50-live-data,
#nuv2050 .n50-stat--live .n50-stat__value {
  color: var(--n50-gold-dark) !important;
}

/* ---------------------------------------------------------
   EUROPE
   Violet bleibt Funktionsfarbe. Die neue Surface-Sprache
   ersetzt NICHT die definierte Europe-Kennzeichnung.
   --------------------------------------------------------- */
#nuv2050 .n50-surface--highlight.n50-europe,
#nuv2050 .n50-card--highlight.n50-europe,
#nuv2050 .n50-panel--highlight.n50-europe {
  background:
    radial-gradient(
      circle at 92% 8%,
      rgba(104,32,112,.065) 0%,
      transparent 38%
    ),
    radial-gradient(
      circle at 8% 108%,
      rgba(0,95,106,.055) 0%,
      transparent 46%
    ),
    linear-gradient(
      118deg,
      #FFFFFF 0%,
      #FBF9FC 58%,
      #F7F2F8 100%
    );
}

#nuv2050 .n50-surface--highlight.n50-europe::before,
#nuv2050 .n50-card--highlight.n50-europe::before,
#nuv2050 .n50-panel--highlight.n50-europe::before {
  background:
    linear-gradient(
      180deg,
      var(--n50-gold-dark) 0%,
      var(--n50-violet) 100%
    );
}

/* ---------------------------------------------------------
   MOBILE
   Effekt bleibt sichtbar, aber noch zurückhaltender.
   --------------------------------------------------------- */
@media (max-width:700px) {
  #nuv2050 .n50-surface--highlight::before,
  #nuv2050 .n50-card--highlight::before,
  #nuv2050 .n50-form-card--highlight::before,
  #nuv2050 .n50-panel--highlight::before {
    top: 14px;
    bottom: 14px;
    opacity: .62;
  }
}


/* =========================================================
   NUV LEVEL UP REGION · CLUBDESK ISOLATION SHIELD
   FINAL · 27.09.2026

   Zweck:
   ClubDesk / bestehende globale Mobile-Regeln dürfen das
   MASTER DESIGN SYSTEM 2050 innerhalb #nuv2050 nicht
   überschreiben.

   WICHTIG:
   - nur #nuv2050 wird geschützt
   - Navigation / ClubDesk / bestehende Legacy-Seiten bleiben
     unverändert
   - keine neue Designsprache, nur Kaskaden-Schutz
   ========================================================= */

@media (max-width:576px){

  /* MASTER-Typografie gegen globale ClubDesk h1/h2/h3-Regeln */
  #cd-page-content #nuv2050 .n50-page-title{
    font-size:clamp(26px,3vw,37px)!important;
    line-height:1.08!important;
  }

  #cd-page-content #nuv2050 .n50-title{
    font-size:clamp(23px,2.2vw,31px)!important;
    line-height:1.14!important;
  }

  #cd-page-content #nuv2050 .n50-subtitle{
    font-size:clamp(19px,1.7vw,24px)!important;
    line-height:1.2!important;
  }

  #cd-page-content #nuv2050 .n50-h3{
    font-size:clamp(17px,1.5vw,21px)!important;
    line-height:1.25!important;
  }

  #cd-page-content #nuv2050 .n50-system-panel__title{
    font-size:20px!important;
    line-height:1.25!important;
  }

  /* MASTER-Fließtexte gegen globale ClubDesk p/li/label-Regeln */
  #cd-page-content #nuv2050 .n50-lead{
    font-size:clamp(15px,1.4vw,18px)!important;
    line-height:1.5!important;
  }

  #cd-page-content #nuv2050 .n50-intro{
    font-size:16px!important;
    line-height:1.7!important;
  }

  #cd-page-content #nuv2050 .n50-body{
    font-size:16px!important;
    line-height:1.68!important;
  }

  #cd-page-content #nuv2050 .n50-small{
    font-size:13px!important;
    line-height:1.55!important;
  }

  #cd-page-content #nuv2050 .n50-list li{
    font-size:16px!important;
    line-height:1.6!important;
  }

  #cd-page-content #nuv2050 .n50-quote__text{
    font-size:clamp(16px,1.7vw,20px)!important;
    line-height:1.5!important;
  }

  #cd-page-content #nuv2050 .n50-system-panel__text{
    font-size:16px!important;
    line-height:1.55!important;
  }

  #cd-page-content #nuv2050 .n50-field label{
    font-size:13px!important;
    line-height:normal!important;
  }

  /* MASTER ACTION BUTTONS gegen globale ClubDesk button-Regeln */
  #cd-page-content #nuv2050 a.n50-btn,
  #cd-page-content #nuv2050 button.n50-btn{
    font-size:14px!important;
    line-height:1.15!important;
    min-height:54px!important;
  }

  /* Tabs und Filter bleiben Interface-Komponenten, keine ClubDesk-Touchbuttons */
  #cd-page-content #nuv2050 button.n50-tab,
  #cd-page-content #nuv2050 button.n50-filter{
    font-size:13px!important;
    line-height:normal!important;
    min-height:initial!important;
  }

  /* MASTER-Formfelder gegen globale ClubDesk input/select/textarea-Regeln */
  #cd-page-content #nuv2050 .n50-field input,
  #cd-page-content #nuv2050 .n50-field select,
  #cd-page-content #nuv2050 .n50-field textarea{
    font-size:16px!important;
    line-height:normal!important;
    min-height:initial!important;
  }
}

/* Schutz gegen versehentliche Legacy-Button-Vererbung.
   n50 bleibt vollständig im eigenen Namensraum. */
#cd-page-content #nuv2050 .n50-btn{
  font-family:"Montserrat",Arial,sans-serif;
}

/* Ende CLUBDESK ISOLATION SHIELD */
