@charset "UTF-8";
/* Zentraler Zugriff über eindeutige Schlüssel */
/* Grid-Basis: multipliziert Grid-Einheiten mit der Basislinie ($leading) */
/* Quantisierung: rundet eine Zahl auf Vielfache eines Schritts (z. B. Viertel-Grids) */
/* Quantisierte Grids: erzwingt rastergenaue Werte (z. B. 0.25er-Schritte) */
/* Pixel-Rundung: runde Pixelwerte auf Schrittweite (Default: ganze Pixel) */
html,
body,
header,
main,
footer,
section,
article,
ul,
ol,
li,
div,
figure,
iframe,
img {
  box-sizing: border-box;
  display: block;
  border-style: none;
  color: inherit;
  background-color: inherit;
  margin: 0;
  padding: 0;
  border: 0;
}

.clearfix::after {
  content: "";
  clear: both;
  display: table;
  margin-bottom: 25.888px;
}

html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

a {
  background-color: transparent;
}

img {
  border-style: none;
}

[hidden] {
  display: none;
}

.visually-hidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  border: 0;
  white-space: nowrap;
}

.icon {
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-right: 0.35em;
  vertical-align: -0.15em;
  fill: currentColor;
}

/* Profile Edit Form Component (source of truth)
   Note: Button styles are provided globally by .btn/.btn-* in akms.scss.
   This partial intentionally does not style buttons beyond layout. */
.profile-edit-form {
  max-width: 520px;
  margin: 2em 0 2em 0;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.07);
  padding: 2.5em 2.5em 2em 2.5em;
  text-align: left;
}
.profile-edit-form h1 {
  margin-top: 0;
  margin-bottom: 1.5em;
  font-size: 1.8248330863rem;
  text-align: center;
}
.profile-edit-form .form-message--success {
  background: #d4edda;
  color: #155724;
  border: 1px solid #c3e6cb;
  border-radius: 5px;
  padding: 10px;
  margin-bottom: 1em;
  text-align: center;
}
.profile-edit-form .form-message--error {
  background: #f8d7da;
  color: #721c24;
  border: 1px solid #f5c6cb;
  border-radius: 5px;
  padding: 10px;
  margin-bottom: 1em;
  text-align: center;
}
.profile-edit-form .form-row {
  display: flex;
  align-items: center;
  margin-bottom: 1.2em;
}
.profile-edit-form .form-icon {
  flex: 0 0 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 0.5em;
  margin-top: 0.1em;
}
.profile-edit-form .form-icon .icon {
  width: 28px;
  height: 28px;
  fill: rgb(24, 57, 113);
}
.profile-edit-form .form-field-group {
  flex: 1 1 0%;
  display: flex;
  flex-direction: column;
  gap: 0.1em;
}
.profile-edit-form .form-field-group label {
  display: none;
}
.profile-edit-form .form-field-group input[type="text"],
.profile-edit-form .form-field-group input[type="email"],
.profile-edit-form .form-field-group input[type="url"] {
  padding: 0.5em 0.7em;
  border: 1px solid #bbb;
  border-radius: 4px;
  font-size: 1rem;
}
.profile-edit-form .form-field-group .public-field {
  border: 2px solid #d32f2f !important;
}
.profile-edit-form .form-hint {
  color: #666;
  font-size: 0.7861596349rem;
  margin-top: 0.1em;
  margin-bottom: 0.1em;
}
.profile-edit-form .form-hint.public-hint {
  color: #d32f2f;
  font-weight: 600;
  margin-top: 0.1em;
}

/* Responsive tweaks */
@media (max-width: 600px) {
  .profile-edit-form {
    padding: 1em 0.5em;
  }
  .profile-edit-form .form-row {
    flex-direction: column;
    align-items: stretch;
  }
}
nav {
  min-height: 77.664px;
  background-color: rgb(253, 238, 224);
}
nav input.menu-toggle {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  overflow: hidden;
  white-space: nowrap;
}
nav input.menu-toggle:focus-visible + label.menu-toggle-label {
  outline: 3px solid #e00;
  outline-offset: 4px;
}
@media (prefers-color-scheme: dark) {
  nav input.menu-toggle:focus-visible + label.menu-toggle-label {
    outline-color: #e00;
  }
}
nav input.menu-toggle:checked ~ .menu {
  max-height: 517.76px;
  padding: 0 0 25.888px 0;
  opacity: 1;
}
nav input.menu-toggle:checked ~ label.menu-toggle-label span.hamburger {
  background: transparent;
}
nav input.menu-toggle:checked ~ label.menu-toggle-label span.hamburger:before {
  transform: rotate(-45deg);
  top: 0;
  background-color: #e00;
}
@media (prefers-color-scheme: dark) {
  nav
    input.menu-toggle:checked
    ~ label.menu-toggle-label
    span.hamburger:before {
    background-color: #e00;
  }
}
nav input.menu-toggle:checked ~ label.menu-toggle-label span.hamburger:after {
  transform: rotate(45deg);
  top: 0;
  background-color: #e00;
}
@media (prefers-color-scheme: dark) {
  nav input.menu-toggle:checked ~ label.menu-toggle-label span.hamburger:after {
    background-color: #e00;
  }
}
nav label.menu-toggle-label {
  padding: 36.2432px 31.0656px 10.3552px 0;
  margin: 0;
  border: 0;
  display: block;
  cursor: pointer;
  float: right;
  position: relative;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  height: 20.7104px;
  width: 33.6544px;
}
nav label.menu-toggle-label span.hamburger {
  background-color: #333;
}
@media (prefers-color-scheme: dark) {
  nav label.menu-toggle-label span.hamburger {
    background-color: #333;
  }
}
nav label.menu-toggle-label span.hamburger {
  display: block;
  height: 5px;
  position: relative;
  width: 33.6544px;
  border-radius: 2px;
  transition: background 0.3s ease-in-out;
}
nav label.menu-toggle-label span.hamburger::before,
nav label.menu-toggle-label span.hamburger::after {
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  width: 100%;
  border-radius: 2px;
  transition: all 0.3s ease-in-out;
  background-color: #333;
}
@media (prefers-color-scheme: dark) {
  nav label.menu-toggle-label span.hamburger::before,
  nav label.menu-toggle-label span.hamburger::after {
    background-color: #333;
  }
}
nav label.menu-toggle-label span.hamburger::before {
  top: 10.3552px;
}
nav label.menu-toggle-label span.hamburger::after {
  top: -10.3552px;
}
nav ul.menu {
  width: 100%;
  list-style: none;
  overflow: hidden;
  clear: both;
  max-height: 0;
  padding: 0;
  margin: 0;
  opacity: 0;
  transition: all 0.5s ease;
}
nav ul.menu li {
  font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 700;
  font-size: 1.2720062893rem;
  line-height: 1.618;
  text-align: center;
  padding: 12.944px;
}
nav ul.menu li:hover,
nav ul.menu li:focus {
  border-radius: 5px;
  background-color: #eaeaea;
}
@media (prefers-color-scheme: dark) {
  nav ul.menu li:hover,
  nav ul.menu li:focus {
    background-color: #eaeaea;
  }
}
nav ul.menu li a {
  display: block;
  background-color: transparent;
}
nav ul.menu li a.hervorhebung,
nav ul.menu li a[aria-current="page"] {
  color: #e00;
  background-color: transparent;
}
@media (prefers-color-scheme: dark) {
  nav ul.menu li a.hervorhebung,
  nav ul.menu li a[aria-current="page"] {
    color: #e00;
  }
}

@media only screen and (min-width: 725.864px) {
  nav {
    position: relative;
    min-height: 77.664px;
    width: 100%;
    background-color: rgb(253, 238, 224);
    text-align: center;
  }
  nav label.menu-toggle-label {
    display: none;
  }
  nav input.menu-toggle:checked ~ .menu {
    padding: 0;
  }
  nav ul.menu {
    clear: none;
    float: right;
    max-height: none;
    padding: 0;
    opacity: 1;
  }
  nav ul.menu li {
    display: inline-block;
    padding-top: 19.416px;
    padding-left: 0;
    padding-right: 25.888px;
    padding-bottom: 12.944px;
    font-weight: bold;
    font-size: 1.2720062893rem;
    line-height: 1.5em;
  }
  nav ul.menu li ~ :first-child {
    padding-left: 50px;
  }
  nav ul.menu li ~ :last-child {
    padding-right: 0;
  }
  nav ul.menu li:hover,
  nav ul.menu li:focus {
    background: transparent;
  }
  nav ul.menu li:hover a,
  nav ul.menu li:focus a {
    color: inherit;
  }
  nav ul.menu li a {
    padding-top: 0;
    background-image: none;
  }
  nav ul.menu li a:hover,
  nav ul.menu li a:focus {
    color: #e00;
  }
}
@media only screen and (min-width: 725.864px) and (prefers-color-scheme: dark) {
  nav ul.menu li a:hover,
  nav ul.menu li a:focus {
    color: #e00;
  }
}
.akkordeon {
  margin: 12.944px 0;
}

.akkordeon--protocols {
  display: flex;
  flex-direction: column;
  gap: 6.472px;
}
.akkordeon--protocols details {
  border-radius: 8px;
  background: transparent;
  border: 0;
  border-bottom: 1px solid #e6e9ee;
  box-shadow: none;
  padding: 6.472px 0;
}
.akkordeon--protocols details:last-of-type {
  border-bottom: 0;
}
.akkordeon--protocols summary {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 19.416px;
  padding: 12.944px 19.416px;
  padding-left: 0;
  cursor: pointer;
  list-style: none;
  border-radius: 8px;
  background-color: transparent;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.akkordeon--protocols summary::-webkit-details-marker {
  display: none;
}
.akkordeon--protocols summary:focus-visible {
  outline: 2px solid #e00;
  outline-offset: 2px;
}
.akkordeon--protocols summary:hover {
  background-color: transparent;
  color: #e00;
}
.akkordeon--protocols summary:focus {
  background-color: transparent;
}
.akkordeon--protocols .akk-summary {
  display: flex;
  flex-direction: column;
  gap: 3.8832px;
  width: 100%;
}
.akkordeon--protocols .akk-summary__date {
  font-weight: 600;
  color: #333;
}
.akkordeon--protocols .akk-summary__title {
  font-weight: 600;
  color: #333;
}
.akkordeon--protocols .akk-summary__preview {
  color: #666;
  font-size: 0.7861596349rem;
}
.akkordeon--protocols .akk-summary__indicator {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 12px;
  height: 12px;
  color: inherit;
  transition: transform 0.2s ease, color 0.2s ease;
}
.akkordeon--protocols .akk-summary__indicator::before {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  border-right: 3px solid currentColor;
  border-bottom: 3px solid currentColor;
  transform: rotate(45deg);
  box-sizing: border-box;
  transition: transform 0.2s ease;
}
.akkordeon--protocols details[open] > summary {
  color: #e00;
  background-color: transparent;
}
.akkordeon--protocols details[open] > summary .akk-summary__indicator::before {
  transform: rotate(-135deg);
}
.akkordeon--protocols .akkordeon_content {
  padding: 12.944px 19.416px 19.416px;
  padding-left: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 0 0 8px 8px;
  background-color: transparent;
}
.akkordeon--protocols .akk-description {
  margin: 0 0 12.944px 0;
  line-height: 1.6;
}
.akkordeon--protocols .akk-description br {
  line-height: 2;
}
.akkordeon--protocols .akk-download {
  margin: 0;
}
.akkordeon--protocols .akk-download__link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 600;
  text-decoration: none;
  color: #e00;
}
.akkordeon--protocols .akk-download__link:hover,
.akkordeon--protocols .akk-download__link:focus {
  color: #bb0000;
  text-decoration: underline;
}
.akkordeon--protocols .akk-download__link::after {
  content: "↗";
  font-size: 0.875em;
  line-height: 1;
}
@media (max-width: 363.432px) {
  .akkordeon--protocols summary {
    flex-direction: column;
    align-items: flex-start;
  }
  .akkordeon--protocols .akk-summary__indicator {
    margin-top: 3.8832px;
  }
}

html {
  font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 125%;
  background-color: rgb(253, 238, 224);
  color: #333;
}

.rot {
  color: #e00;
}

body {
  margin: 0;
}
body a {
  text-decoration: none;
  color: inherit;
}
body a:hover {
  text-decoration: none;
  color: #e00;
}

.role-tabs {
  margin: 25.888px 0 38.832px 0;
  padding: 15.5328px 19.416px;
  border: 1px solid rgba(24, 57, 113, 0.14);
  border-radius: 16px;
  background: linear-gradient(
    90deg,
    rgba(24, 57, 113, 0.08),
    rgba(24, 57, 113, 0.04)
  );
  box-shadow: 0 12px 40px rgba(24, 57, 113, 0.08);
}

.role-tabs__tablist {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  padding: 4px 0;
}

.role-tabs__tab {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 1px solid rgba(24, 57, 113, 0.22);
  background: rgba(255, 255, 255, 0.65);
  color: rgb(24, 57, 113);
  padding: 9px 14px;
  border-radius: 999px;
  font-weight: 600;
  cursor: pointer;
  letter-spacing: 0.02em;
  transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease,
    border-color 0.2s ease;
}

.role-tabs__tab[aria-selected="true"] {
  background: linear-gradient(
    120deg,
    rgb(24, 57, 113),
    rgb(34.7211678832, 82.4627737226, 163.4788321168)
  );
  color: #fff;
  border-color: transparent;
  box-shadow: 0 10px 30px rgba(24, 57, 113, 0.25);
}

.role-tabs__panel {
  margin-top: 10px;
}

.role-tabs__links {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.role-tabs.is-enhanced .role-tabs__panel {
  display: none;
}

.role-tabs.is-enhanced .role-tabs__panel[aria-hidden="false"] {
  display: block;
}

.role-tabs__tab {
  touch-action: manipulation;
}

@supports not (
  (
    (-webkit-filter: drop-shadow(0 0 1px #000)) or
      (filter: drop-shadow(0 0 1px #000))
  )
) {
  main div.links div.svg-karte a use {
    fill: #d6dbe7;
    stroke: #b7bccc;
    -webkit-filter: none;
    filter: none;
  }
  main div.links div.svg-karte a:hover use,
  main div.links div.svg-karte a:focus use,
  main div.links div.svg-karte a:active use,
  main div.links div.svg-karte a.is-linked-hover use {
    fill: #1f2f6d;
    stroke: #1f2f6d;
  }
  main div.links div.svg-karte .info text {
    background: rgba(255, 255, 255, 0.95);
    padding: 6px;
  }
}
@media (hover: none) {
  main div.links div.svg-karte a use {
    -webkit-filter: none;
    filter: none;
    fill: #d6dbe7;
    stroke: #b7bccc;
  }
  main div.links div.svg-karte a.is-linked-hover use,
  main div.links div.svg-karte a:active use {
    fill: #1f2f6d;
    stroke: #1f2f6d;
  }
  main div.links div.svg-karte .info text {
    background: rgba(255, 255, 255, 0.95);
    padding: 6px;
  }
}
@media (max-width: 640px) {
  .role-tabs {
    padding-left: 6.472px;
    padding-right: 6.472px;
    padding: 12.944px 12.944px;
  }
  .role-tabs__tab {
    flex: 1 1 calc(50% - 8px);
    text-align: center;
  }
}
header {
  width: 100%;
}
header div.logo {
  position: relative;
  z-index: 1;
  display: block;
  padding: 12.944px 12.944px;
  width: 100%;
  box-sizing: border-box;
  background: linear-gradient(90deg, #14305f 0%, #1c448c 55%, #2858b5 100%);
  color: #fff;
  overflow: hidden;
}
header div.logo.logo--badge::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(
      120% 90% at 88% 15%,
      rgba(255, 255, 255, 0.18),
      transparent 65%
    ),
    radial-gradient(
      140% 100% at 85% 18%,
      rgba(255, 255, 255, 0.08),
      transparent 75%
    );
  mix-blend-mode: screen;
  pointer-events: none;
  z-index: 0;
  background-size: cover;
  opacity: 0.5;
}
header div.logo.logo--badge::after {
  content: "";
  position: absolute;
  left: 0;
  top: 16%;
  bottom: 16%;
  width: 4px;
  border-radius: 0 4px 4px 0;
  background: linear-gradient(180deg, #e84a4a, #ff8a50);
  pointer-events: none;
  z-index: 0;
}
header div.logo .bild {
  float: left;
  max-width: 30%;
  margin: 0 12.944px 0 0;
  z-index: 1;
}
header div.logo .bild img {
  max-height: 142.384px;
  max-width: 100%;
  width: auto;
  height: auto;
  aspect-ratio: 125 / 281;
  display: block;
}
header div.logo .logo__info {
  display: block;
  min-width: 0;
  margin-bottom: 0;
  z-index: 1;
  margin: 0;
  font-weight: 700;
  line-height: 1.3;
  color: #fff;
}
header div.logo .logo__info .logo__label {
  display: block;
  font-size: 1.2720062893rem;
  font-weight: 800;
  line-height: 1.05;
}
header div.logo .logo__info .logo__sub {
  display: block;
  font-size: 1rem;
  font-weight: 300;
  opacity: 0.9;
}
header a.is-linked-hover use {
  fill: #1f2f6d;
  stroke: #1f2f6d;
}
header .logo__districts {
  display: none;
  list-style: none;
  margin: 0;
  padding: 0;
}
header .logo__districts li {
  display: inline;
  margin-right: 5.1776px;
}
header .logo__districts li + li::before {
  content: "";
}
header .logo__districts a {
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  text-decoration: none;
  font-size: 0.62rem;
  line-height: 1.4;
  display: inline;
  font-weight: 700;
  -webkit-hyphens: manual;
  -ms-hyphens: manual;
  hyphens: manual;
}
header .logo__districts a:hover,
header .logo__districts a:focus {
  text-decoration: none;
  text-underline-offset: 4px;
  text-decoration-thickness: 2px;
  color: #fff;
  text-shadow: 0 0 12px rgba(255, 255, 255, 0.25);
}

@media (min-width: 361px) {
  header div.logo {
    padding: 15.5328px 15.5328px;
  }
  header div.logo .bild {
    max-width: 35%;
    margin: 0 15.5328px 0 0;
  }
  header div.logo .bild img {
    max-height: 181.216px;
  }
  header div.logo .logo__info .logo__label {
    font-size: 1.3992069182rem;
  }
  header div.logo .logo__info .logo__sub {
    font-size: 1.05rem;
  }
}
@media (min-width: 596.424px) {
  header div.logo .logo__info .logo__label {
    font-size: 1.618rem;
  }
  header div.logo .logo__info .logo__sub {
    font-size: 1.2720062893rem;
  }
  header .logo__districts {
    display: none;
  }
}
@media (min-width: 725.864px) {
  header div.logo {
    padding: 19.416px 25.888px;
    display: block;
  }
  header div.logo .bild {
    float: left;
    display: block;
    max-width: none;
    margin: 0 19.416px 0 0;
  }
  header div.logo .bild img {
    max-height: 155.328px;
    width: auto;
    display: block;
  }
  header div.logo .logo__info {
    display: block;
    margin-bottom: 0;
  }
  header div.logo .logo__info .logo__label {
    font-size: 2.0581061761rem;
  }
  header div.logo .logo__info .logo__sub {
    font-size: 1.618rem;
  }
}
@media (min-width: 960px) {
  header div.logo {
    padding-bottom: 25.888px;
    position: relative;
  }
  header div.logo .logo__info {
    position: absolute;
    left: calc(25.888px + 69.0965811663px + 19.416px + 38.832px);
    top: 19.416px;
    right: 25.888px;
    margin: 0;
    max-width: calc(
      1280px - 25.888px - 69.0965811663px - 19.416px - 38.832px - 25.888px
    );
  }
  header .logo__districts-wrapper {
    display: block;
    position: absolute;
    left: calc(25.888px + 69.0965811663px + 19.416px + 38.832px);
    bottom: 25.888px;
  }
  header div.logo .logo__info .logo__label {
    font-size: 1.8248330863rem;
  }
  header .logo__districts {
    display: block;
    position: relative;
    margin: 0;
    padding: 0;
    max-width: calc(
      1280px - 25.888px - 69.0965811663px - 19.416px - 38.832px - 25.888px
    );
  }
  header .logo__districts li {
    display: inline;
    margin: 0 10.3552px 0 0;
    vertical-align: top;
  }
  header .logo__districts li:last-child {
    margin-right: 0;
  }
  header .logo__districts a {
    font-size: 0.7rem;
    white-space: normal;
    display: inline;
    hyphens: manual;
    -webkit-hyphens: manual;
    -ms-hyphens: manual;
  }
}
@media (min-width: 1280px) {
  header div.logo {
    display: block;
    padding-bottom: 25.888px;
  }
  header div.logo .bild {
    float: left;
    margin: 0 19.416px 0 0;
  }
  header div.logo .bild img {
    max-height: 281px;
  }
  header div.logo .logo__info {
    top: 19.416px;
    right: 25.888px;
    margin: 0;
    max-width: none;
    margin-bottom: 12.944px;
  }
  header div.logo .logo__info .logo__label {
    font-size: 2.0581061761rem;
  }
  header div.logo .logo__info .logo__sub {
    font-size: 1.8248330863rem;
  }
}
main {
  padding: 12.944px;
  z-index: auto;
  max-width: 1280px;
}
main .hero-row {
  display: flex;
  flex-wrap: wrap;
  gap: 25.888px;
  align-items: flex-start;
  margin-bottom: 19.416px;
}
main .hero-heading {
  flex: 1 1 260px;
  min-width: 240px;
}
main div.links {
  flex: 0 1 258.88px;
}
main div.links .map-heading,
main .hero-map .map-heading {
  margin: 0 0 7.7664px 0;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 0.95rem;
  color: rgb(24, 57, 113);
  border-left: 4px solid rgb(24, 57, 113);
  padding-left: 10px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
main .hero-block {
  display: flex;
  flex-wrap: wrap;
  gap: 38.832px;
  align-items: flex-start;
  margin-bottom: 12.944px;
}
main .hero-copy {
  flex: 1 1 260px;
  min-width: 240px;
}
main .hero-map {
  flex: 0 0 auto;
  width: auto;
  max-width: none;
}
main .hero-map .links {
  display: block;
  width: 15em;
  max-width: 15em;
}
main .map-block .links {
  display: block;
  width: 15em;
  max-width: 15em;
  margin: 0 0 19.416px 0;
}
main .hero-meta {
  list-style: none;
  padding: 0;
  margin: 0 0 12px 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
main .hero-meta li {
  margin: 0;
  color: #1f2937;
}
main .hero-meta-inline {
  display: block;
  margin: 0 0 12px 0;
  color: #1f2937;
  font-size: 0.9rem;
}
main .hero-actions {
  margin: 0 0 12px 0;
}
main .hero-actions a.rot {
  font-weight: 700;
}
main a {
  color: #e00;
  font-weight: 700;
}
main a:hover,
main a:focus {
  color: #bb0000;
}
main div.links div.svg-karte {
  width: 15em;
  position: relative;
  padding: 12.944px;
  box-sizing: border-box;
  overflow: visible;
  margin-bottom: 12.944px;
  border: 2px solid #cdd3dd;
  border-radius: 8px;
  outline: none;
  outline-offset: 0;
  margin: 0 0 12.944px 0;
}
main div.links div.svg-karte svg {
  background-color: transparent;
  width: 100%;
  height: auto;
  display: block;
  margin: 0;
  overflow: visible;
}
main .hero-meta-block {
  margin: 0 0 19.416px 0;
  flex: 1 1 100%;
  min-width: 240px;
}
main .hero-block.hero-block--home .hero-copy {
  order: 0;
}
main .hero-block.hero-block--home .hero-meta-block {
  order: 1;
  flex: 1 1 100%;
}
main .hero-block.hero-block--home .hero-map {
  order: 2;
}
main .audience-tabs {
  margin-top: 9.0608px;
  padding-top: 4px;
}
main .audience-tabs .tab-buttons {
  display: inline-flex;
  gap: 6px;
  margin: 0 0 0 25.888px;
  align-items: flex-end;
}
main .audience-tabs .tab-buttons button {
  border: 2px solid #dfe3ea;
  border-bottom-color: transparent;
  background: transparent;
  color: #6b7280;
  padding: 6px 12px 8px;
  font-size: 1rem;
  border-radius: 8px 8px 0 0;
  cursor: pointer;
  font-weight: 600;
  box-shadow: none;
  margin-bottom: 0;
}
main .audience-tabs .tab-buttons button.is-active {
  background: #fdeee0;
  color: #0f172a;
  border-width: 2px;
  border-color: #cdd3dd;
  border-bottom: 2px solid #fdeee0;
  box-shadow: none;
  margin-bottom: -3px;
  position: relative;
  z-index: 1;
}
main .audience-tabs .tab-panel {
  display: none;
  border: 2px solid #cdd3dd;
  border-top: 2px solid #cdd3dd;
  border-radius: 8px;
  padding: 12px 14px;
  background: #fdeee0;
  color: #0f172a;
  box-shadow: none;
}
main .audience-tabs .tab-panel.is-active {
  display: block;
}
main .audience-tabs .tab-panel a {
  color: #e00;
  font-weight: 700;
  text-decoration: none;
}
main div.links div.svg-karte a use {
  fill: #b3bac8;
  stroke-width: 3.5px;
  stroke: #9ea5b5;
  stroke-linejoin: round;
  transition: fill 0.2s ease, stroke 0.2s ease, -webkit-filter 0.2s ease;
  transition: fill 0.2s ease, stroke 0.2s ease, filter 0.2s ease;
  transition: fill 0.2s ease, stroke 0.2s ease, filter 0.2s ease,
    -webkit-filter 0.2s ease;
  transition: fill 0.2s ease, stroke 0.2s ease, filter 0.2s ease,
    -webkit-filter 0.2s ease;
  -webkit-filter: drop-shadow(0 1px 0 rgba(255, 255, 255, 0.3))
    drop-shadow(0 14px 20px rgba(0, 0, 0, 0.3))
    drop-shadow(0 0 12px rgba(31, 47, 109, 0.28));
  filter: drop-shadow(0 1px 0 rgba(255, 255, 255, 0.3))
    drop-shadow(0 14px 20px rgba(0, 0, 0, 0.3))
    drop-shadow(0 0 12px rgba(31, 47, 109, 0.28));
}
main div.links div.svg-karte a use.bezirk_rot {
  fill: #e00;
  stroke: #e00;
}
main div.links div.svg-karte a:hover use,
main div.links div.svg-karte a:focus use,
main div.links div.svg-karte a.is-linked-hover use {
  fill: #1f2f6d;
  stroke: #1f2f6d;
  -webkit-filter: drop-shadow(0 2px 0 rgba(255, 255, 255, 0.4))
    drop-shadow(0 20px 28px rgba(0, 0, 0, 0.34))
    drop-shadow(0 0 16px rgba(31, 47, 109, 0.3));
  filter: drop-shadow(0 2px 0 rgba(255, 255, 255, 0.4))
    drop-shadow(0 20px 28px rgba(0, 0, 0, 0.34))
    drop-shadow(0 0 16px rgba(31, 47, 109, 0.3));
}
main div.links div.svg-karte .info {
  opacity: 0;
  fill: rgb(24, 57, 113);
  stroke: rgb(24, 57, 113);
  pointer-events: none;
}
main div.links div.svg-karte .info text {
  font-family: inherit;
  font-size: 3.4rem;
  fill: #000;
  font-weight: 700;
  paint-order: stroke fill;
  stroke: rgba(255, 255, 255, 0.65);
  stroke-width: 4px;
  stroke-linejoin: round;
  background: rgba(255, 255, 255, 0.82);
  padding: 6px 10px;
  border-radius: 12px;
  -webkit-filter: none;
  filter: none;
  text-shadow: none;
}
main div.links div.svg-karte #oranienburg:hover ~ #oranienburgInfo,
main div.links div.svg-karte #oranienburg:focus ~ #oranienburgInfo,
main div.links div.svg-karte #hoppegarten:hover ~ #hoppegartenInfo,
main div.links div.svg-karte #hoppegarten:focus ~ #hoppegartenInfo,
main div.links div.svg-karte #spandau:hover ~ #spandauInfo,
main div.links div.svg-karte #spandau:focus ~ #spandauInfo,
main div.links div.svg-karte #reinickendorf:hover ~ #reinickendorfInfo,
main div.links div.svg-karte #reinickendorf:focus ~ #reinickendorfInfo,
main div.links div.svg-karte #pankow:hover ~ #pankowInfo,
main div.links div.svg-karte #pankow:focus ~ #pankowInfo,
main div.links div.svg-karte #mitte:hover ~ #mitteInfo,
main div.links div.svg-karte #mitte:focus ~ #mitteInfo,
main
  div.links
  div.svg-karte
  #charlottenburg-wilmersdorf:hover
  ~ #charlottenburg-wilmersdorfInfo,
main
  div.links
  div.svg-karte
  #charlottenburg-wilmersdorf:focus
  ~ #charlottenburg-wilmersdorfInfo,
main
  div.links
  div.svg-karte
  #steglitz-zehlendorf:hover
  ~ #steglitz-zehlendorfInfo,
main
  div.links
  div.svg-karte
  #steglitz-zehlendorf:focus
  ~ #steglitz-zehlendorfInfo,
main
  div.links
  div.svg-karte
  #tempelhof-schoneberg:hover
  ~ #tempelhof-schonebergInfo,
main
  div.links
  div.svg-karte
  #tempelhof-schoneberg:focus
  ~ #tempelhof-schonebergInfo,
main div.links div.svg-karte #neukolln:hover ~ #neukollnInfo,
main div.links div.svg-karte #neukolln:focus ~ #neukollnInfo,
main div.links div.svg-karte #lichtenberg:hover ~ #lichtenbergInfo,
main div.links div.svg-karte #lichtenberg:focus ~ #lichtenbergInfo,
main
  div.links
  div.svg-karte
  #marzahn-hellersdorf:hover
  ~ #marzahn-hellersdorfInfo,
main
  div.links
  div.svg-karte
  #marzahn-hellersdorf:focus
  ~ #marzahn-hellersdorfInfo,
main div.links div.svg-karte #treptow-kopenick:hover ~ #treptow-kopenickInfo,
main div.links div.svg-karte #treptow-kopenick:focus ~ #treptow-kopenickInfo,
main
  div.links
  div.svg-karte
  #friedrichshain-kreuzberg:hover
  ~ #friedrichshain-kreuzbergInfo,
main
  div.links
  div.svg-karte
  #friedrichshain-kreuzberg:focus
  ~ #friedrichshain-kreuzbergInfo {
  opacity: 1;
  transition: all 0.25s linear;
}
main div.rechts {
  vertical-align: top;
  display: inline-block;
  max-width: 865.792px;
}
main div.rechts h1:first-child,
main div.rechts h2:first-child {
  margin-top: 0;
}
main div.rechts h1 {
  font-size: 1.618rem;
}
main div.rechts h2 {
  font-size: 1.2720062893rem;
}
main div.rechts table {
  width: 100%;
}
main div.rechts table thead {
  font-weight: bolder;
}
main div.rechts table thead td ~ .strasse,
main div.rechts table thead td ~ .versteckt,
main div.rechts table thead td ~ .plz,
main div.rechts table thead td ~ .bezirk {
  display: none;
}
main div.rechts table tbody td {
  padding-right: 12.944px;
}
main div.rechts table tbody td ~ .strasse,
main div.rechts table tbody td ~ .versteckt,
main div.rechts table tbody td ~ .plz,
main div.rechts table tbody td ~ .bezirk {
  display: none;
}
main ul.bullet {
  list-style: none;
  margin: 0;
  padding-left: 0;
}
main ul.bullet li {
  position: relative;
  padding-left: 0;
}
main ul.bullet li::before {
  content: "•";
  font-weight: bold;
  color: #e00;
  font-size: 1.8248330863rem;
  line-height: 1;
  display: inline-block;
  width: 0.8em;
  margin: 0;
  position: absolute;
  left: -0.5em;
  top: -0.2em;
}
main .intro-copy {
  display: flex;
  flex-direction: column;
  gap: 9.0608px;
  margin: 12.944px 0 19.416px;
}
main .intro-copy__lead {
  margin: 0;
  padding-bottom: 12.944px;
  font-size: 1rem;
  line-height: 1.5;
  color: #333;
}
main .intro-copy__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 5.1776px;
}
main .intro-copy__list li {
  display: flex;
  flex-direction: column;
  gap: 2.5888px;
}
main .intro-copy__list strong {
  font-weight: 600;
  color: #333;
}
main .intro-copy__list a {
  color: #e00;
  text-decoration: none;
}
main .intro-copy__list a:hover,
main .intro-copy__list a:focus {
  color: #bb0000;
  text-decoration: underline;
}
main .intro-copy__note {
  margin: 0;
  font-size: 0.7861596349rem;
  color: #666;
}
main .intro-copy__links {
  margin-top: 12.944px;
}
main .external-links {
  list-style: none;
  margin: 12.944px 0 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6.472px;
}
main .external-links li {
  display: flex;
  flex-direction: column;
  gap: 2.5888px;
}
main .external-links .external-links__title {
  font-weight: 600;
  font-size: 1rem;
  color: #333;
}
main .external-links .external-links__description {
  font-size: 1rem;
  color: #333;
  line-height: 1.6;
}
main .external-links a {
  color: #e00;
  text-decoration: none;
  font-weight: bold;
}
main .external-links a:hover,
main .external-links a:focus {
  color: #bb0000;
  text-decoration: underline;
}
main .standorte-intro {
  display: flex;
  flex-direction: column;
  gap: 9.0608px;
  margin: 12.944px 0 19.416px;
  padding: 12.944px 19.416px;
  background: rgba(24, 57, 113, 0.05);
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 8px;
}
main .standorte-intro > * {
  background: transparent;
}
main .standorte-intro a {
  color: #e00;
  text-decoration: none;
}
main .standorte-intro a:hover,
main .standorte-intro a:focus {
  color: #bb0000;
  text-decoration: underline;
}
main .standorte-intro__lead {
  margin: 0;
  font-size: 1rem;
  line-height: 1.6;
  color: #333;
}
main .standorte-intro__meta {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 5.1776px;
}
main .standorte-intro__meta li {
  display: flex;
  flex-direction: column;
  gap: 2.5888px;
}
main .standorte-intro__meta strong {
  font-weight: 600;
  color: #333;
}
main .standorte-intro__meta span {
  color: #666;
}
main .standorte-intro__actions {
  margin: 0;
}
main .standorte-intro__actions a {
  font-weight: 600;
}
main .standorte-intro__hint {
  margin: 0;
  font-size: 0.7861596349rem;
  color: #666;
}
main .standorte-list {
  display: flex;
  flex-direction: column;
  gap: 19.416px;
}
main .standorte-list h2 {
  margin: 12.944px 0 6.472px;
}
main .standorte-list h2 a.map-highlight-link {
  color: #111;
  font-weight: 700;
  text-decoration: none;
}
main .standorte-list h2 a.map-highlight-link:hover,
main .standorte-list h2 a.map-highlight-link:focus {
  color: #e00;
  text-decoration: none;
}
main .standorte-list table {
  width: 100%;
  border-collapse: collapse;
  background: transparent;
  border: 0;
  border-radius: 0;
  overflow: hidden;
}
main .standorte-list thead {
  display: table-header-group;
}
main .standorte-list td {
  padding: 9.0608px 12.944px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  font-size: 1rem;
}
main .standorte-list tr:last-child td {
  border-bottom: 0;
}
main .standorte-list .name {
  width: 32%;
  font-weight: 600;
}
main .standorte-list .name a {
  color: #e00;
  text-decoration: none;
}
main .standorte-list .name a:hover,
main .standorte-list .name a:focus {
  color: #bb0000;
  text-decoration: underline;
}
main .standorte-list .strasse,
main .standorte-list .plz,
main .standorte-list .bezirk,
main .standorte-list .stadt {
  color: #333;
  white-space: normal;
}
main .standorte-list .tel {
  text-align: right;
}
main .standorte-list .tel a {
  color: #333;
  font-weight: 400;
  font-feature-settings: "tnum";
  text-decoration: none;
  white-space: nowrap;
}
main .standorte-list .tel a:hover,
main .standorte-list .tel a:focus {
  color: #e00;
}
main .kontakt-links {
  margin-top: 12.944px;
}
main .greeting {
  color: #e00;
}
@media (max-width: 720px) {
  main .standorte-list table {
    display: block;
    border: 0;
    border-collapse: separate;
    border-spacing: 0;
  }
  main .standorte-list tbody,
  main .standorte-list tr,
  main .standorte-list td {
    display: block;
    width: 100%;
  }
  main .standorte-list thead {
    display: none;
  }
  main .standorte-list tr {
    border: 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 0;
    padding: 0;
    margin: 25.888px 0;
    background: transparent;
  }
  main .standorte-list td {
    border: 0;
    padding: 4px 0;
  }
  main .standorte-list td + td {
    margin-top: 4px;
  }
  main .standorte-list tr:last-child,
  main .standorte-list tr:last-child td {
    border-bottom: 0;
  }
  main .standorte-list .name {
    width: 100%;
    font-weight: 700;
  }
  main .standorte-list .tel {
    text-align: left;
  }
  main .standorte-list .tel a {
    white-space: nowrap;
  }
}
main div.login .form-message {
  margin: 0 0 19.416px;
  padding: 12.944px 19.416px;
  border-radius: 4px;
  border: 1px solid transparent;
  font-weight: 600;
}
main div.login .form-message--error {
  background-color: #f6d8d8;
  border-color: #e0a3a3;
  color: #651818;
}
main div.login .form-message--success {
  background-color: #d8f3e4;
  border-color: #9fd3b4;
  color: #0f4d2f;
}
main div.login .login-meta {
  margin-top: 12.944px;
}
main div.login .form-errors {
  margin: 0;
  padding-left: 12.944px;
  list-style: disc;
}
main div.login .login-options {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 12.944px 0;
}
main div.login .login-options .remember {
  display: flex;
  align-items: center;
  gap: 6.472px;
}
main div.login .login-options .remember input {
  margin-right: 0;
}
main div.login .login-options .login-link {
  font-size: 0.7861596349rem;
}
main div.login form {
  background-color: transparent;
}
main div.login form label {
  padding-right: 5px;
}
main div.login form input {
  margin-right: 5px;
}
main div.login form input[type="password"],
main div.login form .login form input[type="text"] {
  color: inherit;
}
main div.login form input[type="button"],
main div.login form input[type="submit"] {
  cursor: pointer;
}
main div.login.login--form.login--form-no-indent .login-meta {
  margin-left: 0;
}
main div.login.login--form form {
  max-width: 420px;
}
main div.login.login--form form .form-row {
  display: grid;
  grid-template-columns: 44px 1fr;
  align-items: center;
  -moz-column-gap: 7.7664px;
  column-gap: 7.7664px;
  width: 100%;
  margin-bottom: 10.3552px;
}
main div.login.login--form form label {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-right: 0;
  margin: 0;
  width: 44px;
}
main div.login.login--form form label svg {
  display: block;
}
main div.login.login--form form input {
  margin: 0;
  width: 100%;
  min-width: 0;
}
main div.login.login--form form button {
  display: inline-block;
  margin-top: 5.1776px;
  margin-left: 51.7664px;
}
main div.login.login--form form .login-options {
  margin-top: 5.1776px;
  margin-left: 51.7664px;
  width: calc(100% - 51.7664px);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5.1776px;
}
main div.login.login--form form .login-options .remember {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 5.1776px;
  width: auto;
  padding-right: 0;
}
main div.login.login--form form .login-options .remember input {
  width: auto;
  margin: 0;
  flex-shrink: 0;
}
main div.login.login--form form .login-options .login-link {
  display: inline-block;
}
main div.login.login--form .login-meta {
  margin-top: 15.5328px;
  margin-left: 51.7664px;
}
main .account-summary {
  display: flex;
  align-items: flex-start;
  gap: 12.944px;
  margin: 38.832px 0;
  padding: 19.416px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 6px;
}
main .account-summary__icon {
  flex: 0 0 auto;
}
main .account-summary__icon .icon {
  width: 36px;
  height: 36px;
  fill: rgb(24, 57, 113);
}
main .account-summary__content {
  flex: 1 1 auto;
}
main .account-summary__content h3 {
  margin-top: 0;
  margin-bottom: 7.7664px;
}
main .account-summary__content p {
  margin: 0 0 5.1776px;
}

@media only screen and (min-width: 360px) {
  main {
    padding: 19.416px;
  }
  main div.links div.svg-karte {
    width: 100%;
  }
  main div.rechts h1 {
    font-size: 1.618rem;
  }
  main div.rechts h2 {
    font-size: 1.2720062893rem;
  }
}
@media only screen and (min-width: 363.432px) {
  main {
    padding: 25.888px;
  }
  main div.links div.svg-karte {
    width: 100%;
  }
  main div.rechts h1 {
    font-size: 1.8248330863rem;
  }
  main div.rechts h2 {
    font-size: 1.2720062893rem;
  }
}
@media only screen and (min-width: 466.984px) {
  main div.rechts table thead td ~ .strasse {
    display: table-cell;
  }
  main div.rechts table tbody td ~ .strasse {
    display: table-cell;
  }
}
@media only screen and (min-width: 596.424px) {
  main {
    padding: 38.832px;
  }
  main div.links div.svg-karte {
    width: 100%;
  }
  main div.rechts h1 {
    font-size: 1.618rem;
  }
  main div.rechts h2 {
    font-size: 1.618rem;
  }
}
@media only screen and (min-width: 725.864px) {
  header div.logo {
    min-height: 245.936px;
  }
  header div.logo div.bild img {
    max-height: 220.048px;
  }
  main {
    padding: 51.776px;
  }
  main div.links div.svg-karte {
    width: 100%;
  }
  main div.rechts table thead td ~ .strasse,
  main div.rechts table thead td ~ .plz,
  main div.rechts table thead td ~ .bezirk {
    display: table-cell;
  }
  main div.rechts table tbody td ~ .strasse,
  main div.rechts table tbody td ~ .plz,
  main div.rechts table tbody td ~ .bezirk {
    display: table-cell;
  }
}
footer {
  min-height: 77.664px;
  padding: 38.832px;
  text-align: center;
  margin: 0;
  display: block;
  background-color: rgb(24, 57, 113);
  color: #fff;
}
footer a {
  color: #fff;
  text-decoration: none;
}
footer a:hover {
  text-decoration: none;
}
footer .footer-version {
  display: inline-flex;
  align-items: center;
  gap: 0;
  margin-left: 0;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: rgba(255, 255, 255, 0.92);
}

img {
  box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.35);
}
footer {
  box-shadow: none;
}

header div.logo {
  box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.35);
}

/* Buttons (einzige Quelle der Wahrheit): .btn + Varianten */
.btn,
a.btn {
  display: inline-block;
  color: #fff;
  border: 0;
  border-radius: 4px;
  padding: 8px 16px;
  font-size: 1rem;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
  box-shadow: 0 1px 2px rgba(45, 54, 68, 0.12), 0 2px 6px rgba(45, 54, 68, 0.08);
  white-space: nowrap;
}

/* Link-Buttons bei Hover/Focus weiß lassen (überschreibt globales a:hover) */
.btn:hover,
.btn:focus,
a.btn:hover,
a.btn:focus {
  color: #fff;
}

/* A11y */
.btn:focus-visible,
a.btn:focus-visible {
  outline: 3px solid rgba(0, 0, 0, 0.25);
  outline-offset: 2px;
}

/* Farb-Varianten */
.btn-primary {
  background: rgb(24, 57, 113);
}
.btn-primary:hover,
.btn-primary:focus {
  background: rgb(20, 50, 100);
}

.btn-secondary {
  background: #8a939b;
}
.btn-secondary:hover,
.btn-secondary:focus {
  background: #7d868d;
}

.btn-success {
  background: #2e7d32;
}
.btn-success:hover,
.btn-success:focus {
  background: #256a29;
}

.btn-danger {
  background: #d32f2f;
}
.btn-danger:hover,
.btn-danger:focus {
  background: #b92b2b;
}

/* Global Admin Quick Links (shared for intern.php and admin) */
.admin-quick-links {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 15.5328px;
  margin: 0;
}

.admin-quick-link {
  display: flex;
  align-items: center;
  gap: 12.944px;
  padding: 12.944px 15.5328px;
  border-radius: 7.7664px;
  border: 1px solid rgba(0, 0, 0, 0.15);
  background: #fff;
  text-decoration: none;
  color: inherit;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.1s ease;
  box-shadow: none;
}
.admin-quick-link:hover,
.admin-quick-link:focus-visible {
  border-color: rgba(0, 0, 0, 0.35);
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
  transform: translateY(-1px);
  background: #fff;
}
.admin-quick-link .text {
  display: flex;
  flex-direction: column;
  gap: 2.07104px;
}
.admin-quick-link .label {
  font-weight: 700;
  font-size: 0.7861596349rem;
  letter-spacing: 0.02em;
}
.admin-quick-link .description {
  font-size: 0.7861596349rem;
  color: rgba(0, 0, 0, 0.6);
}
.admin-quick-link.is-accent {
  border-left: 4px solid rgb(24, 57, 113);
  background: #f7faff;
}
.admin-quick-link.is-accent:hover,
.admin-quick-link.is-accent:focus-visible {
  background: #e9f0fb;
}

body.page-intern .akk-summary {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
body.page-intern .akk-summary__titlebar {
  display: flex;
  align-items: center;
  gap: 8px;
}
body.page-intern .akk-summary__title {
  display: block;
  font-weight: 700;
  font-size: 1rem;
}
body.page-intern .akk-summary__edit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  color: #1d4ed8;
  background: rgba(29, 78, 216, 0.08);
  transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}
body.page-intern .akk-summary__edit:hover,
body.page-intern .akk-summary__edit:focus {
  background: rgba(29, 78, 216, 0.18);
  box-shadow: 0 0 0 3px rgba(29, 78, 216, 0.15);
}
body.page-intern .akk-summary__edit svg {
  fill: currentColor;
}
body.page-intern .akk-summary__meta {
  display: block;
  margin-top: 4px;
  font-size: 0.9rem;
  color: rgba(0, 0, 0, 0.7);
}
body.page-intern .akk-summary__meta-item {
  display: block;
  line-height: 1.4;
}
body.page-intern .akk-summary__meta-item + .akk-summary__meta-item {
  margin-top: 0.15rem;
}
body.page-intern .akk-summary__meta-item--time,
body.page-intern .akk-summary__meta-item--date {
  font-weight: 600;
  color: rgba(0, 0, 0, 0.78);
}
body.page-intern .akk-summary__meta-item--location {
  color: rgba(0, 0, 0, 0.62);
}
body.page-intern .akk-summary__meta-item--summary {
  font-style: italic;
  color: rgba(0, 0, 0, 0.68);
}
body.page-intern .akk-summary__meta-item--placeholder {
  font-style: italic;
  color: rgba(0, 0, 0, 0.5);
}
body.page-intern .akk-summary__edit-group {
  display: inline-flex;
  gap: 4px;
}
body.page-intern .protocol-entry__title {
  margin: 0 0 0.5rem;
  font-size: 1rem;
}
body.page-intern .protocol-entry__summary {
  margin: 0 0 0.5rem;
  font-weight: 600;
}
body.page-intern .protocol-entry__summary:last-child {
  margin-bottom: 0;
}
body.page-intern .protocol-content {
  margin-top: 0.25rem;
}
body.page-intern .protocol-entry .akk-download {
  margin: 0.75rem 0 0;
}
body.page-intern .event-ical {
  margin: 0.75rem 0 1rem;
}
body.page-intern .event-ical .btn {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem 0.75rem;
  font-size: 0.875rem;
  line-height: 1.2;
}
body.page-intern .event-description {
  margin: 0.5rem 0 1.25rem;
  font-size: 1rem;
  line-height: 1.45;
  color: rgba(0, 0, 0, 0.82);
}
body.page-intern .admin-quick-links {
  margin-top: 15.5328px;
}
body.page-intern .download-list {
  margin: 0 0 1rem;
  padding-left: 1.25rem;
  line-height: 1.5;
}
body.page-intern .download-list li + li {
  margin-top: 0.5rem;
}
body.page-intern
  main
  a:not(.btn):not(.admin-quick-link):not(.akk-summary__edit) {
  color: #e00;
  font-weight: 600;
  text-decoration: none;
}
body.page-intern
  main
  a:not(.btn):not(.admin-quick-link):not(.akk-summary__edit)::after {
  display: inline-block;
  margin-left: 0.3ch;
  font-size: 0.85em;
}
body.page-intern
  main
  a:not(.btn):not(.admin-quick-link):not(.akk-summary__edit):hover,
body.page-intern
  main
  a:not(.btn):not(.admin-quick-link):not(.akk-summary__edit):focus {
  color: #bb0000;
  text-decoration: underline;
}

.event-actions {
  border: 0;
  border-radius: 0;
  padding: 0;
  background: transparent;
  margin-top: 12.944px;
  display: flex;
  flex-direction: column;
  gap: 6.472px;
  transition: opacity 0.2s ease;
}
.event-actions.is-saving {
  opacity: 0.6;
}

.event-status {
  margin: 0;
  font-weight: 400;
  color: #666;
  font-size: 0.7861596349rem;
}

.event-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 6.472px;
}

.event-btn {
  border-radius: 999px;
  border: 1px solid transparent;
  padding: 0.4rem 1.1rem;
  font-weight: 600;
  cursor: pointer;
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.event-btn:focus-visible {
  outline: 2px solid #000;
  outline-offset: 1px;
}
.event-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.event-btn--yes {
  background: #1976d2;
  border-color: #1976d2;
  color: #fff;
}
.event-btn--yes:hover:not(:disabled) {
  background: #0f62b6;
}
.event-btn--no {
  background: #c62828;
  border-color: #c62828;
  color: #fff;
}
.event-btn--no:hover:not(:disabled) {
  background: #ab1f1f;
}
.event-btn--change {
  background: #e4e7ec;
  border-color: #d0d5dd;
  color: #000;
}
.event-btn--change:hover:not(:disabled) {
  background: #dfe3eb;
}

.event-form-section {
  margin-top: 12.944px;
}
.event-form-section h4 {
  margin: 0 0 6.472px;
  font-size: 1rem;
}
.event-form-section select,
.event-form-section textarea {
  width: 100%;
  border: 1px solid #d0d5dd;
  border-radius: 6px;
  padding: 0.5rem;
  font: inherit;
  background: #fff;
}
.event-form-section--submit {
  text-align: right;
}

.event-checkbox-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.5rem;
}
.event-checkbox-grid label {
  font-size: 0.95rem;
}

.event-notes {
  display: flex;
  flex-direction: column;
  gap: 6.472px;
  margin-top: 6.472px;
  font-size: 0.9rem;
  color: #4b5563;
}

.event-btn--submit {
  background: #0f8a5f;
  border-color: #0f8a5f;
  color: #fff;
}
.event-btn--submit:hover:not(:disabled) {
  background: #0c704d;
}
.event-btn--submit:disabled {
  opacity: 0.7;
  cursor: progress;
}

.event-efn {
  margin-top: 9.0608px;
  display: flex;
  flex-direction: column;
  gap: 5.1776px;
}
.event-efn[hidden] {
  display: none;
}
.event-efn label {
  font-size: 0.95rem;
  font-weight: 600;
  color: #333;
}

.event-efn__controls {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7.7664px;
}
.event-efn__controls .event-efn-input {
  max-width: 220px;
  border: 1px solid #d0d5dd;
  border-radius: 6px;
  padding: 0.45rem 0.6rem;
  font: inherit;
}
.event-efn__controls .event-efn-save {
  flex: 0 0 auto;
}

.event-efn__hint {
  font-size: 0.8rem;
  color: #4b5563;
}
