body.admin { font-size: 1rem; }
.admin input:not([type=checkbox]) {
  font: inherit; width: 100%; padding: .55rem .7rem; border: 1px solid var(--linie);
  border-radius: 3px; background: #fff; color: var(--tinte); font-weight: 400;
}
.admin label { display: block; margin-bottom: .9rem; font-weight: 700; }
.admin label input { margin-top: .3rem; font-weight: 400; }
.knopf {
  font: inherit; font-weight: 700; background: var(--petrol); color: #fff; border: 0;
  padding: .7rem 1.6rem; border-radius: 3px; cursor: pointer;
}
.knopf:hover { background: var(--petrol-tief); }
.klein {
  font: inherit; font-size: .9rem; background: #fff; border: 1px solid var(--linie);
  padding: .35rem .7rem; border-radius: 3px; cursor: pointer; color: var(--tinte);
}
.klein:hover { border-color: var(--petrol); }
.meldung { background: var(--minze); border-left: 4px solid var(--petrol); padding: .7rem 1rem; }
.meldung.fehler { background: #fbe9e5; border-left-color: #b5442e; }
.hilfe { color: var(--leise); max-width: 46rem; }

.anmelden { display: grid; place-items: center; min-height: 100vh; padding: 1rem; }
.anmelden form { background: #fff; padding: 2rem; border: 1px solid var(--linie); border-radius: 4px; width: min(26rem, 100%); }
.anmelden h1 { font-size: 1.6rem; }

.ad-kopf { display: flex; justify-content: space-between; gap: 1rem; padding: .9rem 1.25rem; background: var(--petrol-tief); color: #fff; }
.ad-kopf a { color: #fff; }
.ad-rahmen { display: grid; grid-template-columns: 13rem 1fr; min-height: calc(100vh - 3rem); }
.ad-menue { background: #fff; border-right: 1px solid var(--linie); padding: 1rem 0; }
.ad-menue a { display: block; padding: .55rem 1.25rem; text-decoration: none; color: var(--tinte); border-left: 4px solid transparent; }
.ad-menue a[aria-current] { border-left-color: var(--petrol); background: var(--minze); font-weight: 700; }
.ad-inhalt { padding: 1.75rem 2rem 4rem; max-width: 52rem; }
.ad-inhalt h1 { font-size: 1.75rem; }

.abschnitt { background: #fff; border: 1px solid var(--linie); border-radius: 4px; padding: 1rem; margin-bottom: 1.25rem; }
.ab-kopf { display: flex; gap: .4rem; margin-bottom: .75rem; }
.ab-kopf .ab-titel { font-weight: 700; font-size: 1.1rem; }
.ab-bild-l { font-weight: 400 !important; font-size: .9rem; }
.leiste { display: flex; flex-wrap: wrap; gap: .3rem; padding: .4rem; background: var(--papier); border: 1px solid var(--linie); border-bottom: 0; border-radius: 3px 3px 0 0; }
.leiste button { font: inherit; font-size: .88rem; background: #fff; border: 1px solid var(--linie); padding: .25rem .6rem; border-radius: 3px; cursor: pointer; }
.leiste button:hover { border-color: var(--petrol); }
.ab-text { min-height: 6rem; padding: .8rem 1rem; border: 1px solid var(--linie); border-radius: 0 0 3px 3px; font-size: 1.05rem; }
.ab-text:focus { outline: 2px solid var(--petrol); outline-offset: -1px; }

.zeit-block { border: 1px solid var(--linie); background: #fff; border-radius: 4px; padding: 1rem; margin: 0 0 1.25rem; }
.z-zeile { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem .6rem; padding: .5rem 0; border-top: 1px solid var(--linie); }
.z-zeile .tag { display: inline-flex; gap: .2rem; align-items: center; margin: 0; font-weight: 400; }
.z-zeile .z-zeit { width: 10rem; }
.z-neu { margin-top: .5rem; }

@media (max-width: 48rem) {
  .ad-rahmen { grid-template-columns: 1fr; }
  .ad-menue { display: flex; overflow-x: auto; padding: 0; border-right: 0; border-bottom: 1px solid var(--linie); }
  .ad-menue a { white-space: nowrap; border-left: 0; border-bottom: 3px solid transparent; }
  .ad-menue a[aria-current] { border-bottom-color: var(--petrol); }
  .ad-inhalt { padding: 1.25rem; }
}

.zeit-block legend { font-weight: 700; font-size: 1.15rem; padding: 0 .3rem; }
.admin textarea { font: inherit; width: 100%; padding: .55rem .7rem; border: 1px solid var(--linie); border-radius: 3px; margin-top: .3rem; font-weight: 400; }
.admin input.kurz { width: 9rem; }
.s-zeile { display: grid; grid-template-columns: 10.5rem 10.5rem 1fr; gap: .2rem .8rem; align-items: end; padding: .8rem 0; border-top: 1px solid var(--linie); }
.s-zeile label { margin-bottom: 0; }
.s-zeile .breit { grid-column: 1 / -1; }
.s-zeile .s-weg { justify-self: start; }
@media (max-width: 40rem) { .s-zeile { grid-template-columns: 1fr 1fr; } }

.ad-ich { opacity: .85; }
.ad-trenner { display: block; height: 1px; background: var(--linie); margin: .75rem 1.25rem; }
.ad-h2 { font-size: 1.2rem; margin: 2rem 0 .75rem; }
.admin select { font: inherit; font-weight: 400; width: 100%; padding: .55rem .7rem; border: 1px solid var(--linie); border-radius: 3px; background: #fff; margin-top: .3rem; color: var(--tinte); }
.admin label.haken { display: flex; gap: .5rem; align-items: center; font-weight: 400; }
.tabelle-rahmen { overflow-x: auto; background: #fff; border: 1px solid var(--linie); border-radius: 6px; margin-bottom: 1.5rem; }
.ad-tabelle { width: 100%; border-collapse: collapse; font-size: .95rem; }
.ad-tabelle th, .ad-tabelle td { text-align: left; padding: .6rem .8rem; border-bottom: 1px solid var(--linie); vertical-align: top; }
.ad-tabelle th { background: var(--papier); font-weight: 700; white-space: nowrap; }
.ad-tabelle tr:last-child td { border-bottom: 0; }
.ad-tabelle .leise, .leise { color: var(--leise); font-size: .88rem; }
.protokoll td:first-child { white-space: nowrap; }
.protokoll tr.warn td { background: #fbe9e5; }
.pille { display: inline-flex; align-items: center; gap: .45rem; font-size: .92rem; color: var(--leise); }
.pille::before { content: ""; width: .55rem; height: .55rem; border-radius: 50%; background: #b3bec1; }
.pille-ok { color: #1c8a55; font-weight: 700; }
.pille-ok::before { background: var(--gruen); }
.admin ul li::before { display: none; }
.admin ul { list-style: disc; padding-left: 1.2em; }
.admin ul li { padding-left: 0; }
.knopf-reihe { display: flex; gap: 1rem; align-items: center; }
.loeschen { margin: -0.5rem 0 1.5rem; }
.gefahr { color: #b5442e; border-color: #e5b5aa; }
.gefahr:hover { border-color: #b5442e; }
.filter { display: flex; flex-wrap: wrap; gap: 1rem; align-items: end; margin-bottom: 1rem; }
.filter label { margin-bottom: 0; }
.filter select { min-width: 14rem; }
.form-titel { font-weight: 700; font-size: 1.15rem; margin: 0 0 .9rem; }
.farb-reihe { display: flex; gap: 2rem; }
.farb-reihe input[type=color] { width: 5rem !important; height: 2.6rem; padding: .2rem !important; cursor: pointer; }
.admin code { background: var(--papier); padding: .1rem .35rem; border-radius: 4px; }
.update-info { margin-top: 1rem; padding: 1rem 1.2rem; background: var(--minze); border-radius: 8px; }
.update-info ul { margin: .5rem 0 1rem; }
.handbuch-karte .knopf { text-decoration: none; display: inline-block; }
.schalter-gruppe { display: flex; gap: 2rem; margin-bottom: .4rem; }
.meldung.aus { background: #f1f3f3; border-left-color: #9aa8ac; }
.ad-rahmen.ohne-menue { grid-template-columns: 1fr; }
