Files
99admandClaude Opus 5.5 fc15f2b933 Umbenennung: Audiofy heißt jetzt Playwish
Name, Seitentitel, Dienste (playwish-web, playwish-controller), Dienst-Benutzer
(playwish), Pfade (/opt/playwish, /usr/local/src/playwish), Vorlagen und
Repository-Adresse. „Audiofy“ war bereits von mehreren Produkten belegt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 20:27:59 +01:00

128 lines
5.1 KiB
CSS
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/* Playwish – Admin-Bereich (ergänzt app.css) */
.kopf { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 4px 0 12px; }
.kopf h1 { font-size: 1.4rem; }
.pillen { display: flex; flex-wrap: wrap; gap: 6px; }
.pille { font-size: .78rem; font-weight: 700; padding: 3px 10px; border-radius: 999px; background: #333; color: var(--leise); }
.pille.gut { background: #12391f; color: var(--akzent); }
.pille.schlecht { background: #3d1717; color: var(--fehler); }
.reiter {
position: sticky;
top: 0;
z-index: 5;
display: flex;
gap: 4px;
overflow-x: auto;
background: var(--bg);
padding: 8px 0;
margin-bottom: 8px;
scrollbar-width: none;
}
.reiter button {
flex: 1 0 auto;
font: inherit;
font-weight: 600;
font-size: .95rem;
min-height: 44px;
padding: 0 14px;
border: 0;
border-radius: 999px;
background: var(--karte);
color: var(--leise);
cursor: pointer;
}
.reiter button[aria-selected="true"] { background: var(--text); color: #111; }
.zahl { display: inline-block; min-width: 20px; margin-left: 4px; padding: 0 6px; border-radius: 999px; background: var(--warnung); color: #111; font-size: .78rem; }
button.gross, a.gross {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 8px;
font: inherit;
font-weight: 700;
font-size: 1.05rem;
min-height: 52px;
padding: 0 18px;
border: 0;
border-radius: 14px;
background: #2f2f2f;
color: var(--text);
cursor: pointer;
text-decoration: none;
}
button.akzent { background: var(--akzent); color: var(--akzent-text); }
/* Symbol über dem Text */
.gross.mit-symbol { flex-direction: column; gap: 4px; min-height: 72px; padding: 8px 12px; }
.gross.mit-symbol .symbol { font-size: 1.6rem; line-height: 1; }
button.gefahr { background: #b3261e; color: #fff; }
button:disabled { opacity: .5; cursor: default; }
form#login button { width: 100%; margin-top: 14px; }
.knopfreihe { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 12px; }
.knopfreihe.zwei { grid-template-columns: repeat(2, 1fr); }
.voll { width: 100%; margin-top: 12px; }
button.klein {
font: inherit;
font-size: .85rem;
font-weight: 600;
min-height: 40px;
min-width: 40px;
padding: 0 10px;
border: 0;
border-radius: 10px;
background: #2f2f2f;
color: var(--text);
cursor: pointer;
flex: 0 0 auto;
}
button.klein.akzent { background: var(--akzent); color: var(--akzent-text); }
button.klein.gefahr { background: #4a1c1c; color: var(--fehler); }
.aktionen { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.schalter-zeile { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 0; border-top: 1px solid var(--linie); }
.schalter-zeile:first-of-type { border-top: 0; }
.schalter-zeile .text .m { white-space: normal; }
.schalter { position: relative; width: 58px; height: 34px; flex: 0 0 auto; }
.schalter input { opacity: 0; width: 100%; height: 100%; margin: 0; position: absolute; cursor: pointer; z-index: 1; }
.schalter span { position: absolute; inset: 0; border-radius: 999px; background: #444; transition: background .15s; }
.schalter span::after { content: ""; position: absolute; top: 4px; left: 4px; width: 26px; height: 26px; border-radius: 50%; background: #fff; transition: transform .15s; }
.schalter input:checked + span { background: var(--akzent); }
.schalter input:checked + span::after { transform: translateX(24px); }
.schalter input:focus-visible + span { outline: 2px solid var(--text); outline-offset: 2px; }
.feld-zeile { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 0; }
.feld-zeile input[type="number"] {
width: 96px;
font: inherit;
font-size: 1.05rem;
color: var(--text);
background: #2a2a2a;
border: 2px solid transparent;
border-radius: 10px;
padding: 8px 10px;
text-align: right;
}
input[type="range"] { width: 100%; height: 36px; accent-color: var(--akzent); }
.lautstaerke { display: flex; align-items: center; gap: 12px; margin-top: 14px; }
.lautstaerke output { min-width: 3ch; text-align: right; font-weight: 700; }
.notaus-aktiv { background: #3d1717; color: var(--fehler); border-radius: var(--radius); padding: 12px 16px; margin-bottom: 16px; font-weight: 700; }
.qr { display: block; width: 100%; max-width: 280px; margin: 12px auto; background: #fff; border-radius: 12px; padding: 8px; }
.link-feld { width: 100%; font: inherit; font-size: .9rem; color: var(--text); background: #2a2a2a; border: 0; border-radius: 10px; padding: 10px 12px; }
.fehlertext { color: var(--fehler); }
/* Legende zu den Symbol-Knöpfen – nur auf Touch-Geräten (dort gibt es keine Hover-Beschriftung) */
.legende { display: none; flex-wrap: wrap; justify-content: center; text-align: center; gap: 4px 14px; margin: 12px 0 0; padding-top: 10px; border-top: 1px solid var(--linie); color: var(--leise); font-size: .82rem; }
@media (hover: none) { .legende { display: flex; } }
.zeit { color: var(--leise); font-size: .8rem; white-space: nowrap; }
.marke.besitzer { background: #6a4cff; color: #fff; }
.marke.quelle { background: #333; color: var(--leise); }
.abstand { margin-top: 18px; }