:root{
  --bg:#0b1220; --panel:#141b2d; --panel-2:#1b2336;
  --muted:#8ea3c0; --text:#e6eefb; --border:#22304a;
  --blue:#3b82f6; --green:#22c55e; --purple:#8b5cf6; --gray:#64748b;
}
/* ==== Base ==== */
body{
  background: var(--bg);
  color: var(--text);
  font-family: "Inter", system-ui, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  margin: 0;
  page: 0;
}
a{ color:#93c5fd; }
a:hover{ color:#bfdbfe; text-decoration:underline; }

/* ==== Layout / Shell ==== */
.topbar{
  background: var(--panel);
  border-bottom: 1px solid var(--border);
  padding: 12px 18px;
  position: sticky; top: 0; z-index: 5;
}
.brand{ font-weight:700; letter-spacing:.4px; }

.sidebar{
  background: var(--panel);
  min-height: 100vh;
  padding: 18px 14px;
  border-right: 1px solid var(--border);
  position: sticky; top: 0;
}

.nav-link{
  color: var(--muted);
  padding: .5rem .75rem;
  border-radius: 8px;
  display: block;
}
.nav-link.active,
.nav-link:hover{
  background: var(--panel-2);
  color: var(--text);
}

/* ==== Cards / Typography ==== */
.card{
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 14px;
  box-shadow: 0 6px 20px rgba(0,0,0,.25);
  color: #fff;
}
.card-header{
  background: var(--panel);
  border-bottom: 1px solid var(--border);
  color: #c4d6f5;
  font-weight: 600;
}
.card-body{ color:#fff; }

.h1,.h2,.h3,.h4,.h5,.h6,
h1,h2,h3,h4,h5,h6{
  margin-top:0;
  margin-bottom:.5rem;
  font-weight:500;
  line-height:1.2;
  color:#fff;
}

/* ==== Badges (Blau/Rot) ==== */
.badge{
  border-radius: 8px;
  padding: .45em .6em;
  font-weight: 600;
}
.badge-blue{
  background: rgba(59,130,246,.15);
  color: #93c5fd;
  border: 1px solid rgba(59,130,246,.35);
}
.badge-red{
  background: rgba(239,68,68,.15);
  color: #fca5a5;
  border: 1px solid rgba(239,68,68,.35);
}

/* ==== Kleine UI-Elemente ==== */
.kpi{ display:flex; gap:10px; align-items:center; }
.dot{ width:12px; height:12px; border-radius:50%; }
.dot-news{ background:#3b82f6; }  /* Blau */
.dot-move{ background:#ef4444; }  /* Rot  */
.dot-hb  { background:var(--gray); }

.muted{ color: var(--muted); }
.smallx{ font-size: .85rem; 
  color: var(--muted) !important; 
}
.small, small {
    font-size: .875em;
    color: var(--muted) !important; 
}

.url-pill{
  display:inline-block;
  font-size:.8rem;
  padding:.15rem .4rem;
  border-radius:999px;
  background: var(--panel-2);
  border: 1px solid var(--border);
  color:#c7d2fe;
}

/* ==== News-Liste ==== */
.tab-scroller{ max-height:520px; overflow:auto; }

.news-item{ border-bottom:1px solid var(--border); padding:.75rem 0; }
.news-item:last-child{ border-bottom:0; }

.news-title{ font-weight:700; color:#e6eefb; display:block; }
.news-meta { color:var(--muted); font-size:.85rem; margin-top:.15rem; }
.news-link { color:#3b82f6; } /* Blau */
.news-desc {
  color:#cbd5e1; font-size:.95rem; line-height:1.35; margin-top:.35rem;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
 .ki-alert {
   background: rgba(30, 41, 59, 0.6);
   border: 1px solid rgba(255, 255, 255, 0.08);
   border-radius: 6px;
   padding: 6px 12px;
   font-size: 0.9rem;
   color: #e2e8f0;
   margin-top: 8px;
 }
 
 .ki-alert strong {
   color: #f8fafc;
 }
 
 .ki-icon {
   color: #3b82f6;
   font-size: 1.1rem;
 }
 
 .ki-trend {
   font-size: 1rem;
   vertical-align: middle;
 }
 
 .ki-summary {
   letter-spacing: 0.3px;
   opacity: 0.9;
 }
/* ==== Log-Karten (linke Farbleiste) ==== */
.log-card{ border-left:4px solid var(--gray); background: var(--panel); }
.log-news{
  border-left-color:#3b82f6;
  background: linear-gradient(90deg, rgba(59,130,246,.08), transparent);
}
.log-move{
  border-left-color:#ef4444;
  background: linear-gradient(90deg, rgba(239,68,68,.08), transparent);
}
.log-hb{ border-left-color:#64748b; }

/* ==== Code / Pre ==== */
pre{ white-space:pre-wrap; color:var(--text); margin:0; }

/* ==== Charts / Höhen ==== */
#line24{ height:300px !important; }  /* News-Linie kompakt */

/* ==== Modal (Dark) ==== */
.modal-backdrop.show{ opacity:.5; }
.modal-content{
  background: var(--panel-2);
  color: var(--text);
  border: 1px solid var(--border);
  box-shadow: 0 10px 30px rgba(0,0,0,.45);
}
.modal-header{
  background: var(--panel);
  color: var(--text);
  border-bottom: 1px solid var(--border);
}
.modal-title{ color: var(--text); font-weight:600; }
.modal-body { color: var(--text); line-height:1.5; }
.modal-footer{
  background: var(--panel);
  border-top: 1px solid var(--border);
}
.btn-close{ filter: invert(1) opacity(.8); }
.badge-red   { background: rgba(239,68,68,.15);  color:#fca5a5; border:1px solid rgba(239,68,68,.35); }
.badge-green { background: rgba(34,197,94,.15);  color:#86efac; border:1px solid rgba(34,197,94,.35); }
.badge-blue  { background: rgba(59,130,246,.15); color:#93c5fd; border:1px solid rgba(59,130,246,.35); }
.badge-purple  { background: rgba(206, 59, 246, 0.15); color:#fd93ec; border:1px solid rgba(241, 59, 246, 0.35); }
.ihelp{ color: var(--muted); }
.card-header .ihelp:hover,
.ihelp:hover{ color:#3b82f6 !important; cursor:pointer; }