/* =========================================================
   NOVA UI 2.0
   Scoped Compatibility Components
   Keine globalen Button-/Link-Overrides
   ========================================================= */

:root{
  --nui-bg:#031017;
  --nui-surface:#061821;
  --nui-surface-2:#08202a;
  --nui-surface-3:#0a2530;
  --nui-line:rgba(73,145,162,.25);
  --nui-line-accent:rgba(0,234,212,.35);
  --nui-accent:#28ddd2;
  --nui-accent-soft:#69ece5;
  --nui-text:#f2f7f8;
  --nui-muted:#82a2ad;
  --nui-success:#43e39e;
  --nui-warning:#ffbd55;
  --nui-danger:#ff7185;
}

/* Nur Seiten, die vom JS explizit markiert wurden */
body.nova-ui2-page .nova-ui2-content{
  padding:18px 22px 34px;
}

/* HERO */
.nova-ui2-hero{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  min-height:170px;
  margin:0 0 18px;
  padding:30px 34px;
  overflow:hidden;
  border:1px solid var(--nui-line-accent);
  border-radius:20px;
  background:
    radial-gradient(circle at 90% 0, rgba(0,234,212,.10), transparent 22rem),
    linear-gradient(145deg,#08212b 0%,#061821 58%,#05151d 100%);
  box-shadow:0 20px 45px rgba(0,0,0,.12);
}

.nova-ui2-hero::after{
  content:"";
  position:absolute;
  width:240px;
  height:240px;
  right:-78px;
  top:-125px;
  border:1px solid rgba(0,234,212,.10);
  border-radius:50%;
  box-shadow:
    0 0 0 42px rgba(0,234,212,.025),
    0 0 0 84px rgba(0,234,212,.015);
  pointer-events:none;
}

.nova-ui2-hero-copy,
.nova-ui2-hero-actions{
  position:relative;
  z-index:1;
}

.nova-ui2-hero-copy{
  min-width:0;
  max-width:900px;
}

.nova-ui2-kicker{
  display:block;
  margin:0 0 9px;
  color:var(--nui-accent);
  font-size:10px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.nova-ui2-hero h1{
  margin:0 0 10px;
  color:var(--nui-text);
  font-size:clamp(32px,4vw,52px);
  line-height:1.02;
  font-weight:900;
  letter-spacing:-.035em;
}

.nova-ui2-hero p{
  margin:0;
  max-width:850px;
  color:var(--nui-muted);
  font-size:14px;
  line-height:1.65;
}

.nova-ui2-hero-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:9px;
  flex-wrap:wrap;
  flex-shrink:0;
}

/* BUTTONS - NUR explizite UI2 Klassen */
.nova-ui2-btn{
  appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:42px;
  padding:10px 15px;
  border:1px solid var(--nui-line-accent);
  border-radius:10px;
  background:#071c24;
  color:var(--nui-accent-soft) !important;
  -webkit-text-fill-color:var(--nui-accent-soft) !important;
  font-family:inherit;
  font-size:11px;
  line-height:1;
  font-weight:850;
  text-decoration:none !important;
  opacity:1 !important;
  text-indent:0 !important;
  visibility:visible !important;
  cursor:pointer;
  transition:transform .16s ease,border-color .16s ease,background .16s ease;
}

.nova-ui2-btn *,
.nova-ui2-btn span,
.nova-ui2-btn strong{
  color:inherit !important;
  -webkit-text-fill-color:currentColor !important;
  opacity:1 !important;
  visibility:visible !important;
}

.nova-ui2-btn:hover{
  transform:translateY(-1px);
  border-color:rgba(0,234,212,.60);
  background:#092630;
}

.nova-ui2-btn-primary{
  background:linear-gradient(135deg,#5be9e2,#25d7d0);
  border-color:rgba(91,233,226,.72);
  color:#022127 !important;
  -webkit-text-fill-color:#022127 !important;
}

.nova-ui2-btn-primary:hover{
  background:linear-gradient(135deg,#65eee7,#2edfd8);
}

/* PANELS */
.nova-ui2-panel{
  margin:0 0 14px;
  padding:20px;
  border:1px solid var(--nui-line);
  border-radius:16px;
  background:linear-gradient(145deg,#071923,#05151d);
  box-shadow:0 12px 30px rgba(0,0,0,.08);
}

.nova-ui2-panel h2,
.nova-ui2-panel h3{
  color:var(--nui-text);
}

.nova-ui2-panel p{
  color:var(--nui-muted);
}

/* STAT CARDS */
.nova-ui2-stat-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}

.nova-ui2-stat{
  display:flex;
  align-items:baseline;
  gap:6px;
  min-height:68px;
  padding:15px 17px;
  border:1px solid var(--nui-line);
  border-radius:13px;
  background:#071923;
}

.nova-ui2-stat-value{
  color:var(--nui-text);
  font-size:22px;
  line-height:1;
  font-weight:900;
}

.nova-ui2-stat-label{
  color:var(--nui-muted);
  font-size:11px;
}

/* STATUS CARD */
.nova-ui2-status{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:72px;
  margin-top:14px;
  padding:14px 16px;
  border:1px solid rgba(67,227,158,.20);
  border-radius:13px;
  background:linear-gradient(90deg,rgba(67,227,158,.035),rgba(5,19,27,.92));
}

.nova-ui2-status-dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--nui-success);
  box-shadow:0 0 15px rgba(67,227,158,.7);
  flex:0 0 auto;
}

/* Formulare nur auf explizit markierten Alt-Containern */
.nova-ui2-form input:not([type="checkbox"]):not([type="radio"]),
.nova-ui2-form select,
.nova-ui2-form textarea{
  width:100%;
  border:1px solid var(--nui-line);
  border-radius:9px;
  background:#06151e;
  color:#e9f5f7;
}

.nova-ui2-form input:focus,
.nova-ui2-form select:focus,
.nova-ui2-form textarea:focus{
  outline:none;
  border-color:rgba(0,234,212,.52);
  box-shadow:0 0 0 3px rgba(0,234,212,.06);
}

/* alte Links, aber NUR markierte Komponenten */
.nova-ui2-clean-link,
.nova-ui2-clean-link:hover,
.nova-ui2-clean-link:focus,
.nova-ui2-clean-link:visited{
  text-decoration:none !important;
}

/* Sicherheits-Fix für bereits durch alte CSS-Regeln unsichtbar gewordene UI2 Buttons */
.nova-ui2-btn{
  font-size:11px !important;
  color:var(--nui-accent-soft) !important;
  -webkit-text-fill-color:var(--nui-accent-soft) !important;
}

.nova-ui2-btn-primary{
  color:#022127 !important;
  -webkit-text-fill-color:#022127 !important;
}

/* Responsive */
@media(max-width:1000px){
  .nova-ui2-stat-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:760px){
  body.nova-ui2-page .nova-ui2-content{
    padding:12px;
  }

  .nova-ui2-hero{
    align-items:flex-start;
    flex-direction:column;
    min-height:auto;
    padding:22px;
  }

  .nova-ui2-hero-actions{
    width:100%;
    justify-content:flex-start;
  }

  .nova-ui2-stat-grid{
    grid-template-columns:1fr;
  }
}