* { box-sizing: border-box; font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; }

body { margin: 50px; background:#0b1020; color:#e9eefb; }

h1,h2,h3 { margin:0 0 8px 0; }

h1 { margin-left: 20px}

input, select, textarea, button {
  font-size:14px;
  outline:none;
  border-radius:10px;
}

input, select, textarea {
  background:#0d1430;
  border:1px solid #223067;
  color:#e9eefb;
  padding:10px;
  width: 100%;
}

input::placeholder, textarea::placeholder{ color:#7f92c9; }

textarea { min-height:70px; resize:vertical; }

button {
  border:none;
  cursor:pointer;
  padding:8px 12px;
  border-radius:10px;
  background:#223065;
  color:#e9eefb;
}

button.primary { background:#4caf50; color:#071023; font-weight:700; }
button.danger { background:#e53935; color:#071023; font-weight:700; }
button.ghost { background:transparent; border:1px dashed #36509a; }
button.small { padding:4px 8px; font-size:12px; }

main { display:grid; grid-template-columns:280px 1fr; gap:16px; padding:16px; }
@media (max-width:980px){ main{ grid-template-columns:1fr; } }

.card {
  background:#1e264f;
  border:1px solid #1e2a52;
  border-radius:14px;
  box-shadow:0 10px 30px rgba(0,0,0,.25);
  padding:12px 14px;
  margin-bottom:12px;
}

.filters { display:flex; flex-direction:column; gap:8px; margin-bottom:12px; }

.list { max-height: calc(100vh - 220px); overflow:auto; }

.item {
  border-top:1px solid #1e2a52;
  padding:10px 12px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  opacity:1;
  transition: background 0.2s;
}
.item:first-child{ border-top:0; }
.item:hover { background: #0f1535; }

.item-right { display:flex; gap:6px; opacity:0; transition: opacity 0.2s; }
.item:hover .item-right { opacity:1; }

.title { font-weight:700; }
.muted { color:#7f92c9; font-size:12px; }

#form input, #form select, #form textarea { margin-bottom:8px; }

.form-buttons { display:flex; gap:8px; margin-top:10px; }

footer {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background: #1e264f;
  border-top: 1px solid #1e2a52;
  padding: 10px;
  text-align: left;
}

footer a {
  color: #e9eefb;
  text-decoration: none;
}

footer a:hover {
  text-decoration: underline;
}

.impressum-container {
  max-width: 800px;
  margin: 50px auto;
  padding: 20px;
  background: #1e264f;
  border-radius: 14px;
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
}

.impressum-container h1, .impressum-container h2 {
  color: #e9eefb;
}

.impressum-container p {
  color: #e9eefb;
  line-height: 1.6;
}

.impressum-container a {
  color: #4caf50;
  text-decoration: none;
}

.impressum-container a:hover {
  text-decoration: underline;
}
