/* Status-Portal – eigenes, schlankes öffentliches Layout */

/* Skip link: visible only on keyboard focus, above the navbar (z-index like cf-admin). */
.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 1050;
  padding: 0.75rem 1.25rem;
  background-color: var(--bs-primary);
  color: #ffffff;
  font-weight: 600;
  border-radius: 0 0 var(--bs-border-radius) 0;
}
.skip-link:focus {
  left: 0;
}

.status-badge {
  font-size: 0.8rem;
  font-weight: 600;
  padding: 0.4em 0.7em;
}

/* Große Gesamt-Statusleiste oben auf dem Board */
.overall-banner {
  border-radius: 1rem;
  padding: 1.75rem 1.5rem;
  display: flex;
  align-items: center;
  gap: 1rem;
}
.overall-banner .banner-icon {
  font-size: 2.5rem;
  line-height: 1;
}
.overall-operational { background: rgba(25, 135, 84, 0.12);  color: #198754; }
.overall-degraded    { background: rgba(255, 193, 7, 0.15);  color: #997404; }
.overall-down        { background: rgba(220, 53, 69, 0.12);  color: #dc3545; }
.overall-maintenance { background: rgba(13, 202, 240, 0.12); color: #087990; }
.overall-unknown     { background: rgba(108, 117, 125, 0.12); color: #6c757d; }

[data-bs-theme="dark"] .overall-degraded { color: #ffca2c; }
[data-bs-theme="dark"] .overall-maintenance { color: #3dd5f3; }

/* Monitor-Karten */
.monitor-card {
  border-radius: 0.9rem;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.monitor-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.08);
}
.monitor-card .monitor-meta {
  font-size: 0.78rem;
  color: var(--bs-secondary-color);
}

/* Statuspunkt-Indikator links an der Karte */
.status-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  display: inline-block;
  flex: 0 0 auto;
}
.dot-operational { background: #198754; }
.dot-degraded    { background: #ffc107; }
.dot-down        { background: #dc3545; }
.dot-maintenance { background: #0dcaf0; }
.dot-unknown     { background: #6c757d; }

/* Incident-Liste */
.incident-item {
  border-left: 4px solid var(--bs-warning);
  border-radius: 0.4rem;
}
.incident-item.type-maintenance {
  border-left-color: var(--bs-info);
}

/* Antwortzeit-Sparkline (Detailsicht) */
.sparkline .spark-line {
  stroke: var(--bs-primary);
  stroke-width: 1.5;
  vector-effect: non-scaling-stroke;
}
.sparkline .spark-down {
  fill: #dc3545;
}

/* History-Kalender (Detailsicht) */
.day-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 3px;
}
.day-cell {
  width: 13px;
  height: 13px;
  border-radius: 3px;
  display: inline-block;
  cursor: default;
}
.day-operational { background: #198754; }
.day-degraded    { background: #ffc107; }
.day-down        { background: #dc3545; }
.day-none        { background: var(--bs-secondary-bg); }
