/* Nova Hub UI Loader Fix v1 — compatibility layer */
:root {
  --nova-accent: var(--accent, #00ead4);
  --nova-accent-rgb: 0, 234, 212;
  --nova-surface: rgba(7, 23, 34, .92);
  --nova-surface-soft: rgba(8, 29, 40, .74);
  --nova-border-soft: rgba(85, 177, 194, .20);
  --nova-text-main: #f5fbff;
  --nova-text-muted: #88aab7;
}

.content {
  width: 100%;
  min-width: 0;
}

.content > * {
  max-width: 100%;
}

.content > header:first-child:not(.hero),
.content > div:first-child:not(.premium-dashboard),
.content > section:first-child:not(.card) {
  margin-top: 0;
}

.content a:not(.btn):not(.nav-link):not(.brand):not(.nova-topbar-profile):not(.premium-stat):not(.premium-activity) {
  color: #7ff8eb;
  text-underline-offset: 3px;
}

.content h1,
.content h2,
.content h3 {
  color: var(--nova-text-main);
}

.content p,
.content small {
  color: var(--nova-text-muted);
}

/* Generic fallback for pages that still use very simple markup */
.content > h1,
.content > h2,
.content > p,
.content > small,
.content > form,
.content > table {
  position: relative;
  z-index: 1;
}

.content > h1 {
  margin: 8px 0 12px;
  font-size: clamp(30px, 4vw, 54px);
  letter-spacing: -.035em;
}

.content > p {
  max-width: 850px;
  line-height: 1.7;
}

.content > form,
.content > table {
  margin-top: 16px;
}

/* Creator Center fallback */
.creator-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)) !important;
  gap: 16px !important;
  margin-top: 18px !important;
}

.creator-card {
  position: relative;
  overflow: hidden;
  display: flex !important;
  flex-direction: column;
  min-height: 390px;
  padding: 18px !important;
  border: 1px solid var(--nova-border-soft) !important;
  border-radius: 18px !important;
  background:
    radial-gradient(circle at 90% 0, rgba(var(--nova-accent-rgb), .09), transparent 14rem),
    linear-gradient(145deg, var(--nova-surface), rgba(3, 12, 18, .98)) !important;
  box-shadow: 0 18px 50px rgba(0,0,0,.18);
}

.creator-card img {
  width: 100% !important;
  height: 190px !important;
  object-fit: cover !important;
  border-radius: 14px !important;
  border: 1px solid var(--nova-border-soft);
  background: #041017;
}

.creator-card h2,
.creator-card h3 {
  margin: 14px 0 7px;
}

.creator-card form {
  margin-top: auto;
}

/* Pages where a view prints cards without a wrapper class */
.content article:not(.premium-stat):not(.premium-activity):not(.nova-notification):not(.creator-card) {
  border-color: var(--nova-border-soft);
}

/* Profile fallback */
.profile-v4-shell,
.profile-overview,
.community-profile,
.profile-page {
  display: grid;
  gap: 16px;
}

.profile-v4-hero,
.profile-hero,
.community-profile-hero {
  position: relative;
  overflow: hidden;
  min-height: 250px;
  padding: clamp(25px, 5vw, 48px);
  border: 1px solid var(--nova-border-soft);
  border-radius: 22px;
  background:
    radial-gradient(circle at 85% 0, rgba(var(--nova-accent-rgb), .15), transparent 23rem),
    linear-gradient(145deg, rgba(8,30,41,.96), rgba(2,10,15,.98));
}

/* Team and module fallbacks */
.team-grid,
.module-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(290px, 1fr)) !important;
  gap: 15px !important;
}

.team-card,
.module-card {
  padding: 18px !important;
  border: 1px solid var(--nova-border-soft) !important;
  border-radius: 17px !important;
  background: linear-gradient(145deg, var(--nova-surface), rgba(3,12,18,.98)) !important;
}

/* Prevent inline links and numbers from visually sticking together */
.stats,
.dashboard-stats,
.role-stats,
.team-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
}

.stats > *,
.dashboard-stats > *,
.role-stats > *,
.team-stats > * {
  min-width: 0;
}

/* Tables and empty admin screens */
.content table {
  overflow: hidden;
  border: 1px solid var(--nova-border-soft);
  border-radius: 15px;
  background: var(--nova-surface);
}

.content tbody:empty::after {
  content: "Noch keine Einträge vorhanden.";
  display: block;
  padding: 28px;
  color: var(--nova-text-muted);
}

/* Remove browser default-looking buttons where legacy markup is used */
.content button,
.content input[type="submit"],
.content input[type="button"] {
  appearance: none;
}

/* Ensure premium dashboard receives its intended display even if another rule wins */
.premium-dashboard .premium-stat-grid {
  display: grid !important;
}

.premium-dashboard .premium-layout-grid {
  display: grid !important;
}

.premium-dashboard .premium-card,
.premium-dashboard .premium-stat,
.premium-dashboard .live-widget {
  box-sizing: border-box;
}

/* Helpful visible warning if CSS is cached incorrectly */
html[data-ui-loader="ready"] body::after {
  content: none;
}

@media (max-width: 760px) {
  .creator-grid,
  .team-grid,
  .module-grid {
    grid-template-columns: 1fr !important;
  }

  .creator-card {
    min-height: auto;
  }
}