/* Gigi Music School 1.81.0 - Elternzugang */
.el-bereich .ub-hinweis { margin-top: 10px; }
.el-tabelle .el-notiz { width: 100%; min-width: 180px; margin-bottom: 4px; }
.el-tabelle .el-knoepfe { white-space: nowrap; }
.el-tabelle td:first-child, .el-tabelle th:first-child { width: 28px; }
.el-karte-mitte { display: flex; gap: 12px; align-items: center; margin: 6px 0 8px; }
.el-qr { flex: 0 0 96px; width: 96px; height: 96px; }
.el-qr svg { width: 96px; height: 96px; display: block; }
.el-karte .ub-ak-name { font-size: 18px; }
.el-karte .ub-ak-werte { margin: 6px 0 0; }
.el-karte .ub-ak-werte b { font-size: 18px; }
@media (max-width: 720px) {
  .el-tabelle td:first-child { display: inline-block; }
  .el-tabelle .el-knoepfe { white-space: normal; }
}
@media print {
  body.ub-drucken .el-qr, body.ub-drucken .el-qr svg { width: 30mm; height: 30mm; flex-basis: 30mm; }
}
/* 1.81.0 Ausweis im festgelegten Stil (wie Orchesterausweis), Scheckkarte 85,6 x 54 mm */
.ub-kartenraster:has(.gk-karte) { grid-template-columns: repeat(auto-fill, 85.6mm); }
.gk-karte { width: 85.6mm; min-height: 54mm; background: #fff; color: #0f172a; border: 1px solid #cbd5e1; border-radius: 12px; overflow: hidden;
  display: flex; flex-direction: column; break-inside: avoid; page-break-inside: avoid; font-family: "Segoe UI", system-ui, -apple-system, Roboto, sans-serif;
  -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.gk-kopf { display: flex; align-items: center; gap: 10px; padding: 7px 12px; background: linear-gradient(135deg, #0b1530, #18244d); border-bottom: 3px solid #3b82f6; }
.gk-logo { width: 40px; height: 40px; border-radius: 8px; display: block; }
.gk-titel { color: #fff; font-weight: 700; font-size: 15px; line-height: 1.2; }
.gk-unter { color: #9db8ff; font-size: 8px; letter-spacing: .18em; text-transform: uppercase; margin-top: 2px; }
.gk-rumpf { padding: 7px 12px 6px; flex: 1; }
.gk-name { font-size: 17px; font-weight: 700; line-height: 1.2; }
.gk-zeile { font-size: 11px; color: #64748b; margin-top: 1px; }
.gk-felder { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 6px; }
.gk-felder.gk-eins { grid-template-columns: 1fr; }
.gk-feld { background: #eef2f7; border-radius: 7px; padding: 4px 9px 3px; }
.gk-feld span { display: block; font-size: 7.5px; letter-spacing: .15em; text-transform: uppercase; color: #64748b; }
.gk-feld b { display: block; font-size: 18px; font-weight: 700; letter-spacing: .06em; color: #0f172a; white-space: nowrap; }
.gk-fuss { font-size: 8px; color: #64748b; margin-top: 5px; line-height: 1.3; }
.gk-hinten { display: flex; gap: 10px; align-items: center; padding-bottom: 2px; }
.gk-qr { flex: 0 0 23mm; width: 23mm; height: 23mm; }
.gk-qr svg { width: 100%; height: 100%; display: block; }
.gk-rechts { flex: 1; min-width: 0; }
.gk-rechts .gk-feld b { font-size: 16px; }
.gk-fuss-unten { padding: 0 12px 6px; margin-top: 0; }
/* 1.81.1 Schalter Elternzugang (nur Verwaltung): gruen AN / rot AUS */
.el-status { display: inline-block; font-size: 12px; font-weight: 800; letter-spacing: .06em; padding: 1px 9px; border-radius: 999px; color: #fff; vertical-align: 1px; }
.el-status.an { background: #16a34a; }
.el-status.aus { background: #dc2626; }
.el-schalter-zeile { display: flex; align-items: center; gap: 14px; margin: 12px 0 4px; }
.el-schalter { position: relative; flex: 0 0 96px; width: 96px; height: 40px; border-radius: 999px; border: 0; cursor: pointer; padding: 0; transition: background .2s; }
.el-schalter.an { background: #16a34a; }
.el-schalter.aus { background: #dc2626; }
.el-schalter .el-knopf { position: absolute; top: 4px; width: 32px; height: 32px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.35); transition: left .2s; }
.el-schalter.an .el-knopf { left: 60px; }
.el-schalter.aus .el-knopf { left: 4px; }
.el-schalter .el-wort { position: absolute; top: 0; line-height: 40px; color: #fff; font-weight: 800; font-size: 15px; letter-spacing: .06em; }
.el-schalter.an .el-wort { left: 14px; }
.el-schalter.aus .el-wort { right: 14px; }
.el-schalter:focus-visible { outline: 3px solid #93c5fd; outline-offset: 2px; }
.el-bausteine { border: 0; margin: 0; padding: 0; min-width: 0; }
.el-bausteine:disabled { opacity: .45; }
.el-gesperrt { margin: 10px 0; padding: 10px 14px; border-radius: 10px; background: #7f1d1d; color: #fff; font-weight: 700; border: 1px solid #dc2626; }
