:root {
  --navy: #162A44;
  --navy-light: #1f3a5f;
  --red: #C0392B;
  --gold: #E8B84B;
  --bg: #0e1a2b;
  --card: #16273f;
  --card-border: #24405f;
  --text: #e9edf2;
  --text-dim: #93a4bd;
}

body {
  background: var(--bg);
  color: var(--text);
  font-family: "Segoe UI", system-ui, sans-serif;
}

.navbar {
  background: var(--navy) !important;
  border-bottom: 3px solid var(--red);
}
.navbar-brand { font-weight: 700; letter-spacing: .5px; }
.navbar .nav-link { color: var(--text) !important; }
.navbar .nav-link.active { color: var(--gold) !important; }

.card {
  background: var(--card);
  border: 1px solid var(--card-border);
  color: var(--text);
}
.card-header { background: var(--navy-light); border-bottom: 1px solid var(--card-border); }

a { color: var(--gold); }
a:hover { color: #f5cf7a; }

.btn-primary { background: var(--red); border-color: var(--red); }
.btn-primary:hover { background: #a5311f; border-color: #a5311f; }
.btn-outline-light { border-color: var(--card-border); }

.form-control, .form-select {
  background: var(--bg); color: var(--text); border-color: var(--card-border);
}
.form-control:focus, .form-select:focus {
  background: var(--bg); color: var(--text); border-color: var(--gold);
  box-shadow: 0 0 0 .2rem rgba(232,184,75,.25);
}
.form-control::placeholder { color: var(--text-dim); }

.table { color: var(--text); }
.table > :not(caption) > * > * { background: transparent; border-color: var(--card-border); }
.table-hover > tbody > tr:hover > * { background: rgba(255,255,255,.04); }

.chip-grid { display: flex; flex-wrap: wrap; gap: .75rem; }
.char-chip {
  background: var(--card); border: 1px solid var(--card-border); border-radius: 999px;
  padding: .5rem 1rem; display: flex; align-items: center; gap: .5rem; text-decoration: none;
  color: var(--text); transition: border-color .15s;
}
.char-chip:hover { border-color: var(--gold); color: var(--text); }
.char-chip img { width: 28px; height: 28px; border-radius: 50%; object-fit: cover; background: var(--navy-light); }

.thumb { width: 90px; height: 60px; object-fit: cover; border-radius: 6px; background: var(--navy-light); }
.thumb-lg { width: 100%; max-width: 260px; border-radius: 8px; }

.status-pill {
  display: inline-block; padding: .2rem .65rem; border-radius: 999px; font-size: .78rem;
  border: 1px solid var(--card-border);
}
.status-fertig { background: rgba(72,187,120,.15); border-color: #48bb78; color: #7fe3a5; }
.status-geplant { background: rgba(232,184,75,.12); border-color: var(--gold); color: var(--gold); }

.gallery { display: flex; flex-wrap: wrap; gap: .75rem; }
.gallery figure { margin: 0; text-align: center; }
.gallery img { width: 140px; height: 140px; object-fit: cover; border-radius: 8px; border: 1px solid var(--card-border); }

.scene-row td { vertical-align: middle; }
textarea.direction-note { min-height: 42px; }

.safezone-hint { color: var(--text-dim); font-size: .85rem; }
