/* LiveUP Prestige dashboard v4 — one personal hero + one shared team counter. */

@keyframes prestige-v4-avatar-breathe {
  0%,100% { box-shadow: 0 0 0 1px rgba(232,188,92,.20), 0 0 28px -14px rgba(231,175,62,.38), inset 0 1px 0 rgba(255,255,255,.09); }
  50% { box-shadow: 0 0 0 1px rgba(245,205,112,.34), 0 0 38px -13px rgba(231,175,62,.56), inset 0 1px 0 rgba(255,255,255,.13); }
}

@keyframes prestige-v4-live-pulse {
  0%,100% { opacity:.55; transform:scale(.92); }
  50% { opacity:1; transform:scale(1.12); }
}

.dark .prestige-v4-hero {
  position: relative !important;
  overflow: visible !important;
  padding-top: 1.2rem !important;
  padding-bottom: .75rem !important;
  background: transparent !important;
}

/* Dark and light share one compact dashboard geometry. Earlier cockpit rules
   gave dark mode a taller hero and KPI tiles; keep only their dark colours. */
.dark .page-enter:has(a[href="/heute"]) > section:first-of-type.prestige-v4-hero {
  min-height: auto !important;
  padding-top: 1.2rem !important;
  padding-bottom: .75rem !important;
}

.dark .prestige-v4-hero::before,
.dark .prestige-v4-hero::after { display:none !important; content:none !important; }

.prestige-v4-eyebrow {
  margin: 1rem 0 0;
  color: #dcae55;
  font-family: "Sora", ui-sans-serif, system-ui, sans-serif;
  font-size: .58rem;
  font-weight: 750;
  letter-spacing: .23em;
  line-height: 1.2;
  text-transform: uppercase;
}

.dark .prestige-v4-hero > .prestige-v4-heading {
  max-width: 100% !important;
  margin: 1rem 0 0 !important;
  color: rgba(248,250,251,.99) !important;
  font-family: "Sora", ui-sans-serif, system-ui, sans-serif !important;
  font-size: clamp(2.45rem, 7.2vw, 4.6rem) !important;
  font-weight: 800 !important;
  letter-spacing: -.06em !important;
  line-height: .96 !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
}

.dark .page-enter:has(a[href="/heute"]) > section:first-of-type.prestige-v4-hero > .prestige-v4-heading {
  width: 100% !important;
  max-width: 100% !important;
  font-size: clamp(2.45rem, 7.2vw, 4.6rem) !important;
  line-height: .96 !important;
}

.dark .prestige-v4-hero > .prestige-v4-heading > span {
  display: inline !important;
  width: fit-content !important;
  max-width: 100% !important;
  margin-top: 0 !important;
  overflow: visible !important;
  background: linear-gradient(112deg,#f5d27f 0%,#dda544 48%,#f3c568 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  white-space: normal !important;
  text-overflow: clip !important;
}

.dark .page-enter:has(a[href="/heute"]) .glass-card-action:has(.grid-cols-2) .grid-cols-2 > div {
  min-height: 0 !important;
}

.dark .page-enter:has(a[href="/heute"]) .glass-card-action:has(.grid-cols-2) .grid-cols-2 > div svg {
  width: 1rem !important;
  height: 1rem !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.dark .page-enter:has(a[href="/heute"]) .glass-card-action:has(.grid-cols-2) .grid-cols-2 > div p:nth-of-type(1) {
  margin-top: .5rem !important;
  font-size: 1.5rem !important;
  line-height: 2rem !important;
  letter-spacing: 0 !important;
}

.dark .page-enter:has(a[href="/heute"]) .glass-card-action:has(.grid-cols-2) .grid-cols-2 > div p:nth-of-type(2) {
  margin-top: .125rem !important;
  letter-spacing: .025em !important;
}

.dark .page-enter:has(a[href="/heute"]) .glass-card-action:has(.grid-cols-2) h2 {
  font-size: 1.25rem !important;
  letter-spacing: 0 !important;
}

.dark .prestige-v4-hero > p {
  max-width: 100% !important;
  margin-top: 1rem !important;
  color: rgba(207,216,222,.62) !important;
  font-size: .9rem !important;
  line-height: 1.55 !important;
}

.prestige-v4-profile {
  position: absolute;
  z-index: 3;
  top: .7rem;
  right: .8rem;
  display: flex;
  width: 8.5rem;
  flex-direction: column;
  align-items: center;
  gap: .55rem;
  color: inherit;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}

.prestige-v4-avatar {
  position: relative;
  display: grid;
  width: 7.25rem;
  height: 7.25rem;
  aspect-ratio: 1;
  place-items: center;
  flex-shrink: 0;
  overflow: hidden;
  border: 3px solid #d9a83e;
  border-radius: 50%;
  background: radial-gradient(circle at 34% 24%,rgba(255,255,255,.09),transparent 31%),linear-gradient(145deg,#202126,#080b0f);
  background-clip: padding-box;
  box-shadow:
    inset 0 0 0 2px rgba(7,10,13,.88),
    0 0 0 1px rgba(247,210,124,.72),
    0 0 0 4px rgba(182,126,28,.16),
    0 12px 28px -17px rgba(218,163,57,.72);
  animation: none;
  transform: translateZ(0);
}

.prestige-v4-avatar::after {
  content: none;
  display: none;
}

.prestige-v4-avatar img { width:100%; height:100%; object-fit:cover; }
.prestige-v4-avatar > span { position:relative; z-index:1; color:#eabb58; font-family:"Sora",sans-serif; font-size:1.45rem; font-weight:800; letter-spacing:-.04em; }

.prestige-v4-role {
  color: #ddb052;
  font-family: "Sora", sans-serif;
  font-size: .55rem;
  font-weight: 750;
  letter-spacing: .18em;
  line-height: 1.25;
  text-align:center;
  text-transform: uppercase;
  white-space: nowrap;
}

.prestige-v4-info { margin-top: .85rem !important; }
.prestige-v4-info > span {
  border-color: rgba(39,218,207,.22) !important;
  background: rgba(5,14,19,.66) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035), 0 12px 25px -25px rgba(33,222,210,.55) !important;
}

.prestige-v4-counter {
  position: relative;
  margin-top: 1rem;
  overflow: hidden;
  border: 1px solid rgba(46,224,213,.25);
  border-radius: 1.35rem;
  background: linear-gradient(145deg,rgba(10,25,30,.92),rgba(4,10,14,.98));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.055), 0 20px 52px -38px rgba(0,0,0,.98), 0 0 30px -24px rgba(37,220,210,.46);
  min-height: 10.25rem;
  padding: 1rem 10.35rem .95rem 1.15rem;
}

.prestige-v4-counter::before {
  content:"";
  position:absolute;
  width:10rem;
  height:10rem;
  right:-4rem;
  top:-5rem;
  border-radius:999px;
  background:radial-gradient(circle,rgba(224,174,70,.10),transparent 68%);
  pointer-events:none;
}

.prestige-v4-counter-top {
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:.6rem;
  min-width:0;
  color:rgba(207,216,222,.48);
  font-size:.56rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.prestige-v4-counter-top strong { color:#e3b75e; font-family:"Sora",sans-serif; font-size:.62rem; letter-spacing:.14em; }
.prestige-v4-counter-top > span:last-child { margin-left:auto; white-space:nowrap; }
.prestige-v4-live { display:inline-flex; align-items:center; gap:.35rem; color:#35d9d0; }
.prestige-v4-live i { width:.42rem; height:.42rem; border-radius:50%; background:#32d7ce; box-shadow:0 0 10px rgba(50,215,206,.6); animation:prestige-v4-live-pulse 1.9s ease-in-out infinite; }

.prestige-v4-counter-main {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:1rem;
  margin-top:.6rem;
}

.prestige-v4-number {
  min-width:5.5rem;
  color:#f3c568;
  font-family:"Sora",sans-serif;
  font-size:clamp(4rem,10vw,6.2rem);
  font-weight:800;
  letter-spacing:-.075em;
  line-height:.86;
  text-shadow:0 0 28px rgba(227,176,72,.10);
}

.prestige-v4-counter-copy { display:grid; gap:.16rem; min-width:0; }
.prestige-v4-counter-copy > strong { color:rgba(248,250,251,.98); font-family:"Sora",sans-serif; font-size:1.05rem; font-weight:800; letter-spacing:.02em; }
.prestige-v4-counter-copy > span { color:rgba(214,222,227,.70); font-size:.75rem; font-weight:600; }
.prestige-v4-counter-copy > small { color:rgba(191,201,208,.43); font-size:.66rem; }

.prestige-v4-mine {
  display:grid;
  min-width:5rem;
  gap:.1rem;
  padding:.58rem .7rem;
  border:1px solid rgba(225,177,74,.16);
  border-radius:.85rem;
  background:rgba(226,175,68,.055);
  text-align:center;
}
.prestige-v4-mine span { color:rgba(218,225,229,.45); font-size:.52rem; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }
.prestige-v4-mine strong { color:#e7bb61; font-family:"Sora",sans-serif; font-size:1.25rem; }

.prestige-v4-track { position:relative; z-index:1; height:3px; margin-top:.8rem; overflow:hidden; border-radius:999px; background:rgba(255,255,255,.055); }
.prestige-v4-track > span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#27d9cf,#e0ad50); box-shadow:0 0 12px rgba(39,217,207,.35); transition:width .6s ease; }

/* Admin controls */
.prestige-v4-admin { position:relative; z-index:10; max-width:72rem; margin:0 auto; padding:.5rem 1rem 1rem; }
.prestige-v4-admin-card { border:1px solid rgba(47,219,208,.22); border-radius:1.35rem; background:linear-gradient(145deg,rgba(9,22,28,.94),rgba(5,10,14,.98)); box-shadow:inset 0 1px 0 rgba(255,255,255,.05); padding:1.15rem; }
.prestige-v4-admin-head { display:flex; justify-content:space-between; gap:1rem; align-items:flex-start; }
.prestige-v4-admin-head strong { color:#e3b75e; font-family:"Sora",sans-serif; font-size:1rem; }
.prestige-v4-admin-head p { max-width:48rem; margin:.3rem 0 0; color:rgba(207,216,222,.56); font-size:.75rem; line-height:1.5; }
.prestige-v4-admin-head > span { color:#31d8cf; font-size:.55rem; font-weight:800; letter-spacing:.15em; white-space:nowrap; }
.prestige-v4-admin-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; margin-top:1rem; }
.prestige-v4-admin-grid label { display:grid; gap:.35rem; }
.prestige-v4-admin-grid label > span { color:rgba(214,222,227,.56); font-size:.62rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.prestige-v4-admin-grid input,.prestige-v4-admin-grid select { min-height:2.65rem; width:100%; border:1px solid rgba(255,255,255,.09); border-radius:.75rem; background:rgba(1,6,9,.72); color:#f6f8f9; padding:.65rem .75rem; outline:none; }
.prestige-v4-admin-grid input:focus,.prestige-v4-admin-grid select:focus { border-color:rgba(43,220,209,.48); box-shadow:0 0 0 3px rgba(43,220,209,.07); }
.prestige-v4-admin-actions { display:flex; justify-content:space-between; gap:1rem; align-items:center; margin-top:.85rem; }
.prestige-v4-admin-actions label { color:rgba(216,223,228,.66); font-size:.75rem; }
.prestige-v4-admin-actions button { border:1px solid rgba(47,226,214,.38); border-radius:.75rem; background:#28cfc6; color:#031112; padding:.7rem 1rem; font-weight:800; cursor:pointer; }
.prestige-v4-admin-actions button:disabled { opacity:.55; cursor:wait; }
.prestige-v4-admin-status { margin-top:.7rem; color:rgba(207,216,222,.52); font-size:.7rem; }

@media (max-width:640px) {
  .dark .prestige-v4-hero { padding-top:.95rem !important; padding-bottom:.5rem !important; }
  .prestige-v4-eyebrow { margin-top:.85rem; font-size:.48rem; letter-spacing:.19em; }
  .dark .page-enter:has(a[href="/heute"]) > section:first-of-type.prestige-v4-hero { min-height:auto !important; padding-top:.95rem !important; padding-bottom:.75rem !important; }
  .dark .prestige-v4-hero > .prestige-v4-heading { max-width:100% !important; font-size:clamp(2.1rem,10vw,3rem) !important; line-height:.98 !important; }
  .dark .page-enter:has(a[href="/heute"]) > section:first-of-type.prestige-v4-hero > .prestige-v4-heading { max-width:100% !important; font-size:clamp(2.1rem,10vw,3rem) !important; line-height:.98 !important; }
  .dark .prestige-v4-hero > p { max-width:100% !important; margin-top:1rem !important; font-size:.78rem !important; line-height:1.52 !important; }
  .prestige-v4-profile { top:2.75rem; right:.25rem; width:7.4rem; gap:.42rem; }
  .prestige-v4-avatar { width:6.25rem; height:6.25rem; }
  .prestige-v4-avatar > span { font-size:1.25rem; }
  .prestige-v4-role { font-size:.47rem; letter-spacing:.15em; }
  .prestige-v4-info { margin-top:.68rem !important; }
  .prestige-v4-counter { margin-top:.82rem; padding:.85rem .9rem .8rem; border-radius:1.15rem; }
  .prestige-v4-counter-top { gap:.42rem; font-size:.47rem; letter-spacing:.12em; }
  .prestige-v4-counter-top strong { font-size:.52rem; }
  .prestige-v4-counter { min-height:10.65rem; padding-right:7.75rem; }
  .prestige-v4-counter-main { grid-template-columns:auto minmax(0,1fr); gap:.72rem; margin-top:.55rem; }
  .prestige-v4-number { min-width:4.2rem; font-size:4.3rem; }
  .prestige-v4-counter-copy > strong { font-size:.9rem; }
  .prestige-v4-counter-copy > span { font-size:.66rem; }
  .prestige-v4-counter-copy > small { font-size:.58rem; }
  .prestige-v4-mine { grid-column:1 / -1; display:flex; min-width:0; align-items:center; justify-content:space-between; padding:.42rem .62rem; }
  .prestige-v4-mine strong { font-size:.95rem; }
  .prestige-v4-track { margin-top:.6rem; }
  .prestige-v4-profile { top:.7rem; right:.45rem; }
  .dark .page-enter:has(a[href="/heute"]) .glass-card-action:has(.grid-cols-2) .grid-cols-2 > div { min-height:0 !important; }
  .prestige-v4-admin-grid { grid-template-columns:1fr; }
  .prestige-v4-admin-head { flex-direction:column; }
}

@media (prefers-reduced-motion:reduce) {
  .prestige-v4-avatar,.prestige-v4-live i { animation:none !important; }
  .prestige-v4-track > span { transition:none !important; }
}
/* React-owned heading stays mounted but hidden; our own heading renders next to it. */
.prestige-v4-source-hidden { display: none !important; }
