/* Serververwaltung — Rechtevergabe */

.rechte-tabelle td { vertical-align: middle; }
.rechte-tabelle .mitte { text-align: center; }
.rechte-tabelle tr.abwesend { opacity: 0.62; }

.spielerzeile { display: flex; align-items: center; gap: 0.7rem; }
.spielerzeile .avatar {
    width: 30px; height: 30px; border-radius: 50%; flex: none;
    background: var(--surface3); border: 1px solid var(--border);
    display: flex; align-items: center; justify-content: center;
    font-family: var(--cond); font-weight: 700; font-size: var(--fs-sm); color: var(--text-dim);
}
.spielerzeile .sname { color: var(--text); font-size: var(--fs-sm); }
.spielerzeile .sid   { color: var(--text-dim); font-size: var(--fs-2xs); }
.spielerzeile .weg {
    font-size: var(--fs-3xs); text-transform: uppercase; letter-spacing: 0.08em;
    color: var(--text-dim); border: 1px solid var(--border);
    border-radius: 999px; padding: 0.02rem 0.35rem; margin-left: 0.25rem;
}

.marke {
    font-size: var(--fs-3xs); font-weight: 700; text-transform: uppercase;
    letter-spacing: 0.08em; padding: 0.12rem 0.5rem; border-radius: 999px;
}
.marke-owner      { background: rgba(232,25,44,0.15);  color: var(--red);    border: 1px solid rgba(232,25,44,0.3); }
.marke-berechtigt { background: rgba(79,142,247,0.12); color: var(--blue);   border: 1px solid rgba(79,142,247,0.25); }
.marke-kraft      { background: rgba(255,255,255,0.04); color: var(--text-dim); border: 1px solid var(--border); }

.rechte-tabelle .immer { font-size: var(--fs-2xs); color: var(--text-dim); }

/* Schalter */
.schalter { display: inline-flex; align-items: center; cursor: pointer; user-select: none; }
.schalter input { position: absolute; opacity: 0; width: 0; height: 0; }
.schalter .bahn {
    width: 40px; height: 22px; border-radius: 999px; flex: none;
    background: var(--surface3); border: 1px solid var(--linie-stark);
    position: relative; transition: background 0.18s, border-color 0.18s;
}
.schalter .bahn::after {
    content: ''; position: absolute; top: 2px; left: 2px;
    width: 15px; height: 15px; border-radius: 50%;
    background: var(--text-dim); transition: transform 0.18s, background 0.18s;
    box-shadow: var(--shadow-1);
}
.schalter input:checked + .bahn { background: var(--red-dim); border-color: var(--border-red); }
.schalter input:checked + .bahn::after {
    transform: translateX(18px); background: var(--red);
    box-shadow: none;
}
.schalter input:disabled + .bahn { opacity: 0.35; cursor: not-allowed; }

/* Jemanden aufnehmen */
.zufuegen { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.zufuegen .feld { flex: 1; min-width: 150px; }
.zufuegen .btn  { flex: none; }
.zufuegen-hinweis { margin-top: 0.6rem; font-size: var(--fs-xs); color: var(--text-dim); min-height: 1.1em; }
.zufuegen-hinweis.gut    { color: var(--green); }
.zufuegen-hinweis.fehler { color: #ff6b7a; }

@media (max-width: 860px) {
    .zufuegen .feld, .zufuegen .btn { flex: 1 1 100%; }
    .rechte-tabelle { min-width: 520px; }
}
