body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background-color: #f4f7f6;
    color: #333;
    max-width: 1024px;
    margin: 10px auto;
    padding: 10px;
}

h1, h2, h3 { color: #2c3e50; }

/* Spezielle Anpassung für die Versionsanzeige */
.versionsanzeige {
font-size: 10pt; /* Etwas kleiner, um mehr Namen unterzubringen */
}

.card {
    background: white;
    padding: 5px;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    margin-bottom: 20px;
}

/* Event Auswahl */
select {
    padding: 10px;
    border-radius: 6px;
    border: 1px solid #ddd;
    width: 100%;
    font-size: 16px;
}

/* Status Buttons */
.status-group {
    display: flex;
    gap: 15px;
    margin-top: 20px;
}

.btn-vote {
    flex: 1;
    padding: 15px;
    border: 2px solid #eee;
    border-radius: 10px;
    cursor: pointer;
    font-weight: bold;
    background: #fafafa;
    transition: all 0.3s;
}

.btn-ja:hover { border-color: #28a745; color: #28a745; }
.btn-nein:hover { border-color: #dc3545; color: #dc3545; }

.active-ja { 
    background-color: #28a745 !important; 
    color: white !important; 
    border-color: #218838 !important; 
}

.active-nein { 
    background-color: #dc3545 !important; 
    color: white !important; 
    border-color: #c82333 !important; 
}

.active-offen { 
    background-color: yellow !important; 
    color: black !important; 
    border-color: #c82333 !important; 
}

/* Admin Bereich */
table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 15px;
}

th, td {
    text-align: left;
    padding: 5px;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
}

.badge {
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 12px;
}
.badge-ja { background: #d4edda; color: #155724; }
.badge-nein { background: #f8d7da; color: #721c24; }

/* Tabellen für Liste der Teilnehmer  */
.container {
  display: flex;
  flex-wrap: wrap; /* Erlaubt Umbruch */
}

.spalte {
  flex: 1 1 100%; /* Standard: Volle Breite auf Handy */
  background: #d4edda; color: #155724;
}


/* Ab 768px Breite (Tablets/Desktop) */
@media (min-width: 768px) {
  .spalte {
	flex: 1; /* Drei Spalten nebeneinander */
	background: #f8d7da; color: #721c24;
  }
}

/* Druckausgaben */

@media print {
  .no-print {
    display: none !important;
  }
  /* Container Teilnehmerliste als Flex-Reihe erzwingen */
  .container {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    width: 100%;
  }

  /* Jede Spalte auf exakt 33% setzen */
  .spalte {
    flex: 0 0 33.33% !important;
    max-width: 33.33% !important;
    box-sizing: border-box;
    padding: 3px; /* Optional für etwas Abstand */
    background: transparent !important; /* Spart Tinte beim Druck */
    color: #000 !important;
	/* Seitenumbruch im Namen verhindern */
    page-break-inside: avoid; /* Für ältere Browser */
    break-inside: avoid;      /* Standard für moderne Browser */
  }

  /* Schriftgrößen für den Druck */
  body {
    font-size: 10pt; /* Standardgröße für gute Lesbarkeit */
    line-height: 1; /* Zeilenabstand etwas verringern */
  }

  /* Spezielle Anpassung für die Teilnehmerliste */
  .spalte {
    font-size: 5pt; /* Etwas kleiner, um mehr Namen unterzubringen */
  }

  /* Optional: Überschriften in den Spalten */
  .spalte h3 {
    font-size: 11pt;
    margin-bottom: 5px;
    text-transform: uppercase; /* Bessere Struktur ohne Fettdruck */
  }
}

        /* Container für die 4 Felder in einer Reihe */
        .form-row {                
            display: flex;
            gap: 2px; /* Abstand zwischen den Spalten */
            flex-wrap: wrap; /* Zeilenumbruch auf kleinen Bildschirmen */
        }

        /* Container für Label + Input Paar */
        .form-group {
            display: flex;
            flex-direction: column; /* Label oberhalb des Inputs */
            flex: 1; /* Gleichmäßige Breite */
            min-width: 300px; /* Verhindert zu schmale Felder */
        }

        label {
            margin-bottom: 5px;
            font-weight: bold;
        }

        input {
            padding: 8px;
            border: 1px solid #ccc;
            border-radius: 4px;
        }

        button {
            margin-top: 5px;
            padding: 5px 10px;
        }
