/*!*****************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[10].use[3]!./src/app/globals.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************/
:root {
  --pzfp-yellow: #f2c335;
  --pzfp-yellow-soft: #fff4bf;
  --pzfp-yellow-dark: #d7a900;
  --pzfp-graphite: #4b4b4b;
  --pzfp-soft-graphite: #777777;
  --pzfp-window: #3f4343;
  --pzfp-window-soft: #616565;
  --pzfp-facade: #dedede;
  --pzfp-facade-light: #ececec;
  --pzfp-facade-line: #c8c8c8;
  --pzfp-background: #f7f6f1;
  --pzfp-surface: #ffffff;
  --focus: #1f4fff;
}

* { box-sizing: border-box; }

html { background: var(--pzfp-background); color: #202020; }
body {
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
  min-height: 100vh;
  background: radial-gradient(circle at top, #ffffff 0%, var(--pzfp-background) 56%);
}
a { color: inherit; }
button, input, textarea, select { font: inherit; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 4px; }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.app-shell {
  width: min(1120px, 100%);
  margin: 0 auto;
  padding: 22px 16px 44px;
}

.hero {
  display: grid;
  justify-items: center;
  grid-gap: 18px;
  gap: 18px;
  padding: 0 0 22px;
}

.pzfp-logo {
  width: min(520px, 78vw);
  display: flex;
  justify-content: center;
}

.pzfp-logo img {
  width: 100%;
  height: auto;
  display: block;
}

.house {
  width: min(780px, 100%);
  display: grid;
  grid-gap: 6px;
  gap: 6px;
  margin: 0 auto;
}

.floor {
  overflow: hidden;
  background: var(--pzfp-facade);
  border: 1px solid var(--pzfp-facade-line);
  border-radius: 2px;
  box-shadow: 0 16px 38px rgba(32, 32, 32, .055);
  transition: width .24s ease, transform .24s ease, opacity .24s ease, box-shadow .24s ease;
}

.floor:hover,
.floor:focus-within {
  box-shadow: 0 18px 44px rgba(32, 32, 32, .085);
}

.window-row {
  position: relative;
  min-height: 94px;
  background: #303434;
  border-bottom: 1px solid #bcbcbc;
  overflow: hidden;
  transition: min-height .24s ease;
}

.facade-window-strip {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 2px;
  gap: 2px;
  padding: 0;
  background: #2c3030;
}

.facade-window-strip span {
  display: block;
  min-width: 0;
  background:
    linear-gradient(180deg, rgba(255,255,255,.10), transparent 34%),
    var(--pzfp-window);
  border-right: 1px solid rgba(255,255,255,.12);
}

.window-actions {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 2px;
  gap: 2px;
  opacity: 0;
  pointer-events: none;
  transform: translateY(4px);
  transition: opacity .18s ease, transform .18s ease;
}

.house-start .floor:hover .window-actions,
.house-start .floor:focus-within .window-actions,
.floor-active .window-actions {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.house-start .floor:hover .facade-window-strip,
.house-start .floor:focus-within .facade-window-strip,
.floor-active .facade-window-strip {
  opacity: .96;
}

.window-action {
  min-width: 0;
  display: grid;
  align-content: center;
  justify-items: center;
  grid-gap: 7px;
  gap: 7px;
  padding: 12px 6px;
  color: var(--pzfp-yellow);
  text-decoration: none;
  background: rgba(20, 20, 20, .14);
  border-right: 1px solid rgba(255,255,255,.16);
  transition: background .18s ease, color .18s ease;
}

.window-action:hover,
.window-action:focus-visible,
.window-selected {
  background: var(--pzfp-yellow);
  color: #282828;
}

.window-action svg {
  width: clamp(28px, 5vw, 38px);
  height: clamp(28px, 5vw, 38px);
  stroke-width: 1.75;
}

.window-action-label {
  font-size: .92rem;
  line-height: 1.05;
  font-weight: 700;
  text-align: center;
}

.floor-label {
  display: block;
  padding: 17px 14px 19px;
  text-align: center;
  text-decoration: none;
  color: var(--pzfp-graphite);
  font-size: clamp(1.7rem, 4.3vw, 2.55rem);
  font-weight: 700;
  letter-spacing: -0.045em;
  background: var(--pzfp-facade);
  border-top: 1px solid rgba(255,255,255,.55);
  transition: background .18s ease, color .18s ease;
}

.house-start .floor:hover .floor-label,
.house-start .floor:focus-within .floor-label,
.floor-active .floor-label {
  background: var(--pzfp-yellow);
  color: #252525;
}

.house-has-active {
  gap: 8px;
}

.floor-active {
  width: 100%;
  justify-self: center;
}

.floor-compact {
  width: min(580px, 82%);
  justify-self: center;
  opacity: .94;
  box-shadow: 0 10px 26px rgba(32, 32, 32, .045);
}

.floor-compact .window-row {
  min-height: 34px;
}

.floor-compact .window-actions {
  display: none;
}

.floor-compact .facade-window-strip span {
  background: var(--pzfp-window-soft);
}

.floor-compact .floor-label {
  padding: 9px 10px 10px;
  font-size: clamp(1rem, 3vw, 1.38rem);
  letter-spacing: -0.035em;
}

.content {
  margin: 28px auto 0;
  width: min(780px, 100%);
}

.notice {
  background: rgba(255,255,255,.82);
  border-left: 7px solid var(--pzfp-yellow);
  border-radius: 12px;
  padding: 16px 18px;
  box-shadow: 0 10px 30px rgba(0,0,0,.055);
}

.notice p { margin: 6px 0 0; color: #555; }

.department-hint {
  text-align: center;
  padding-top: 2px;
}

.department-hint h1 {
  margin: 0;
  font-size: clamp(1.55rem, 4vw, 2.25rem);
  letter-spacing: -0.04em;
  color: var(--pzfp-graphite);
}

.room-intro {
  background: rgba(255,255,255,.74);
  border: 1px solid #e2e2e2;
  border-radius: 16px;
  padding: 22px;
}

.room-intro h1 {
  font-size: clamp(2rem, 6vw, 3rem);
  margin: 0 0 8px;
  letter-spacing: -0.05em;
  color: var(--pzfp-graphite);
}

.room-intro p, .muted { color: #555; font-size: 1.08rem; line-height: 1.55; }

.wizard {
  background: white;
  border-radius: 18px;
  padding: clamp(18px, 4vw, 30px);
  box-shadow: 0 18px 50px rgba(0,0,0,.08);
}

.wizard h1 { margin: 0; font-size: clamp(2rem, 6vw, 3.2rem); letter-spacing: -0.05em; color: var(--pzfp-graphite); }
.wizard h2 { margin-top: 26px; font-size: clamp(1.35rem, 4vw, 2rem); letter-spacing: -0.03em; }
.eyebrow { color: var(--pzfp-soft-graphite); text-transform: uppercase; font-size: .85rem; letter-spacing: .12em; margin: 0 0 8px; }
.progress { height: 8px; background: #ececec; border-radius: 999px; overflow: hidden; margin: 18px 0 2px; }
.progress span { display: block; height: 100%; background: var(--pzfp-yellow); transition: width .2s ease; }
.wizard-content { display: grid; grid-gap: 14px; gap: 14px; margin-top: 18px; }
.choice-grid { display: grid; grid-gap: 10px; gap: 10px; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.choice { border: 2px solid #dedede; border-radius: 12px; padding: 16px; background: #fafafa; min-height: 64px; display: flex; align-items: center; gap: 10px; }
.form-grid { display: grid; grid-gap: 14px; gap: 14px; }
label.field { display: grid; grid-gap: 7px; gap: 7px; font-weight: 700; color: #333; }
.field input, .field textarea { border: 2px solid #d7d7d7; border-radius: 12px; padding: 13px 14px; background: #fff; min-height: 50px; }
.field textarea { min-height: 140px; resize: vertical; }
.wizard-actions { display: flex; justify-content: space-between; gap: 12px; margin-top: 28px; }
button { border-radius: 999px; padding: 12px 20px; border: 0; min-height: 48px; cursor: pointer; font-weight: 700; }
button:disabled { opacity: .48; cursor: not-allowed; }
.primary { background: var(--pzfp-yellow); color: #272727; }
.secondary { background: #ececec; color: #333; }

.admin-grid { display: grid; grid-gap: 14px; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); margin-top: 20px; }
.admin-card { background: #fff; border: 1px solid #e1e1e1; border-radius: 16px; padding: 18px; text-decoration: none; box-shadow: 0 12px 32px rgba(0,0,0,.06); }
.admin-card h2 { margin: 0 0 7px; }
.footer { width: min(760px, 100%); margin: 46px auto 0; display: flex; gap: 18px; flex-wrap: wrap; justify-content: center; color: #666; font-size: .95rem; }



/* Compact navigation once a department is selected.
   The start page keeps the calmer, larger facade; detail pages use the house as a slim orientation header. */
.hero:has(.house-has-active) {
  gap: 10px;
  padding-bottom: 10px;
}

.hero:has(.house-has-active) .pzfp-logo {
  width: min(390px, 70vw);
}

.house-has-active {
  width: min(620px, 100%);
  gap: 5px;
}

.house-has-active .floor-active .window-row {
  min-height: 64px;
}

.house-has-active .floor-active .floor-label {
  padding: 10px 12px 12px;
  font-size: clamp(1.35rem, 3.2vw, 1.95rem);
}

.house-has-active .floor-active .window-action {
  gap: 4px;
  padding: 8px 4px;
}

.house-has-active .floor-active .window-action svg {
  width: clamp(22px, 3.7vw, 30px);
  height: clamp(22px, 3.7vw, 30px);
}

.house-has-active .floor-active .window-action-label {
  font-size: .78rem;
}

.house-has-active .floor-compact {
  width: min(460px, 74%);
}

.house-has-active .floor-compact .window-row {
  min-height: 22px;
}

.house-has-active .floor-compact .floor-label {
  padding: 6px 8px 7px;
  font-size: clamp(.92rem, 2.4vw, 1.12rem);
}

.hero:has(.house-has-active) + .content,
.content:has(.department-hint),
.content:has(.wizard),
.content:has(.room-intro) {
  margin-top: 18px;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

@media (max-width: 560px) {
  .app-shell { padding-inline: 12px; }
  .hero { gap: 12px; }
  .pzfp-logo { width: min(430px, 86vw); }
  .house { gap: 7px; }
  .window-row { min-height: 72px; }
  .window-action-label { font-size: .78rem; }
  .floor-label { padding: 13px 10px 14px; }
  .floor-compact .window-row { min-height: 24px; }
  .floor-compact .floor-label { padding: 7px 8px 8px; }
  .content { margin-top: 18px; }
  .wizard-actions { position: -webkit-sticky; position: sticky; bottom: 8px; background: rgba(255,255,255,.9); padding: 8px; border-radius: 999px; }
}


@media (max-width: 560px) {
  .hero:has(.house-has-active) .pzfp-logo { width: min(330px, 78vw); }
  .house-has-active { width: min(420px, 100%); gap: 4px; }
  .house-has-active .floor-active .window-row { min-height: 58px; }
  .house-has-active .floor-active .floor-label { padding: 9px 10px 10px; font-size: clamp(1.25rem, 6vw, 1.65rem); }
  .house-has-active .floor-active .window-action-label { font-size: .68rem; }
  .house-has-active .floor-compact { width: min(330px, 74%); }
  .house-has-active .floor-compact .window-row { min-height: 18px; }
  .house-has-active .floor-compact .floor-label { padding: 5px 7px 6px; font-size: .9rem; }
}

/* Patch 007: Fachbereichsseiten nutzen nur noch die aktuelle Etage als kompakten Fassadenkopf. */
.floor-label {
  display: grid;
  grid-gap: 3px;
  gap: 3px;
}

.floor-label-floor {
  display: block;
  color: var(--pzfp-soft-graphite);
  font-size: .42em;
  line-height: 1;
  letter-spacing: .02em;
  font-weight: 700;
}

.floor-label-name {
  display: block;
}

.house-start .floor:hover .floor-label-floor,
.house-start .floor:focus-within .floor-label-floor,
.floor-active .floor-label-floor {
  color: rgba(37, 37, 37, .72);
}

.detail-shell {
  width: min(980px, 100%);
}

.department-header {
  width: min(760px, 100%);
  margin: 0 auto;
  display: grid;
  justify-items: center;
  grid-gap: 10px;
  gap: 10px;
  padding: 0 0 16px;
}

.department-header-logo {
  display: flex;
  justify-content: center;
  width: min(300px, 64vw);
  text-decoration: none;
}

.department-header-logo .pzfp-logo {
  width: 100%;
}

.department-window-band {
  width: min(620px, 100%);
  min-height: 74px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 2px;
  gap: 2px;
  overflow: hidden;
  background: #2c3030;
  border: 1px solid rgba(255,255,255,.2);
  box-shadow: 0 14px 32px rgba(32, 32, 32, .07);
}

.department-window-action {
  min-width: 0;
  display: grid;
  align-content: center;
  justify-items: center;
  grid-gap: 5px;
  gap: 5px;
  padding: 10px 6px;
  text-decoration: none;
  color: var(--pzfp-yellow);
  background:
    linear-gradient(180deg, rgba(255,255,255,.11), transparent 36%),
    var(--pzfp-window);
  border-right: 1px solid rgba(255,255,255,.12);
  transition: background .18s ease, color .18s ease, transform .18s ease;
}

.department-window-action:hover,
.department-window-action:focus-visible,
.department-window-action-active {
  color: #272727;
  background: var(--pzfp-yellow);
}

.department-window-action svg {
  width: clamp(24px, 5vw, 34px);
  height: clamp(24px, 5vw, 34px);
  stroke-width: 1.75;
}

.department-window-action span {
  font-size: .82rem;
  font-weight: 800;
  line-height: 1;
}

.department-floorbar {
  width: min(620px, 100%);
  display: flex;
  justify-content: center;
}

.department-switcher {
  position: relative;
  width: 100%;
  text-align: center;
}

.department-switcher summary {
  list-style: none;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  display: grid;
  justify-items: center;
  grid-gap: 3px;
  gap: 3px;
  padding: 12px 16px 14px;
  color: #252525;
  background: var(--pzfp-yellow);
  border: 1px solid var(--pzfp-yellow-dark);
  box-shadow: 0 12px 30px rgba(32, 32, 32, .06);
}

.department-switcher summary::-webkit-details-marker {
  display: none;
}

.department-switcher summary::after {
  content: "Etage wechseln";
  color: rgba(37, 37, 37, .68);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .01em;
}

.department-floor {
  color: rgba(37, 37, 37, .65);
  font-size: .86rem;
  font-weight: 800;
  line-height: 1;
}

.department-name {
  font-size: clamp(1.45rem, 5vw, 2.15rem);
  font-weight: 800;
  letter-spacing: -0.045em;
  line-height: 1.05;
}

.department-switcher-panel {
  position: absolute;
  z-index: 20;
  left: 50%;
  top: calc(100% + 8px);
  width: min(360px, 92vw);
  transform: translateX(-50%);
  display: grid;
  overflow: hidden;
  background: rgba(255,255,255,.98);
  border: 1px solid #dedede;
  border-radius: 14px;
  box-shadow: 0 22px 60px rgba(0,0,0,.16);
}

.department-switcher-panel a {
  display: grid;
  grid-template-columns: 70px 1fr;
  align-items: center;
  grid-gap: 10px;
  gap: 10px;
  padding: 13px 16px;
  text-decoration: none;
  color: var(--pzfp-graphite);
  border-bottom: 1px solid #eeeeee;
  text-align: left;
}

.department-switcher-panel a:last-child {
  border-bottom: 0;
}

.department-switcher-panel a:hover,
.department-switcher-panel a:focus-visible,
.department-switcher-panel a.is-current {
  background: var(--pzfp-yellow-soft);
  color: #252525;
}

.department-switcher-panel span {
  color: var(--pzfp-soft-graphite);
  font-size: .88rem;
  font-weight: 800;
}

.department-switcher-panel strong {
  font-size: 1.05rem;
  letter-spacing: -0.02em;
}

.detail-shell .content {
  margin-top: 12px;
}

@media (max-width: 560px) {
  .department-header {
    gap: 8px;
    padding-bottom: 10px;
  }

  .department-header-logo {
    width: min(240px, 60vw);
  }

  .department-window-band {
    min-height: 64px;
  }

  .department-window-action {
    padding: 8px 3px;
    gap: 4px;
  }

  .department-window-action span {
    font-size: .68rem;
  }

  .department-switcher summary {
    padding: 10px 12px 12px;
  }

  .department-switcher summary::after {
    font-size: .7rem;
  }

  .department-switcher-panel {
    width: min(330px, 94vw);
  }

  .detail-shell .content {
    margin-top: 10px;
  }
}


/* Patch 008: Mobile Fassadenproportionen
   Ziel: Auf kleinen Displays wirken die Fensterbänder wieder wie die reale Fassade:
   flach, horizontal, dichter beieinander und weniger wie große Bedienkacheln. */
@media (max-width: 560px) {
  .app-shell {
    padding: 10px 10px 34px;
  }

  .hero {
    gap: 9px;
    padding-bottom: 14px;
  }

  .pzfp-logo {
    width: min(360px, 86vw);
  }

  .house {
    width: min(390px, 100%);
    gap: 5px;
  }

  .floor {
    border-radius: 1px;
    box-shadow: 0 8px 22px rgba(32, 32, 32, .045);
  }

  .window-row {
    min-height: 46px;
  }

  .facade-window-strip {
    gap: 1px;
  }

  .facade-window-strip span {
    background:
      linear-gradient(180deg, rgba(255,255,255,.08), transparent 32%),
      #3b3f3f;
  }

  .floor-label {
    padding: 10px 10px 12px;
    font-size: clamp(1.45rem, 7vw, 2rem);
    line-height: 1.03;
  }

  .floor-label-floor {
    font-size: .38em;
    margin-bottom: 1px;
  }

  .content {
    margin-top: 15px;
  }

  .notice {
    border-left-width: 6px;
    border-radius: 11px;
    padding: 14px 16px;
  }

  /* Fachbereichsseiten: nur die aktive Etage als kompakter Kopf. */
  .department-header {
    gap: 7px;
    padding-bottom: 8px;
  }

  .department-header-logo {
    width: min(220px, 58vw);
  }

  .department-window-band {
    min-height: 46px;
    width: min(390px, 100%);
    gap: 1px;
    box-shadow: 0 8px 20px rgba(32, 32, 32, .05);
  }

  .department-window-action {
    padding: 5px 3px;
    gap: 2px;
  }

  .department-window-action svg {
    width: 22px;
    height: 22px;
  }

  .department-window-action span {
    font-size: .62rem;
  }

  .department-switcher summary {
    padding: 8px 10px 10px;
  }

  .department-floor {
    font-size: .74rem;
  }

  .department-name {
    font-size: clamp(1.25rem, 6vw, 1.65rem);
  }

  .department-switcher summary::after {
    font-size: .66rem;
  }

  .detail-shell .content {
    margin-top: 8px;
  }
}

@media (max-width: 380px) {
  .window-row {
    min-height: 40px;
  }

  .floor-label {
    padding: 9px 8px 10px;
    font-size: clamp(1.28rem, 7.2vw, 1.7rem);
  }

  .department-window-band {
    min-height: 42px;
  }

  .department-window-action svg {
    width: 20px;
    height: 20px;
  }
}

/* Patch 009: Flachere Fassadenproportionen auf Startseite und Folgeseiten.
   - Keine Stockwerksangabe auf der Startseite.
   - Fensterband und Fassadenband sind annähernd gleich hoch.
   - Auch Desktop wirkt flacher und näher an der realen Gebäudefassade. */
.house-start {
  gap: 5px;
}

.house-start .floor {
  box-shadow: 0 10px 24px rgba(32, 32, 32, .045);
}

.house-start .window-row {
  min-height: 58px;
}

.house-start .floor-label {
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 14px 10px;
  font-size: clamp(1.55rem, 3.7vw, 2.18rem);
  line-height: 1;
}

.house-start .floor-label-floor {
  display: none;
}

.house-start .window-action {
  gap: 4px;
  padding: 7px 5px;
}

.house-start .window-action svg {
  width: clamp(22px, 3.6vw, 30px);
  height: clamp(22px, 3.6vw, 30px);
}

.house-start .window-action-label {
  font-size: .76rem;
}

/* Fachbereichsseiten: Etagenkopf schlanker, damit der Inhalt sofort sichtbar bleibt. */
.department-header {
  gap: 7px;
  padding-bottom: 10px;
}

.department-header-logo {
  width: min(260px, 56vw);
}

.department-window-band {
  min-height: 54px;
  width: min(560px, 100%);
  box-shadow: 0 8px 20px rgba(32, 32, 32, .045);
}

.department-window-action {
  gap: 3px;
  padding: 6px 5px;
}

.department-window-action svg {
  width: clamp(22px, 3.2vw, 29px);
  height: clamp(22px, 3.2vw, 29px);
}

.department-window-action span {
  font-size: .72rem;
}

.department-floorbar {
  width: min(560px, 100%);
}

.department-switcher summary {
  padding: 8px 14px 9px;
  box-shadow: 0 8px 20px rgba(32, 32, 32, .045);
}

.department-floor {
  font-size: .72rem;
}

.department-name {
  font-size: clamp(1.3rem, 3.4vw, 1.82rem);
  line-height: 1.02;
}

.detail-shell .content {
  margin-top: 12px;
}

@media (max-width: 560px) {
  .house-start {
    gap: 4px;
  }

  .house-start .window-row {
    min-height: 38px;
  }

  .house-start .floor-label {
    min-height: 42px;
    padding: 6px 10px 7px;
    font-size: clamp(1.22rem, 6.2vw, 1.62rem);
  }

  .house-start .window-action {
    gap: 2px;
    padding: 4px 3px;
  }

  .house-start .window-action svg {
    width: 20px;
    height: 20px;
  }

  .house-start .window-action-label {
    font-size: .62rem;
  }

  .department-header {
    gap: 6px;
    padding-bottom: 6px;
  }

  .department-header-logo {
    width: min(190px, 52vw);
  }

  .department-window-band {
    min-height: 38px;
    width: min(390px, 100%);
  }

  .department-window-action {
    padding: 3px 2px;
    gap: 1px;
  }

  .department-window-action svg {
    width: 18px;
    height: 18px;
  }

  .department-window-action span {
    font-size: .56rem;
  }

  .department-switcher summary {
    min-height: 42px;
    padding: 5px 10px 6px;
  }

  .department-floor {
    font-size: .62rem;
  }

  .department-name {
    font-size: clamp(1.05rem, 5.4vw, 1.38rem);
  }

  .detail-shell .content {
    margin-top: 7px;
  }
}

@media (max-width: 380px) {
  .house-start .window-row {
    min-height: 34px;
  }

  .house-start .floor-label {
    min-height: 38px;
    font-size: clamp(1.08rem, 6vw, 1.35rem);
  }

  .department-window-band {
    min-height: 34px;
  }

  .department-switcher summary {
    min-height: 38px;
  }
}

/* Patch 010: Startseite mobil ohne Zwischenseite.
   Die Fachbereichszeile ist kein Link mehr. Auf Desktop zeigen Hover/Fokus die Anliegen,
   auf Touch-Geräten öffnet ein Tippen die Fenster direkt auf der Startseite. */
.floor {
  display: grid;
}

.floor-label {
  order: 2;
  cursor: pointer;
  list-style: none;
}

.floor-label::-webkit-details-marker {
  display: none;
}

.floor-label::marker {
  content: "";
}

.window-row {
  order: 1;
}

.house-start .floor[open] .window-actions,
.house-start .floor[open] .facade-window-strip,
.floor-active[open] .window-actions {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.house-start .floor[open] .floor-label {
  background: var(--pzfp-yellow);
  color: #252525;
}

/* Auf Touch-Geräten ist Tippen auf die Etage der erste Schritt; erst die Icons navigieren. */
@media (hover: none) and (pointer: coarse) {
  .house-start .floor:hover .window-actions,
  .house-start .floor:focus-within .window-actions {
    opacity: 0;
    pointer-events: none;
  }

  .house-start .floor[open] .window-actions {
    opacity: 1;
    pointer-events: auto;
  }
}


/* Patch 011: Mobile Abteilung antippen -> Anliegen sichtbar, Fassade bleibt sichtbar.
   Entfernt die details/open-Abhängigkeit aus Patch 010. Die Fensterbänder sind immer
   vorhanden; nur die Icons werden bei Hover/Fokus oder per Tippen eingeblendet. */
.floor-label-button {
  width: 100%;
  border: 0;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
}

.floor-expanded .window-actions,
.floor-active .window-actions,
.house-start .floor:hover .window-actions,
.house-start .floor:focus-within .window-actions {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.floor-expanded .floor-label,
.floor-active .floor-label,
.house-start .floor:hover .floor-label,
.house-start .floor:focus-within .floor-label {
  background: var(--pzfp-yellow);
  color: #252525;
}

/* Die passive Fassade darf nie verschwinden. */
.house-start .floor .facade-window-strip,
.house-start .floor:hover .facade-window-strip,
.house-start .floor:focus-within .facade-window-strip,
.floor-expanded .facade-window-strip,
.floor-active .facade-window-strip {
  opacity: 1;
}

/* Auf Touch-Geräten soll kein Phantom-Hover hängen bleiben: nur echtes Antippen öffnet. */
@media (hover: none) and (pointer: coarse) {
  .house-start .floor:hover .window-actions,
  .house-start .floor:focus-within .window-actions {
    opacity: 0;
    pointer-events: none;
    transform: translateY(4px);
  }

  .house-start .floor:hover .floor-label,
  .house-start .floor:focus-within .floor-label {
    background: var(--pzfp-facade);
    color: var(--pzfp-graphite);
  }

  .house-start .floor-expanded .window-actions,
  .house-start .floor-expanded:focus-within .window-actions,
  .house-start .floor-expanded:hover .window-actions {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }

  .house-start .floor-expanded .floor-label,
  .house-start .floor-expanded:hover .floor-label,
  .house-start .floor-expanded:focus-within .floor-label {
    background: var(--pzfp-yellow);
    color: #252525;
  }
}

/* Flachere, fassadenähnlichere Startseite auf allen Größen. */
.house-start {
  gap: 7px;
}

.house-start .window-row {
  min-height: 50px;
}

.house-start .floor-label {
  min-height: 50px;
  padding: 9px 12px 11px;
  display: grid;
  place-items: center;
}

.house-start .window-action {
  gap: 4px;
  padding: 7px 4px;
}

.house-start .window-action svg {
  width: 25px;
  height: 25px;
}

.house-start .window-action-label {
  font-size: .72rem;
}

/* Mobil: Fensterband bleibt sichtbar, ausgeklappt nur Icons ohne Text, damit nichts abschneidet. */
@media (max-width: 560px) {
  .app-shell {
    padding: 12px 10px 34px;
  }

  .hero {
    gap: 10px;
    padding-bottom: 16px;
  }

  .pzfp-logo {
    width: min(360px, 90vw);
  }

  .house {
    width: min(390px, 100%);
  }

  .house-start {
    gap: 8px;
  }

  .house-start .window-row {
    min-height: 42px;
  }

  .house-start .floor-expanded .window-row {
    min-height: 52px;
  }

  .house-start .floor-label {
    min-height: 44px;
    padding: 7px 10px 8px;
    font-size: clamp(1.38rem, 7vw, 1.85rem);
    line-height: 1;
  }

  .house-start .window-action {
    padding: 5px 2px;
    gap: 0;
  }

  .house-start .window-action svg {
    width: 25px;
    height: 25px;
  }

  .house-start .window-action-label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  .facade-window-strip {
    gap: 1px;
  }

  .content {
    margin-top: 18px;
  }

  .notice {
    border-left-width: 6px;
    padding: 14px 16px;
  }
}

@media (max-width: 380px) {
  .house-start .window-row {
    min-height: 38px;
  }

  .house-start .floor-expanded .window-row {
    min-height: 48px;
  }

  .house-start .floor-label {
    min-height: 40px;
    font-size: clamp(1.22rem, 7vw, 1.55rem);
  }

  .house-start .window-action svg {
    width: 23px;
    height: 23px;
  }
}


/* Patch 012: Fassade wieder geschlossen und kantig.
   Korrigiert Patch 011: keine Lücken zwischen den Etagen, keine abgerundeten gelben
   Hover-/Aktivflächen, Fensterband und Fassadenband bleiben als geschlossene Fassade lesbar. */

.house,
.house-start {
  gap: 0 !important;
}

.house-start .floor,
.house .floor {
  margin: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.house-start .floor + .floor {
  border-top: 1px solid rgba(30, 30, 30, .12);
}

.house-start .window-row {
  border-radius: 0 !important;
}

.floor-label,
.floor-label-button,
.house-start .floor-label,
.house-start .floor-expanded .floor-label,
.house-start .floor-expanded:hover .floor-label,
.house-start .floor-expanded:focus-within .floor-label,
.floor-expanded .floor-label,
.floor-active .floor-label,
.house-start .floor:hover .floor-label,
.house-start .floor:focus-within .floor-label {
  border-radius: 0 !important;
}

.window-actions,
.window-action,
.facade-window-strip,
.facade-window-strip span {
  border-radius: 0 !important;
}

/* Aktive/aufgeklappte Etage: gelb bleibt Fassadenband, nicht Pillenbutton. */
.house-start .floor-expanded .floor-label,
.house-start .floor-expanded:hover .floor-label,
.house-start .floor-expanded:focus-within .floor-label,
.floor-expanded .floor-label,
.floor-active .floor-label {
  background: var(--pzfp-yellow) !important;
  color: #252525 !important;
}

/* Die gelbe Fläche darf nie über die Fassadenbreite hinauslaufen. */
.floor-label {
  overflow: hidden;
}

/* Mobile: noch geschlossener, weniger Kartenoptik. */
@media (max-width: 560px) {
  .house,
  .house-start {
    gap: 0 !important;
  }

  .house-start .floor {
    border-radius: 0 !important;
  }

  .house-start .floor-label {
    min-height: 42px;
  }

  .house-start .window-row {
    min-height: 38px;
  }

  .house-start .floor-expanded .window-row {
    min-height: 46px;
  }
}

@media (max-width: 380px) {
  .house-start .window-row {
    min-height: 36px;
  }

  .house-start .floor-expanded .window-row {
    min-height: 44px;
  }

  .house-start .floor-label {
    min-height: 39px;
  }
}

.auth-card { max-width: 520px; }
.stack-form { display: grid; grid-gap: 16px; gap: 16px; }
.form-success { margin: 12px 0 0; padding: 12px 14px; border-radius: 12px; background: #e8f5e9; color: #1b5e20; font-weight: 700; }
.form-error { margin: 12px 0 0; padding: 12px 14px; border-radius: 12px; background: #ffebee; color: #8b1a1a; font-weight: 700; }
.admin-form { background: #fff; border: 1px solid #e1e1e1; border-radius: 18px; padding: 20px; margin-top: 18px; box-shadow: 0 12px 32px rgba(0,0,0,.06); }
.admin-form h2 { margin-top: 0; }
.admin-table-wrap { overflow-x: auto; }
.admin-table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.admin-table th, .admin-table td { border-bottom: 1px solid #ececec; padding: 10px; text-align: left; vertical-align: top; }
.admin-table th { color: #222; background: #fafafa; }
.admin-table input[type="email"], .admin-table input[type="text"] { width: 100%; min-width: 220px; padding: 10px; border: 1px solid #d5d5d5; border-radius: 10px; }
.admin-footer-link { opacity: .65; }

.wizard-step-card {
  border: 1px solid #e5e2da;
  border-radius: 16px;
  background: #fffdf7;
  padding: clamp(16px, 3vw, 22px);
  display: grid;
  grid-gap: 14px;
  gap: 14px;
}

.wizard-step-card h2 {
  margin: 0;
}

.stack-form {
  display: grid;
  grid-gap: 18px;
  gap: 18px;
}

.form-grid {
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
}

.field-wide {
  grid-column: 1 / -1;
}

.field select {
  border: 2px solid #d7d7d7;
  border-radius: 12px;
  padding: 13px 14px;
  background: #fff;
  min-height: 50px;
  font: inherit;
}

.field-help {
  color: #666;
  font-size: .92rem;
  font-weight: 500;
  line-height: 1.35;
}

.compact-choice-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.privacy-note {
  background: #f6f6f6;
}

.privacy-note p {
  margin: 0;
  color: #4d4d4d;
  line-height: 1.55;
}

.form-success,
.form-error {
  border-radius: 14px;
  padding: 14px 16px;
  font-weight: 700;
}

.form-success {
  background: #eaf7ea;
  color: #245b2c;
}

.form-error {
  background: #fdeaea;
  color: #7b2020;
}

.inline-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 12px 18px;
  min-height: 44px;
  text-decoration: none;
  font-weight: 700;
}


.inline-actions-stack {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
  margin-top: 16px;
}

.inline-actions-stack .inline-action {
  width: -moz-fit-content;
  width: fit-content;
}

@media (max-width: 700px) {
  .inline-actions-stack .inline-action {
    width: 100%;
  }
}

.notice-body {
  color: #4d4d4d;
  line-height: 1.55;
}

.notice-body p {
  margin: 0 0 10px;
}

.processing-hint {
  border-left: 4px solid #d9b15f;
  background: #fff8e6;
  border-radius: 12px;
  padding: 12px 14px;
  color: #59420f;
  font-weight: 700;
  line-height: 1.45;
}

.opening-hours-list {
  display: grid;
  grid-gap: 8px;
  gap: 8px;
  padding-left: 0;
  list-style: none;
}

.opening-hours-list li {
  border: 1px solid #e3ded1;
  border-radius: 12px;
  padding: 10px 12px;
  background: #fffaf0;
}

.small-button {
  min-height: 34px;
  padding: 7px 12px;
  font-size: .9rem;
}

.legal-page {
  max-width: 980px;
}

.legal-card {
  background: #fff;
  border: 1px solid #e1e1e1;
  border-radius: 20px;
  padding: clamp(22px, 4vw, 42px);
  box-shadow: 0 14px 36px rgba(0,0,0,.06);
  line-height: 1.6;
}

.legal-card h1 { margin-top: 0; }
.legal-card h2 { margin-top: 1.8em; }
.legal-card p { max-width: 76ch; }

.consent-check {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-gap: 10px;
  gap: 10px;
  align-items: start;
  padding: 14px;
  border: 1px solid #dedbd4;
  border-radius: 14px;
  background: #fff;
  font-weight: 700;
}

.consent-check input {
  margin-top: 4px;
  width: 18px;
  height: 18px;
}

.legal-page {
  max-width: 980px;
}

.legal-card {
  background: #fff;
  border: 1px solid #e1e1e1;
  border-radius: 20px;
  padding: clamp(22px, 4vw, 42px);
  box-shadow: 0 14px 36px rgba(0,0,0,.06);
  line-height: 1.6;
}

.legal-card h1 { margin-top: 0; }
.legal-card h2 { margin-top: 1.8em; }
.legal-card p { max-width: 76ch; }

.consent-check {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-gap: 10px;
  gap: 10px;
  align-items: start;
  padding: 14px;
  border: 1px solid #dedbd4;
  border-radius: 14px;
  background: #fff;
  font-weight: 700;
}

.consent-check input {
  margin-top: 4px;
  width: 18px;
  height: 18px;
}

.legal-navigation {
  display: grid;
  grid-gap: 16px;
  gap: 16px;
  margin-bottom: 22px;
  padding: 18px;
  background: #fff;
  border: 1px solid #e6e0d3;
  border-radius: 20px;
  box-shadow: 0 10px 28px rgba(0,0,0,.05);
}

.legal-navigation-logo {
  display: inline-flex;
  width: -moz-fit-content;
  width: fit-content;
  color: inherit;
  text-decoration: none;
}

.legal-navigation-logo .pzfp-logo {
  width: min(320px, 72vw);
}

.legal-navigation-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.legal-navigation-links a {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  border: 1px solid #dfd5bd;
  border-radius: 999px;
  padding: 8px 13px;
  background: #fffaf0;
  text-decoration: none;
  color: #2f2b24;
  font-weight: 700;
}

.doctor-edit-list {
  display: grid;
  grid-gap: 20px;
  gap: 20px;
}

.doctor-edit-card {
  display: grid;
  grid-gap: 16px;
  gap: 16px;
  border: 1px solid #e2dccf;
  border-radius: 18px;
  padding: 18px;
  background: #fffaf0;
}

.danger-zone {
  display: grid;
  grid-gap: 10px;
  gap: 10px;
  border: 1px solid #f0c7c7;
  border-radius: 14px;
  padding: 14px;
  background: #fff4f4;
}

.danger-button {
  width: -moz-fit-content;
  width: fit-content;
  border: 0;
  border-radius: 999px;
  padding: 10px 16px;
  min-height: 40px;
  background: #8f1f1f;
  color: #fff;
  font-weight: 800;
  cursor: pointer;
}

.opening-admin-table input[type="time"] {
  min-width: 105px;
}

.opening-add-row td {
  background: #fffdf7;
  border-top: 0;
}

.opening-status {
  display: inline-flex;
  align-items: center;
  margin: 12px 0 18px;
  border-radius: 999px;
  padding: 10px 14px;
  font-weight: 800;
}

.opening-status-open {
  background: #e7f6e8;
  color: #215a2a;
}

.opening-status-later {
  background: #fff3cf;
  color: #6b4d00;
}

.opening-status-closed,
.opening-status-unknown {
  background: #f1f1f1;
  color: #454545;
}

@media (min-width: 760px) {
  .legal-navigation {
    grid-template-columns: auto 1fr;
    align-items: center;
  }

  .legal-navigation-links {
    justify-content: flex-end;
  }
}

/* Stammdaten: kompaktere Öffnungszeiten und einklappbare Arztformulare */
.doctor-edit-card {
  display: block;
  padding: 0;
  overflow: hidden;
}

.doctor-edit-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 18px;
  cursor: pointer;
  list-style: none;
}

.doctor-edit-summary::-webkit-details-marker { display: none; }

.doctor-edit-summary span:first-child {
  display: grid;
  grid-gap: 3px;
  gap: 3px;
}

.doctor-edit-summary small {
  color: #69645b;
  font-weight: 600;
}

.doctor-edit-form,
.doctor-edit-card .danger-zone {
  margin: 0 18px 18px;
}

.status-pill {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 6px 10px;
  font-size: .82rem;
  font-weight: 800;
  white-space: nowrap;
}

.status-active {
  background: #e7f6e8;
  color: #215a2a;
}

.status-inactive {
  background: #eeeeee;
  color: #555;
}

.opening-admin-wrap {
  overflow-x: auto;
}

.opening-admin-table {
  min-width: 860px;
  table-layout: fixed;
}

.opening-admin-table th,
.opening-admin-table td {
  vertical-align: middle;
}

.opening-day-cell { width: 96px; }
.opening-time-cell { width: 92px; }
.opening-label-cell { width: 210px; }
.opening-public-cell { width: 80px; text-align: center; }
.opening-note-cell { width: 220px; }
.opening-action-cell { width: 110px; }

.opening-admin-table input[type="time"] {
  width: 86px;
  min-width: 0;
  padding-left: 8px;
  padding-right: 6px;
}

.opening-admin-table input:not([type="checkbox"]):not([type="time"]) {
  width: 100%;
  min-width: 0;
}

.opening-admin-table input[type="checkbox"] {
  width: 18px;
  height: 18px;
}

.opening-add-row .small-button {
  min-height: 32px;
  padding: 6px 12px;
}

.opening-hours-card {
  margin-top: 18px;
  border: 1px solid #e2dccf;
  border-radius: 18px;
  padding: 18px;
  background: #fffaf0;
}

.today-opening-hours {
  display: grid;
  grid-gap: 8px;
  gap: 8px;
  margin-bottom: 12px;
}

.compact-opening-hours {
  margin: 0;
}

.opening-hours-details {
  margin-top: 12px;
  border-top: 1px solid #e2dccf;
  padding-top: 12px;
}

.opening-hours-details summary {
  cursor: pointer;
  font-weight: 800;
}

.opening-hours-details .opening-hours-list {
  margin-top: 12px;
}


/* Feinschliff Stammdaten: Bemerkung sichtbar, kompaktere Zeiten, Team-/Vertretungsangaben */
.department-assignment-grid {
  display: grid;
  grid-gap: 12px;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}

.department-assignment-card {
  display: grid;
  grid-gap: 10px;
  gap: 10px;
  border: 1px solid #e2dccf;
  border-radius: 14px;
  padding: 12px;
  background: #fffdf7;
}

.compact-field input,
.compact-field select {
  min-height: 42px;
  padding: 9px 10px;
}

.opening-admin-table {
  min-width: 1000px;
}

.opening-admin-table th,
.opening-admin-table td {
  padding: 9px 8px;
}

.opening-day-cell { width: 100px; }
.opening-time-cell { width: 78px; }
.opening-label-cell { width: 190px; }
.opening-public-cell { width: 82px; }
.opening-note-cell { width: 250px; }
.opening-action-cell { width: 92px; }

.opening-admin-table input[type="time"] {
  width: 72px;
  font-size: .92rem;
  padding-left: 4px;
  padding-right: 2px;
}

.opening-note-cell input,
.opening-label-cell input {
  font-size: .95rem;
}

.opening-action-cell .small-button {
  min-height: 30px;
  padding: 5px 10px;
}

/* Admin: einklappbare Stammdatenbereiche und Anfrage-Kommunikation */
.admin-collapsible-card {
  border: 1px solid #e2dccf;
  border-radius: 18px;
  background: #fffaf0;
  overflow: hidden;
}

.admin-collapsible-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 18px;
  cursor: pointer;
  list-style: none;
}

.admin-collapsible-summary::-webkit-details-marker { display: none; }

.admin-collapsible-summary span {
  display: grid;
  grid-gap: 4px;
  gap: 4px;
}

.admin-collapsible-summary small {
  color: #69645b;
  font-weight: 600;
}

.admin-collapsible-body {
  padding: 0 18px 18px;
}

.inline-action-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin-top: 12px;
}

.communication-card {
  border: 1px solid #e2dccf;
  border-radius: 16px;
  padding: 16px;
  background: #fffdf7;
  margin-top: 14px;
}

.communication-card h3 {
  margin-top: 0;
}

.communication-meta {
  display: grid;
  grid-gap: 8px;
  gap: 8px;
  margin: 10px 0 14px;
}

.communication-meta div {
  display: grid;
  grid-template-columns: minmax(90px, 130px) 1fr;
  grid-gap: 12px;
  gap: 12px;
}

.communication-meta dt {
  font-weight: 800;
  color: #4f4a42;
}

.communication-meta dd {
  margin: 0;
}

.confirmation-page {
  max-width: 820px;
}

.view-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-top: 1rem;
}

.view-tabs a {
  border: 1px solid var(--border, #ded2bc);
  border-radius: 999px;
  padding: 0.45rem 0.85rem;
  text-decoration: none;
  background: #fffaf0;
}

.view-tabs a.active {
  background: #f2b705;
  color: #141414;
  font-weight: 700;
}

.status-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  grid-gap: 0.75rem;
  gap: 0.75rem;
  margin: 1rem 0;
}

.status-card {
  border: 1px solid var(--border, #ded2bc);
  border-radius: 16px;
  padding: 0.85rem 1rem;
  background: #fffdf7;
}

.status-card span {
  display: block;
  color: var(--muted, #606879);
  font-size: 0.85rem;
}

.status-card strong {
  display: block;
  font-size: 1.25rem;
  margin-top: 0.15rem;
}

.status-pill {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 0.22rem 0.6rem;
  font-size: 0.86rem;
  font-weight: 700;
  border: 1px solid transparent;
}

.status-new { background: #fff3cd; border-color: #f1d179; }
.status-in_progress { background: #dbeafe; border-color: #9fc1f5; }
.status-done { background: #dcfce7; border-color: #8fd6a6; }
.status-archived { background: #eeeeee; border-color: #d0d0d0; }
.status-spam { background: #fee2e2; border-color: #f2a4a4; }

.row-status-new td:first-child { border-left: 4px solid #f2b705; }
.row-status-in_progress td:first-child { border-left: 4px solid #4f83cc; }
.row-status-done td:first-child { border-left: 4px solid #4da66b; }
.row-status-archived td:first-child { border-left: 4px solid #999; }
.row-status-spam td:first-child { border-left: 4px solid #b91c1c; }

.request-table td,
.request-table th {
  vertical-align: top;
}

.inline-action-row form {
  display: inline-flex;
}

.danger,
.danger-small {
  border: 1px solid #b91c1c;
  background: #fee2e2;
  color: #7f1d1d;
  border-radius: 999px;
  padding: 0.55rem 0.9rem;
  font-weight: 700;
  cursor: pointer;
}

.danger-small {
  padding: 0.35rem 0.65rem;
  font-size: 0.85rem;
}

.move-department-form,
.template-picker {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto;
  grid-gap: 0.75rem;
  gap: 0.75rem;
  align-items: flex-end;
  margin-top: 1rem;
}

.attachment-list {
  display: grid;
  grid-gap: 0.6rem;
  gap: 0.6rem;
}

.attachment-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  grid-gap: 0.75rem;
  gap: 0.75rem;
  align-items: center;
  border: 1px solid var(--border, #ded2bc);
  border-radius: 12px;
  padding: 0.65rem 0.8rem;
  background: #fffdf7;
}


.attachment-row strong,
.attachment-row .attachment-filename {
  display: block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.92rem;
  line-height: 1.25;
}

.attachment-row .muted {
  font-size: 0.78rem;
}

.admin-details {
  border: 1px solid var(--border, #ded2bc);
  border-radius: 16px;
  padding: 0.85rem 1rem;
  margin: 1rem 0;
  background: #fffdf7;
}

.admin-details summary {
  cursor: pointer;
  font-weight: 700;
}

.details-form {
  margin-top: 1rem;
}

@media (max-width: 720px) {
  .move-department-form,
  .template-picker,
  .attachment-row {
    grid-template-columns: 1fr;
  }
}

.table-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  align-items: center;
}

.secondary-small {
  border: 1px solid rgba(14, 116, 144, 0.22);
  border-radius: 999px;
  background: #f0fdfa;
  color: #0f766e;
  font-weight: 700;
  padding: 0.35rem 0.7rem;
  cursor: pointer;
}

.communication-filter-form {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  align-items: center;
  margin: 1rem 0;
}

.communication-filter-form .choice {
  margin: 0;
}

.auto-import-status {
  margin-top: 0.5rem;
}

.attachment-audio-row {
  grid-template-columns: auto minmax(260px, 1fr);
}

.audio-player-card {
  display: grid;
  grid-gap: 0.65rem;
  gap: 0.65rem;
  width: 100%;
}

.audio-player-card audio {
  width: 100%;
}

.audio-player-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
}

.audio-rate-label {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.92rem;
  font-weight: 700;
}

.audio-rate-label select {
  border: 1px solid var(--border, #ded2bc);
  border-radius: 999px;
  padding: 0.35rem 0.55rem;
  background: #fff;
}

@media (max-width: 720px) {
  .attachment-audio-row,
  .audio-player-actions {
    grid-template-columns: 1fr;
  }
}

.patch-transfer-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 1rem;
  gap: 1rem;
  margin: 1rem 0 2rem;
}

.patch-transfer-card {
  display: grid;
  grid-gap: 0.85rem;
  gap: 0.85rem;
  align-content: start;
}

.patch-transfer-wide,
.patch-transfer-message {
  grid-column: 1 / -1;
}

.patch-transfer-checks {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
}

.patch-transfer-checks label {
  display: inline-flex;
  gap: 0.45rem;
  align-items: center;
  border: 1px solid var(--border, #ded2bc);
  border-radius: 999px;
  padding: 0.45rem 0.75rem;
  background: #fffdf7;
  font-weight: 700;
}

.patch-file-input {
  width: 100%;
  border: 1px dashed var(--border, #ded2bc);
  border-radius: 14px;
  padding: 0.9rem;
  background: #fffdf7;
}

.patch-result {
  border: 1px solid rgba(14, 116, 144, 0.22);
  border-radius: 14px;
  padding: 0.85rem;
  background: #f0fdfa;
}

.patch-result summary {
  cursor: pointer;
  font-weight: 700;
}

.patch-command-box {
  display: grid;
  grid-gap: 0.45rem;
  gap: 0.45rem;
}

.patch-command-box code {
  display: block;
  border-radius: 10px;
  padding: 0.55rem 0.7rem;
  background: #1f2937;
  color: #f9fafb;
  overflow-x: auto;
}

.patch-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}

.patch-backup-list {
  display: grid;
  grid-gap: 0.65rem;
  gap: 0.65rem;
}

.patch-backup-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-gap: 0.7rem;
  gap: 0.7rem;
  align-items: center;
  border: 1px solid var(--border, #ded2bc);
  border-radius: 14px;
  padding: 0.75rem;
  background: #fffdf7;
}

.patch-backup-row span {
  display: block;
  color: var(--muted, #6b7280);
  font-size: 0.9rem;
  margin-top: 0.15rem;
}

.patch-transfer-message {
  white-space: pre-wrap;
  overflow-x: auto;
  border: 1px solid var(--border, #ded2bc);
  border-radius: 14px;
  background: #fffdf7;
}

@media (max-width: 820px) {
  .patch-transfer-grid {
    grid-template-columns: 1fr;
  }

  .patch-backup-row {
    grid-template-columns: 1fr;
  }
}

.patch-sql-input {
  width: 100%;
  min-height: 9rem;
  border: 1px solid var(--border, #ded2bc);
  border-radius: 14px;
  padding: 0.85rem;
  background: #fffdf7;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 0.95rem;
  line-height: 1.45;
  resize: vertical;
}

.patch-sql-result {
  display: grid;
  grid-gap: 0.65rem;
  gap: 0.65rem;
}

.patch-sql-table-wrap {
  max-width: 100%;
  max-height: 32rem;
  overflow: auto;
  border: 1px solid var(--border, #ded2bc);
  border-radius: 14px;
  background: #fffdf7;
}

.patch-sql-table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
  font-size: 0.88rem;
}

.patch-sql-table th,
.patch-sql-table td {
  border-bottom: 1px solid rgba(120, 113, 108, 0.18);
  border-right: 1px solid rgba(120, 113, 108, 0.14);
  padding: 0.45rem 0.55rem;
  text-align: left;
  vertical-align: top;
  max-width: 28rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.patch-sql-table th {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 1;
  background: #f8f0df;
  font-weight: 800;
}

.patch-sql-table tr:last-child td {
  border-bottom: 0;
}

.patch-sql-result-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.patch-sql-copy-actions {
  margin-top: 0;
}

.patch-copy-message {
  margin: 0;
  padding: 0.55rem 0.75rem;
  border-radius: 0.8rem;
  background: rgba(22, 163, 74, 0.10);
  color: #166534;
  font-weight: 700;
}


.filename-status-card strong {
  font-size: 0.82rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
  word-break: break-word;
  max-width: 100%;
}

.done-request-section > summary {
  cursor: pointer;
  font-weight: 800;
  font-size: 1.05rem;
  padding: 0.25rem 0;
}

.done-request-section .content {
  width: 100%;
  margin-top: 1rem;
  padding: 0;
  border: 0;
  box-shadow: none;
}

.patch-transfer-section {
  padding: 0;
  overflow: hidden;
}

.patch-transfer-section[open] {
  align-content: stretch;
}

.patch-section-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  cursor: pointer;
  padding: 1rem 1.1rem;
  list-style: none;
}

.patch-section-summary::-webkit-details-marker {
  display: none;
}

.patch-section-summary::after {
  content: "▸";
  font-size: 1.15rem;
  font-weight: 900;
  color: var(--muted, #6b7280);
  transition: transform 0.15s ease;
}

.patch-transfer-section[open] .patch-section-summary::after {
  transform: rotate(90deg);
}

.patch-section-summary strong {
  display: block;
  margin-top: 0.2rem;
  font-size: 1.1rem;
}

.patch-section-body {
  display: grid;
  grid-gap: 0.85rem;
  gap: 0.85rem;
  padding: 0 1.1rem 1.1rem;
}

.patch-console-result {
  display: grid;
  grid-gap: 0.65rem;
  gap: 0.65rem;
  border: 1px solid var(--border, #ded2bc);
  border-radius: 14px;
  padding: 0.85rem;
  background: #fffdf7;
}

.patch-console-result pre {
  max-height: 32rem;
  margin: 0;
  overflow: auto;
  border-radius: 12px;
  padding: 0.8rem;
  background: #111827;
  color: #f9fafb;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 0.86rem;
  line-height: 1.45;
}

.patch-allowed-commands {
  border: 1px solid rgba(120, 113, 108, 0.22);
  border-radius: 12px;
  padding: 0.75rem 0.9rem;
  background: #fffdf7;
}

.patch-allowed-commands summary {
  cursor: pointer;
  font-weight: 800;
}

.patch-allowed-commands ul {
  margin-bottom: 0;
}

.patch-allowed-commands code {
  border-radius: 0.45rem;
  padding: 0.12rem 0.28rem;
  background: #f3ead9;
}

.patch-console-input {
  min-height: 7rem;
}

.patch-inline-check {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  width: -moz-fit-content;
  width: fit-content;
  border: 1px solid var(--border, #ded2bc);
  border-radius: 999px;
  padding: 0.55rem 0.8rem;
  background: #fffdf7;
  font-weight: 800;
}

.patch-warning {
  margin: 0;
  border: 1px solid rgba(180, 83, 9, 0.28);
  border-radius: 14px;
  padding: 0.75rem 0.85rem;
  background: #fffbeb;
  color: #92400e;
  font-weight: 800;
}

/* Kommunikationscenter: kompakte Arbeitsliste mit Seitenpanel */
.communication-workbench {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(360px, 0.75fr);
  grid-gap: 1rem;
  gap: 1rem;
  align-items: start;
}

.communication-list-column {
  min-width: 0;
}

.communication-list {
  display: grid;
  grid-gap: 0.6rem;
  gap: 0.6rem;
}

.communication-list-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  grid-gap: 0.8rem;
  gap: 0.8rem;
  align-items: center;
  padding: 0.85rem;
  border: 1px solid rgba(70, 54, 30, 0.12);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.82);
  color: inherit;
  text-decoration: none;
  box-shadow: 0 8px 22px rgba(46, 35, 20, 0.05);
}

.communication-list-row:hover,
.communication-list-row.active {
  border-color: rgba(181, 121, 27, 0.45);
  background: rgba(255, 249, 232, 0.95);
}

.communication-type-icon {
  width: 2.25rem;
  height: 2.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(236, 181, 78, 0.2);
  font-size: 1.15rem;
}

.communication-row-main,
.communication-row-side {
  display: flex;
  flex-direction: column;
  gap: 0.22rem;
}

.communication-row-main {
  min-width: 0;
}

.communication-row-main strong,
.communication-row-main span,
.communication-row-main small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.communication-row-main span,
.communication-row-main small,
.communication-row-side time,
.communication-row-side small {
  color: var(--muted, #746b60);
}

.communication-row-side {
  align-items: flex-end;
  text-align: right;
  min-width: 8.5rem;
}

.communication-side-panel {
  position: -webkit-sticky;
  position: sticky;
  top: 1rem;
  max-height: calc(100vh - 2rem);
  overflow: auto;
}

.panel-headline {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}

.communication-quick-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 0.6rem;
  gap: 0.6rem;
  margin: 1rem 0;
}

.communication-quick-meta div {
  border: 1px solid rgba(70, 54, 30, 0.12);
  border-radius: 14px;
  padding: 0.75rem;
  background: rgba(255, 255, 255, 0.7);
}

.communication-quick-meta span {
  display: block;
  color: var(--muted, #746b60);
  font-size: 0.82rem;
  margin-bottom: 0.2rem;
}

.communication-quick-meta strong {
  display: block;
  overflow-wrap: anywhere;
}

.panel-block {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(70, 54, 30, 0.12);
}

.panel-actions-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-gap: 0.55rem;
  gap: 0.55rem;
  margin-top: 1rem;
}

.panel-actions-grid form,
.panel-actions-grid button,
.panel-actions-grid a {
  width: 100%;
}

.panel-danger-actions {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.communication-preline {
  white-space: pre-wrap;
  max-height: 18rem;
  overflow: auto;
  padding: 0.75rem;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.7);
}

.status-waiting_for_doctor {
  background: rgba(255, 226, 148, 0.7);
}

@media (max-width: 980px) {
  .communication-workbench {
    grid-template-columns: 1fr;
  }

  .communication-side-panel {
    position: static;
    max-height: none;
  }
}

@media (max-width: 680px) {
  .communication-list-row {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .communication-row-side {
    grid-column: 2;
    align-items: flex-start;
    text-align: left;
    min-width: 0;
  }

  .communication-quick-meta,
  .panel-actions-grid,
  .panel-danger-actions {
    grid-template-columns: 1fr;
  }
}

/* Kommunikationscenter: Arbeitslisten-Feinschliff */
.communication-admin-shell {
  width: min(1420px, 100%);
}

.communication-admin-header {
  width: min(1180px, 100%);
}

.compact-tabs {
  gap: 0.45rem;
}

.compact-tabs a,
.compact-filter-form .choice,
.status-filter-tab {
  font-size: 0.92rem;
  padding: 0.42rem 0.72rem;
}

.compact-filter-form {
  gap: 0.55rem;
}

.compact-filter-form .choice {
  min-height: auto;
  border-radius: 14px;
}

.status-filter-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-top: 0.9rem;
}

.status-filter-tab {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  border: 1px solid rgba(70, 54, 30, 0.14);
  border-radius: 999px;
  background: rgba(255,255,255,.78);
  color: inherit;
  text-decoration: none;
}

.status-filter-tab strong {
  min-width: 1.65rem;
  text-align: center;
  border-radius: 999px;
  padding: 0.08rem 0.42rem;
  background: rgba(0,0,0,.06);
}

.status-filter-tab.active {
  border-color: rgba(181, 121, 27, 0.55);
  background: #f2b705;
  font-weight: 800;
}

.status-filter-tab.status-done {
  background: rgba(220, 252, 231, .72);
}

.status-filter-tab.status-spam {
  background: rgba(254, 226, 226, .72);
}

.communication-workbench {
  scroll-margin-top: 0.75rem;
}

.communication-row-wrap {
  display: grid;
  grid-gap: 0.45rem;
  gap: 0.45rem;
}

.communication-list-row.communication-kind-voicemail {
  background: linear-gradient(90deg, rgba(219, 234, 254, .72), rgba(255,255,255,.84));
}

.communication-list-row.communication-kind-fax {
  background: linear-gradient(90deg, rgba(237, 233, 254, .72), rgba(255,255,255,.84));
}

.communication-list-row.communication-kind-homepage {
  background: linear-gradient(90deg, rgba(220, 252, 231, .72), rgba(255,255,255,.84));
}

.communication-list-row.communication-kind-email {
  background: linear-gradient(90deg, rgba(255, 251, 235, .75), rgba(255,255,255,.84));
}

.communication-kind-voicemail .communication-type-icon {
  background: rgba(59, 130, 246, .16);
  color: #1d4ed8;
}

.communication-kind-fax .communication-type-icon {
  background: rgba(124, 58, 237, .14);
  color: #6d28d9;
}

.communication-kind-homepage .communication-type-icon {
  background: rgba(22, 163, 74, .14);
  color: #15803d;
}

.communication-kind-email .communication-type-icon {
  background: rgba(217, 119, 6, .14);
  color: #b45309;
}

.communication-list-row.active {
  transform: translateY(-1px);
  border-color: rgba(12, 100, 102, .38);
  box-shadow: 0 14px 30px rgba(13, 91, 92, .10);
}

.communication-row-preview {
  margin-left: 3.05rem;
  border: 1px solid rgba(70, 54, 30, 0.10);
  border-radius: 16px;
  padding: 0.8rem;
  background: rgba(255,255,255,.88);
  box-shadow: 0 8px 22px rgba(46,35,20,.04);
}

.communication-preline.compact {
  max-height: 12rem;
  margin: 0;
}

.attachment-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 0.65rem;
}

.communication-side-panel.communication-kind-voicemail {
  border-left: 5px solid rgba(59, 130, 246, .32);
}

.communication-side-panel.communication-kind-fax {
  border-left: 5px solid rgba(124, 58, 237, .28);
}

.communication-side-panel.communication-kind-homepage {
  border-left: 5px solid rgba(22, 163, 74, .28);
}

.communication-side-panel.communication-kind-email {
  border-left: 5px solid rgba(217, 119, 6, .26);
}

.panel-actions-grid .primary,
.panel-actions-grid .secondary,
.panel-actions-grid .danger,
.panel-actions-grid .secondary-small,
.panel-actions-grid a {
  padding: 0.52rem 0.68rem;
  font-size: 0.9rem;
}

@media (min-width: 981px) {
  .communication-workbench {
    grid-template-columns: minmax(0, 1.15fr) minmax(420px, 0.85fr);
  }

  .request-floor-section,
  .communication-side-panel {
    width: 100%;
  }
}

@media (max-width: 680px) {
  .communication-row-preview {
    margin-left: 0;
  }

  .status-filter-tabs {
    gap: 0.4rem;
  }
}

.dev-import-row {
  margin: 0.55rem 0 0.75rem;
}

.communication-row-wrap:has(.communication-list-row.active) {
  scroll-margin-top: 0.75rem;
}
/* Kommunikationscenter Dev-Werkzeuge */
.communication-dev-tools {
  display: grid;
  grid-gap: 0.65rem;
  gap: 0.65rem;
  margin-top: 1rem;
  border: 1px dashed rgba(15, 118, 110, 0.32);
  border-radius: 18px;
  padding: 0.85rem;
  background: #f0fdfa;
}

.dev-import-result {
  margin: 0;
  border-radius: 12px;
  padding: 0.7rem 0.8rem;
  background: #dcfce7;
  color: #14532d;
  font-weight: 800;
}

.dev-tool-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  align-items: center;
}

.small-text {
  font-size: 0.9rem;
}

.communication-dev-log {
  border: 1px solid rgba(15, 118, 110, 0.25);
  border-radius: 14px;
  background: #ffffff;
  overflow: hidden;
}

.communication-dev-log summary {
  cursor: pointer;
  padding: 0.7rem 0.85rem;
  font-weight: 900;
}

.communication-dev-log pre {
  max-height: 24rem;
  margin: 0;
  overflow: auto;
  padding: 0.85rem;
  background: #111827;
  color: #f9fafb;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 0.82rem;
  line-height: 1.45;
}

.communication-dev-log summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.dev-log-copy-button {
  margin-left: auto;
  white-space: nowrap;
}

/* Kommunikationscenter: Mehrfachauswahl und Massenaktionen */
.communication-bulk-form {
  display: grid;
  grid-gap: 0.75rem;
  gap: 0.75rem;
}

.communication-bulk-toolbar {
  position: -webkit-sticky;
  position: sticky;
  top: 0.75rem;
  z-index: 5;
  display: grid;
  grid-gap: 0.55rem;
  gap: 0.55rem;
  padding: 0.75rem;
  border: 1px solid rgba(15, 23, 42, 0.09);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.08);
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
}

.bulk-select-actions,
.bulk-status-actions,
.bulk-spam-options {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
}

.bulk-spam-options {
  margin: 0;
  padding: 0.45rem 0 0;
  border: 0;
  border-top: 1px solid rgba(15, 23, 42, 0.08);
}

.bulk-spam-options legend {
  float: left;
  margin-right: 0.55rem;
  font-size: 0.78rem;
  font-weight: 800;
  color: var(--muted);
}

.bulk-spam-options label {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.8rem;
  color: var(--muted);
}

.communication-row-wrap {
  position: relative;
}

.communication-row-check {
  position: absolute;
  left: 0.55rem;
  top: 50%;
  z-index: 2;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
}

.communication-row-check input {
  width: 1rem;
  height: 1rem;
  accent-color: var(--primary);
}

.communication-row-check + .communication-list-row {
  padding-left: 2.65rem;
}

.small-danger {
  padding: 0.35rem 0.65rem;
  font-size: 0.82rem;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Kommunikationscenter: Feinschliff 2026-06-12 */
.communication-admin-header {
  width: 100%;
}

.communication-workbench {
  scroll-margin-top: 1rem;
}

.communication-row-wrap {
  scroll-margin-top: 7rem;
}

.communication-bulk-toolbar {
  margin-top: 0.35rem;
  margin-bottom: 0.85rem;
}

.communication-row-preview {
  margin-top: 0.15rem;
}

.communication-preline.compact {
  min-height: 15rem;
  max-height: 42rem;
  resize: vertical;
  line-height: 1.35;
}

.panel-context-hint {
  border: 1px dashed rgba(15, 118, 110, 0.22);
  border-radius: 14px;
  padding: 0.65rem 0.75rem;
  background: rgba(240, 253, 250, 0.62);
}

.bulk-spam-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  background: rgba(15, 23, 42, 0.28);
}

.bulk-spam-modal {
  width: min(520px, 100%);
  border: 1px solid rgba(127, 29, 29, 0.18);
  border-radius: 20px;
  padding: 1rem;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.22);
}

.bulk-spam-modal h3 {
  margin: 0 0 0.35rem;
}

.bulk-spam-options.modal-options {
  display: grid;
  grid-gap: 0.45rem;
  gap: 0.45rem;
  margin: 0.8rem 0;
  padding: 0;
  border: 0;
}

.bulk-spam-options.modal-options label {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  color: inherit;
  font-size: 0.95rem;
}

.modal-action-row {
  display: flex;
  justify-content: flex-end;
  gap: 0.55rem;
  margin-top: 0.85rem;
}

.admin-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.inline-action-row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.metric-grid {
  display: grid;
  grid-gap: 12px;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  margin-top: 14px;
}

.metric-card {
  border: 1px solid #e2dccf;
  border-radius: 14px;
  background: #fffaf0;
  padding: 14px;
  display: grid;
  grid-gap: 4px;
  gap: 4px;
}

.metric-card span {
  color: #675f51;
  font-size: .9rem;
  font-weight: 700;
}

.metric-card strong {
  font-size: 1.7rem;
}

.staff-card-list {
  display: grid;
  grid-gap: 16px;
  gap: 16px;
}

.staff-card-body,
.staff-phone-section,
.staff-phone-form {
  display: grid;
  grid-gap: 16px;
  gap: 16px;
}

.staff-phone-section {
  margin: 0 18px 18px;
  border: 1px solid #e2dccf;
  border-radius: 16px;
  padding: 16px;
  background: #fffdf7;
}

.staff-phone-section h3,
.staff-phone-form h3 {
  margin: 0;
}

.callback-start-form {
  display: grid;
  grid-gap: 10px;
  gap: 10px;
}

.panel-actions-grid .callback-start-form {
  min-width: min(100%, 260px);
}

@media (max-width: 720px) {
  .admin-section-head {
    display: grid;
  }
}

.bridge-pairing-box {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  margin-top: 1rem;
  padding: 1rem;
  border: 1px solid rgba(120, 80, 20, 0.18);
  border-radius: 16px;
  background: rgba(255, 245, 220, 0.75);
}

.bridge-pairing-box code {
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.35rem 0.6rem;
  border-radius: 10px;
  font-size: 1.2rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  background: rgba(255, 255, 255, 0.85);
}

.bridge-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  grid-gap: 0.75rem;
  gap: 0.75rem;
  margin: 0.75rem 0 1rem;
}

.bridge-summary-grid > div {
  padding: 0.75rem;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(30, 40, 60, 0.08);
}

.bridge-summary-grid span {
  display: block;
  color: var(--muted);
  font-size: 0.82rem;
  margin-bottom: 0.2rem;
}

.bridge-summary-grid strong {
  overflow-wrap: anywhere;
}


/* Desktop Bridge admin forms */
.admin-form-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  grid-gap: 0.95rem 1rem;
  gap: 0.95rem 1rem;
  align-items: start;
}

.admin-form-grid label {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  font-weight: 700;
}

.admin-form-grid input,
.admin-form-grid select,
.admin-form-grid textarea {
  width: 100%;
  min-width: 0;
}

.admin-form-grid .checkbox-line {
  grid-column: 1 / -1;
  flex-direction: row;
  align-items: center;
  gap: 0.55rem;
}

.admin-form-grid .checkbox-line input {
  width: auto;
}

.admin-form-grid .form-actions {
  grid-column: 1 / -1;
  display: flex;
  justify-content: flex-start;
}

.bridge-client-form {
  margin-top: 0.75rem;
}

.bridge-client-form .wide {
  grid-column: 1 / -1;
}

.bridge-client-form textarea {
  width: 100%;
  resize: vertical;
}

.bridge-send-panel {
  display: grid;
  grid-gap: 0.8rem;
  gap: 0.8rem;
  margin-top: 0.75rem;
}

.bridge-send-card {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(170px, 240px) auto;
  grid-gap: 0.75rem;
  gap: 0.75rem;
  align-items: end;
  padding: 0.8rem;
  border: 1px solid rgba(30, 40, 60, 0.09);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.7);
}

.bridge-send-card strong,
.bridge-send-card span {
  overflow-wrap: anywhere;
}

.bridge-send-card label {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  font-weight: 700;
}

.bridge-send-card select {
  width: 100%;
}

@media (max-width: 760px) {
  .bridge-send-card {
    grid-template-columns: 1fr;
  }
}

.bridge-actions {
  align-items: center;
  margin: 0.5rem 0 1rem;
}

.compact-metrics {
  min-width: min(360px, 100%);
}

/* Desktop Bridge Schritt 3: robustes Formularlayout mit expliziten Feldcontainern. */
.bridge-client-form-v2 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-gap: 1rem;
  gap: 1rem;
  margin-top: 0.9rem;
  align-items: start;
}

.bridge-field {
  display: grid;
  grid-gap: 0.35rem;
  gap: 0.35rem;
  min-width: 0;
}

.bridge-field label,
.bridge-checkline {
  font-weight: 800;
  color: #252018;
}

.bridge-field input,
.bridge-field select,
.bridge-field textarea {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.bridge-field-wide,
.bridge-checkline,
.bridge-form-actions {
  grid-column: 1 / -1;
}

.bridge-checkline {
  display: flex;
  align-items: center;
  gap: 0.55rem;
}

.bridge-checkline input {
  width: auto;
}

.bridge-form-actions {
  display: flex;
  justify-content: flex-start;
}

@media (max-width: 980px) {
  .bridge-client-form-v2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .bridge-client-form-v2 {
    grid-template-columns: 1fr;
  }
}

/* Kommunikationscenter: Desktop Bridge und Antwort direkt unter der Nachricht */
.communication-bridge-inline,
.communication-inline-reply {
  margin-top: 16px;
  padding: 14px;
  border: 1px solid rgba(15, 23, 42, 0.09);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.05);
}

.communication-bridge-inline h3,
.communication-inline-reply h3 {
  margin: 0 0 4px;
  font-size: 1rem;
}

.bridge-inline-form {
  display: grid;
  grid-template-columns: minmax(190px, 1.2fr) minmax(170px, 1fr) auto auto;
  grid-gap: 10px;
  gap: 10px;
  align-items: center;
}

.bridge-inline-form select,
.compact-reply-form input,
.compact-reply-form textarea,
.compact-reply-form select,
.save-template-inline-form input {
  width: 100%;
}

.communication-inline-reply-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 10px;
}

.compact-template-picker {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto;
  grid-gap: 10px;
  gap: 10px;
  align-items: end;
}

.placeholder-button-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: -4px;
}

.reply-actions {
  justify-content: flex-start;
}

.save-template-inline-form {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px dashed rgba(15, 23, 42, 0.16);
}

@media (max-width: 900px) {
  .bridge-inline-form,
  .compact-template-picker {
    grid-template-columns: 1fr;
  }

  .communication-inline-reply-head {
    display: grid;
  }
}


.test-shell {
  padding-top: 18px;
}

.test-logo-head {
  display: flex;
  justify-content: center;
  margin-bottom: 16px;
}

.test-home {
  width: min(1040px, 100%);
  margin: 0 auto 36px;
  display: grid;
  grid-gap: 16px;
  gap: 16px;
}

.test-hero-photo {
  overflow: hidden;
  border-radius: 22px;
  border: 1px solid rgba(200,200,200,.75);
  background: #fff;
  box-shadow: 0 18px 44px rgba(32,32,32,.075);
  animation: testFadeUp .38s ease both;
}

.test-hero-photo img {
  display: block;
  width: 100%;
  height: clamp(190px, 34vw, 390px);
  object-fit: cover;
  object-position: center 34%;
}

.test-department-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 12px;
  gap: 12px;
  align-items: stretch;
  animation: testFadeUp .42s ease both;
}

.test-department-button,
.test-section-button,
.test-mode-grid button,
.test-choice-row button {
  border: 1px solid rgba(70,70,70,.18);
  background: #ffffff;
  color: #262626;
  cursor: pointer;
  text-align: left;
  box-shadow: 0 14px 30px rgba(32,32,32,.055);
  transition: transform .18s ease, background .18s ease, box-shadow .18s ease, border-color .18s ease, min-height .22s ease, padding .22s ease, border-radius .22s ease;
}

.test-department-button:hover,
.test-section-button:hover,
.test-mode-grid button:hover,
.test-choice-row button:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 40px rgba(32,32,32,.08);
}

.test-department-button.is-active,
.test-section-button.is-active,
.test-mode-grid button.is-active,
.test-choice-row button.is-active {
  background: var(--pzfp-yellow);
  border-color: var(--pzfp-yellow-dark);
}

.test-department-button {
  min-height: 150px;
  border-radius: 22px;
  padding: 22px;
  display: grid;
  align-content: end;
  position: relative;
  overflow: hidden;
}


.test-department-button strong {
  position: relative;
  font-size: clamp(1.35rem, 3.4vw, 2.55rem);
  line-height: 1.02;
  letter-spacing: -.045em;
}

.test-department-grid-compact .test-department-button {
  min-height: 72px;
  border-radius: 15px;
  padding: 13px 15px;
}


.test-department-grid-compact .test-department-button strong {
  font-size: clamp(.98rem, 2vw, 1.28rem);
  letter-spacing: -.025em;
}

.test-current-card,
.test-action-panel,
.test-info-card,
.test-qr-card,
.test-form,
.notice-card,
.test-patient-gate {
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(200,200,200,.75);
  border-radius: 18px;
  padding: 18px;
  box-shadow: 0 14px 32px rgba(32,32,32,.052);
  animation: testFadeUp .28s ease both;
}

.test-current-card {
  border-left: 8px solid var(--pzfp-yellow);
}

.test-current-card strong {
  display: block;
  margin-bottom: 6px;
}

.test-current-card p,
.test-action-panel p,
.test-info-card p,
.test-qr-card p,
.notice-card p,
.test-patient-gate p {
  margin-bottom: 0;
}

.test-section-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 10px;
  gap: 10px;
  animation: testFadeUp .3s ease both;
}

.test-section-grid-compact {
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
}

.test-section-button {
  min-height: 108px;
  border-radius: 16px;
  padding: 16px;
  display: grid;
  grid-gap: 8px;
  gap: 8px;
  align-content: start;
}

.test-section-grid-compact .test-section-button {
  min-height: 58px;
  padding: 11px 13px;
  border-radius: 13px;
}

.test-section-button strong {
  font-size: 1.25rem;
}

.test-section-grid-compact .test-section-button strong {
  font-size: 1rem;
}

.test-section-button span {
  color: #4f4f4f;
  font-size: .94rem;
  line-height: 1.25;
}

.test-section-grid-compact .test-section-button span {
  display: none;
}

.test-section-button.is-active span {
  color: #282828;
}

.test-action-panel {
  display: grid;
  grid-gap: 16px;
  gap: 16px;
}

.test-action-panel h2,
.test-info-card h3,
.test-form h3,
.test-qr-card h3,
.test-patient-gate h4 {
  margin: 0 0 8px;
}

.test-mode-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  grid-gap: 10px;
  gap: 10px;
}

.test-mode-grid button,
.test-choice-row button {
  border-radius: 14px;
  padding: 15px 16px;
  font-weight: 700;
}

.test-qr-card {
  display: grid;
  grid-template-columns: 132px 1fr;
  grid-gap: 18px;
  gap: 18px;
  align-items: start;
}

.test-qr-placeholder {
  width: 132px;
  height: 132px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 10px;
  gap: 10px;
  padding: 10px;
  background: #f3f3f3;
  border: 1px solid #d5d5d5;
  border-radius: 14px;
}

.test-qr-placeholder span {
  background: #303434;
  border-radius: 6px;
}

.test-qr-content {
  display: grid;
  grid-gap: 12px;
  gap: 12px;
}

.test-info-card,
.test-form {
  display: grid;
  grid-gap: 14px;
  gap: 14px;
}

.test-patient-gate {
  box-shadow: none;
}

.test-choice-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 12px;
}

.notice-card {
  box-shadow: none;
  border-left: 6px solid var(--pzfp-yellow);
}

.notice-card.warning {
  border-left-color: #b23b3b;
}

@keyframes testFadeUp {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 760px) {
  .test-shell {
    padding-top: 8px;
  }

  .test-logo-head {
    margin-bottom: 8px;
  }

  .test-home {
    width: 100%;
    gap: 9px;
    margin-bottom: 18px;
  }

  .test-hero-photo {
    border-radius: 12px;
    margin-inline: 0;
  }

  .test-hero-photo img {
    height: 210px;
  }

  .test-department-grid,
  .test-section-grid,
  .test-mode-grid,
  .test-qr-card {
    grid-template-columns: 1fr;
  }

  .test-department-button {
    min-height: 88px;
    border-radius: 13px;
    padding: 14px;
  }

  .test-department-grid-compact {
    grid-template-columns: repeat(3, 1fr);
    gap: 7px;
  }

  .test-department-grid-compact .test-department-button {
    min-height: 62px;
    padding: 9px;
  }

  .test-department-grid-compact .test-department-button strong {
    font-size: .82rem;
  }

  .test-section-button {
    min-height: auto;
    border-radius: 11px;
    padding: 12px;
  }

  .test-current-card,
  .test-action-panel,
  .test-info-card,
  .test-qr-card,
  .test-form,
  .notice-card,
  .test-patient-gate {
    border-radius: 11px;
    padding: 12px;
    box-shadow: none;
  }

  .test-current-card {
    border-left-width: 5px;
  }

  .test-mode-grid button,
  .test-choice-row button {
    padding: 12px;
    border-radius: 11px;
  }

  .test-choice-row {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 8px;
    gap: 8px;
  }

  .form-grid {
    gap: 9px;
  }
}

/* Reactive /test UI refinements */
.test-mode-grid button {
  display: grid;
  grid-gap: 6px;
  gap: 6px;
  align-content: start;
}

.test-mode-grid button strong {
  font-size: 1rem;
}

.test-mode-grid button span {
  color: #4f4f4f;
  font-size: .9rem;
  line-height: 1.3;
  font-weight: 500;
}

.test-mode-grid button.is-active span {
  color: #2a2a2a;
}

.test-info-card .opening-status {
  margin: 2px 0 10px;
}

.test-info-card .opening-hours-details {
  margin-top: 8px;
}

@media (max-width: 760px) {
  .test-home {
    padding-inline: 0;
  }

  .test-department-grid-compact,
  .test-section-grid-compact {
    display: flex;
    overflow-x: auto;
    gap: 7px;
    padding: 0 2px 3px;
    scrollbar-width: thin;
    scroll-snap-type: x proximity;
  }

  .test-department-grid-compact .test-department-button,
  .test-section-grid-compact .test-section-button {
    flex: 0 0 auto;
    min-width: 104px;
    scroll-snap-align: start;
  }

  .test-section-grid-compact .test-section-button {
    min-height: 48px;
    padding: 9px 11px;
  }

  .test-current-card,
  .test-action-panel,
  .test-info-card,
  .test-qr-card,
  .test-form,
  .notice-card,
  .test-patient-gate {
    border-left-width: 1px;
    margin-inline: 0;
  }

  .test-action-panel,
  .test-form,
  .test-info-card,
  .test-qr-card {
    padding: 10px;
  }

  .test-mode-grid {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .test-mode-grid button span {
    font-size: .84rem;
  }
}

/* /test v5: weniger verschachtelte Boxen, bessere mobile Nutzung und Scroll-Hinweis */
.test-action-panel {
  overflow: hidden;
}

.test-form,
.test-patient-gate,
.test-form-block,
.privacy-note {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
}

.test-form-block,
.privacy-note {
  display: grid;
  grid-gap: 10px;
  gap: 10px;
}

.test-form-block h4,
.privacy-note h4,
.test-patient-gate h4 {
  margin-bottom: 4px;
}

.test-patient-gate {
  display: grid;
  grid-gap: 8px;
  gap: 8px;
}

.notice-card.warning a,
.privacy-note a {
  color: #1f4fff;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.test-section-scroll-wrap,
.test-department-scroll-wrap {
  position: relative;
}

.test-section-scroll-wrap::after,
.test-department-scroll-wrap::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 3px;
  width: 42px;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(247,246,241,0), var(--pzfp-background) 72%);
  opacity: 0;
  transition: opacity .16s ease;
}

@media (max-width: 760px) {
  .test-section-grid-compact,
  .test-department-grid-compact {
    padding-right: 34px;
  }

  .test-section-scroll-wrap::after,
  .test-department-scroll-wrap::after {
    opacity: 1;
  }

  .test-action-panel {
    gap: 12px;
  }

  .test-action-panel > div:first-child p {
    margin-top: 4px;
  }

  .test-form,
  .test-patient-gate,
  .test-form-block,
  .privacy-note {
    padding: 0;
  }

  .notice-card {
    padding: 10px 11px;
  }
}

/* /test v6: echter mobiler Wizard ohne Überlauf */
.test-home,
.test-action-panel,
.test-form,
.test-form-step,
.test-form-block,
.test-card-grid,
.form-grid,
.field,
.test-mode-grid,
.test-section-scroll-wrap,
.test-department-scroll-wrap,
.test-step-scroll-wrap {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.test-wizard-form {
  overflow: hidden;
}

.test-step-scroll-wrap {
  position: relative;
  overflow: hidden;
}

.test-step-scroll-wrap::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 4px;
  width: 42px;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(247,246,241,0), var(--pzfp-background) 76%);
}

.test-step-tabs {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 0 36px 4px 0;
  scrollbar-width: thin;
  scroll-snap-type: x proximity;
}

.test-step-tabs button {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 1px solid rgba(70,70,70,.18);
  border-radius: 999px;
  padding: 8px 12px;
  background: #fff;
  color: #252525;
  font-weight: 800;
  cursor: pointer;
  scroll-snap-align: start;
}

.test-step-tabs button span {
  display: inline-grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: #eeeeee;
  font-size: .82rem;
}

.test-step-tabs button.is-active {
  background: var(--pzfp-yellow);
  border-color: var(--pzfp-yellow-dark);
}

.test-step-tabs button.is-done span,
.test-step-tabs button.is-active span {
  background: rgba(255,255,255,.72);
}

.test-form-step {
  display: grid;
  grid-gap: 14px;
  gap: 14px;
  animation: testFadeUp .2s ease both;
}

.test-form-step h3 {
  margin: 0;
}

.test-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  grid-gap: 10px;
  gap: 10px;
}

.test-card-grid.two-columns {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.test-select-card {
  min-width: 0;
  width: 100%;
  border: 1px solid rgba(70,70,70,.18);
  border-radius: 14px;
  background: #fff;
  color: #252525;
  text-align: left;
  padding: 14px 15px;
  display: grid;
  grid-gap: 7px;
  gap: 7px;
  cursor: pointer;
  box-shadow: 0 12px 26px rgba(32,32,32,.045);
}

.test-select-card.is-active {
  background: var(--pzfp-yellow);
  border-color: var(--pzfp-yellow-dark);
}

.test-select-card span {
  color: #4f4f4f;
  line-height: 1.28;
  font-weight: 500;
}

.test-select-card.is-active span {
  color: #272727;
}

.test-wizard-actions {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}

.test-wizard-actions button {
  min-width: 130px;
}

@media (max-width: 760px) {
  .test-shell {
    overflow-x: hidden;
  }

  .test-action-panel {
    width: 100%;
    overflow: hidden;
  }

  .test-card-grid,
  .test-card-grid.two-columns {
    grid-template-columns: 1fr;
  }

  .test-select-card {
    padding: 12px;
    border-radius: 11px;
    box-shadow: none;
  }

  .test-select-card span {
    font-size: .9rem;
  }

  .test-step-tabs button {
    padding: 7px 10px;
    font-size: .88rem;
  }

  .test-step-tabs button span {
    width: 20px;
    height: 20px;
  }

  .test-wizard-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .test-wizard-actions button {
    width: 100%;
  }

  .test-action-panel > div:first-child p {
    overflow-wrap: anywhere;
  }

  .field input,
  .field textarea,
  .field select {
    min-width: 0;
    width: 100%;
    max-width: 100%;
  }
}

/* /test v7: sichtbare Scrollpfeile und links ausgerichtete Wizard-Schritte */
.test-scroll-menu {
  position: relative;
}

.test-scroll-menu .test-scroll-arrow {
  position: absolute;
  top: 50%;
  z-index: 4;
  width: 30px;
  height: 30px;
  transform: translateY(-50%);
  border: 1px solid rgba(40,40,40,.2);
  border-radius: 999px;
  background: rgba(255,255,255,.96);
  color: #222;
  font-size: 1.35rem;
  font-weight: 900;
  line-height: 1;
  display: grid;
  place-items: center;
  box-shadow: 0 8px 20px rgba(0,0,0,.12);
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transition: opacity .14s ease, transform .14s ease;
}

.test-scroll-menu .test-scroll-arrow-left {
  left: 2px;
}

.test-scroll-menu .test-scroll-arrow-right {
  right: 2px;
}

.test-scroll-menu.can-scroll-left .test-scroll-arrow-left,
.test-scroll-menu.can-scroll-right .test-scroll-arrow-right {
  opacity: 1;
  pointer-events: auto;
}

.test-scroll-menu.can-scroll-left .test-scroll-arrow-left:hover,
.test-scroll-menu.can-scroll-right .test-scroll-arrow-right:hover {
  transform: translateY(-50%) scale(1.04);
}

.test-step-tabs {
  scroll-padding-left: 0;
}

.test-step-tabs button.is-active {
  scroll-margin-left: 0;
}

@media (min-width: 761px) {
  .test-step-tabs {
    padding-right: 42px;
  }

  .test-scroll-menu .test-scroll-arrow {
    width: 32px;
    height: 32px;
  }
}

@media (max-width: 760px) {
  .test-scroll-menu .test-scroll-arrow {
    width: 28px;
    height: 28px;
    font-size: 1.2rem;
  }

  .test-section-grid-compact,
  .test-department-grid-compact,
  .test-step-tabs {
    padding-left: 34px;
  }

  .test-scroll-menu.can-scroll-left .test-section-grid-compact,
  .test-scroll-menu.can-scroll-left .test-department-grid-compact,
  .test-scroll-menu.can-scroll-left .test-step-tabs {
    padding-left: 38px;
  }
}


/* /test v8: dezente Scrollpfeile, keine ausblendenden Ränder, Desktop-Wizard identisch */
.test-section-scroll-wrap::after,
.test-department-scroll-wrap::after,
.test-step-scroll-wrap::after {
  display: none !important;
}

.test-scroll-menu {
  position: relative;
  overflow: visible;
}

.test-scroll-menu .test-scroll-arrow {
  width: 20px;
  height: 100%;
  min-height: 28px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: rgba(32,32,32,.38);
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1;
  box-shadow: none;
  text-shadow: 0 1px 0 rgba(255,255,255,.78);
  opacity: 0;
  transition: opacity .14s ease, color .14s ease;
}

.test-scroll-menu .test-scroll-arrow-left {
  left: -16px;
}

.test-scroll-menu .test-scroll-arrow-right {
  right: -16px;
}

.test-scroll-menu.can-scroll-left .test-scroll-arrow-left,
.test-scroll-menu.can-scroll-right .test-scroll-arrow-right {
  opacity: .7;
}

.test-scroll-menu.can-scroll-left .test-scroll-arrow-left:hover,
.test-scroll-menu.can-scroll-right .test-scroll-arrow-right:hover {
  color: rgba(32,32,32,.62);
  transform: translateY(-50%);
}

.test-section-grid-compact,
.test-department-grid-compact,
.test-step-tabs {
  scroll-padding-left: 0;
  scroll-padding-right: 0;
}

.test-section-grid-compact,
.test-department-grid-compact {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.test-step-tabs {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.test-step-scroll-wrap {
  margin-top: 2px;
}

.test-step-tabs button {
  scroll-margin-left: 0;
}

@media (min-width: 761px) {
  .test-wizard-form {
    width: 100%;
  }

  .test-step-tabs {
    justify-content: flex-start;
  }

  .test-card-grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  }

  .test-card-grid.two-columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .test-scroll-menu .test-scroll-arrow {
    width: 18px;
    font-size: .98rem;
  }

  .test-scroll-menu .test-scroll-arrow-left {
    left: -10px;
  }

  .test-scroll-menu .test-scroll-arrow-right {
    right: -10px;
  }

  .test-scroll-menu.can-scroll-left .test-scroll-arrow-left,
  .test-scroll-menu.can-scroll-right .test-scroll-arrow-right {
    opacity: .58;
  }

  .test-department-scroll-wrap,
  .test-section-scroll-wrap,
  .test-step-scroll-wrap {
    margin-inline: 10px;
  }

  .test-department-grid-compact .test-department-button,
  .test-section-grid-compact .test-section-button {
    flex-basis: auto;
  }
}

/* /test v9: Wizard ohne Nummern, lokale Profile, stabile mobile Breite */
.test-home,
.test-home *,
.test-action-panel,
.test-form,
.test-form-step,
.test-form-block,
.test-card-grid,
.test-select-card,
.notice-card,
.local-profile-panel,
.local-profile-card {
  box-sizing: border-box;
  min-width: 0;
}

.test-home,
.test-action-panel,
.test-wizard-form {
  overflow-x: hidden;
}

.test-form-step,
.test-form-block,
.notice-card,
.test-select-card,
.field,
.field * {
  overflow-wrap: anywhere;
  word-break: normal;
}

.test-step-tabs button {
  gap: 0;
  min-height: 36px;
  padding: 8px 13px;
}

.test-step-tabs button span {
  display: none;
}

.request-kind-grid .test-select-card,
.test-card-grid .test-select-card {
  min-height: 118px;
  align-content: start;
}

.compact-button-grid {
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
}

.compact-button-grid .test-select-card,
.compact-select-card {
  min-height: 0;
}

.compact-select-card strong {
  font-size: 0.98rem;
}

.field-label-text {
  display: block;
  font-weight: 800;
  margin-bottom: 0.45rem;
}

.local-profile-panel {
  display: grid;
  grid-gap: 0.65rem;
  gap: 0.65rem;
  border: 1px solid rgba(70,70,70,.13);
  border-radius: 14px;
  padding: 0.75rem;
  background: rgba(255,255,255,.55);
}

.local-profile-card {
  display: grid;
  grid-gap: 0.25rem;
  gap: 0.25rem;
}

.link-button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  background: transparent;
  padding: 0;
  width: -moz-fit-content;
  width: fit-content;
  color: #1f4fff;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}

.link-button.danger {
  color: #9f1239;
  font-size: 0.86rem;
}

.local-save-check {
  align-items: flex-start;
  border: 1px solid rgba(70,70,70,.12);
  border-radius: 12px;
  padding: 0.7rem 0.8rem;
  background: rgba(255,255,255,.62);
}

@media (max-width: 760px) {
  .test-home {
    max-width: 100vw;
    overflow-x: hidden;
  }

  .test-action-panel,
  .test-current-card,
  .test-info-card,
  .test-qr-card,
  .test-form,
  .notice-card {
    width: 100%;
    max-width: 100%;
  }

  .test-step-tabs button {
    font-size: 0.88rem;
    min-height: 34px;
    padding: 7px 11px;
  }

  .request-kind-grid .test-select-card,
  .test-card-grid .test-select-card {
    min-height: 0;
  }

  .compact-button-grid {
    grid-template-columns: 1fr;
  }

  .local-profile-panel {
    padding: 0.65rem;
    border-radius: 11px;
  }
}

/* /test v14: kein Links-/Rechtsüberlauf, Profil-Schritt kompakter */
.app-shell.test-shell {
  overflow-x: clip;
}

.app-shell.test-shell .test-home {
  width: min(1040px, calc(100vw - 32px));
  max-width: calc(100vw - 32px);
  overflow-x: clip;
}

.app-shell.test-shell .test-scroll-menu {
  max-width: 100%;
  overflow: hidden;
  padding-inline: 18px;
  margin-inline: 0 !important;
  box-sizing: border-box;
}

.app-shell.test-shell .test-scroll-arrow-left {
  left: 0 !important;
}

.app-shell.test-shell .test-scroll-arrow-right {
  right: 0 !important;
}

.app-shell.test-shell .test-department-grid-compact,
.app-shell.test-shell .test-section-grid-compact,
.app-shell.test-shell .test-step-tabs {
  padding-left: 0 !important;
  padding-right: 0 !important;
  max-width: 100%;
}

.app-shell.test-shell .test-action-panel,
.app-shell.test-shell .test-form,
.app-shell.test-shell .test-form-step,
.app-shell.test-shell .test-form-block,
.app-shell.test-shell .privacy-note,
.app-shell.test-shell .notice-card,
.app-shell.test-shell .test-select-card,
.app-shell.test-shell .field,
.app-shell.test-shell .field input,
.app-shell.test-shell .field textarea,
.app-shell.test-shell .field select {
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.app-shell.test-shell .field textarea {
  display: block;
  overflow: auto;
}

.app-shell.test-shell .test-form-step,
.app-shell.test-shell .test-form-block,
.app-shell.test-shell .privacy-note,
.app-shell.test-shell .notice-card,
.app-shell.test-shell .test-select-card,
.app-shell.test-shell .muted,
.app-shell.test-shell p,
.app-shell.test-shell h2,
.app-shell.test-shell h3,
.app-shell.test-shell h4,
.app-shell.test-shell strong,
.app-shell.test-shell span {
  overflow-wrap: anywhere;
}

.app-shell.test-shell .local-profile-card .link-button {
  margin-left: 12px;
  margin-top: -2px;
}

@media (max-width: 760px) {
  .app-shell.test-shell {
    width: 100%;
    max-width: 100vw;
    padding-left: 8px;
    padding-right: 8px;
  }

  .app-shell.test-shell .test-home {
    width: 100%;
    max-width: 100%;
  }

  .app-shell.test-shell .test-scroll-menu {
    padding-inline: 14px;
  }

  .app-shell.test-shell .test-action-panel {
    padding: 10px;
  }
}


/* /test v15: sichtbare Fehler nur nach Absendeversuch, saubere Fokusrahmen */
.app-shell.test-shell .test-action-panel {
  overflow: visible;
}

.app-shell.test-shell .test-form,
.app-shell.test-shell .test-wizard-form,
.app-shell.test-shell .test-form-step,
.app-shell.test-shell .test-form-block {
  overflow: visible;
}

.app-shell.test-shell .field {
  display: grid;
  grid-gap: 7px;
  gap: 7px;
  min-width: 0;
  max-width: 100%;
  overflow: visible;
}

.app-shell.test-shell .field input,
.app-shell.test-shell .field textarea,
.app-shell.test-shell .field select {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  outline: 0;
  box-sizing: border-box;
}

.app-shell.test-shell .field input:focus,
.app-shell.test-shell .field textarea:focus,
.app-shell.test-shell .field select:focus {
  border-color: #c9a000;
  box-shadow: 0 0 0 3px rgba(255, 203, 5, .22);
}

.app-shell.test-shell .field textarea {
  margin: 3px 0;
  max-width: calc(100% - 2px);
}

.app-shell.test-shell .form-error {
  margin-top: 0;
}

@media (max-width: 760px) {
  .app-shell.test-shell {
    overflow-x: hidden;
  }

  .app-shell.test-shell .test-action-panel {
    padding-left: 14px;
    padding-right: 14px;
  }

  .app-shell.test-shell .test-form-step {
    padding-left: 0;
    padding-right: 0;
  }

  .app-shell.test-shell .test-card-grid,
  .app-shell.test-shell .test-card-grid.two-columns,
  .app-shell.test-shell .request-kind-grid,
  .app-shell.test-shell .compact-button-grid,
  .app-shell.test-shell .form-grid {
    grid-template-columns: 1fr;
    width: 100%;
    max-width: 100%;
  }

  .app-shell.test-shell .test-select-card,
  .app-shell.test-shell .notice-card,
  .app-shell.test-shell .privacy-note,
  .app-shell.test-shell .consent-check,
  .app-shell.test-shell .form-error {
    width: 100%;
    max-width: 100%;
  }
}

/* /test v16: Privacy-Fehler in Komponente, keine horizontalen Seitensprünge */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

.app-shell.test-shell,
.app-shell.test-shell * {
  box-sizing: border-box;
}

.app-shell.test-shell {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden !important;
}

.app-shell.test-shell .test-home,
.app-shell.test-shell .test-action-panel,
.app-shell.test-shell .test-form,
.app-shell.test-shell .test-wizard-form,
.app-shell.test-shell .test-form-step,
.app-shell.test-shell .test-form-block,
.app-shell.test-shell .form-grid,
.app-shell.test-shell .test-card-grid,
.app-shell.test-shell .test-mode-grid,
.app-shell.test-shell .test-step-scroll-wrap,
.app-shell.test-shell .test-scroll-menu {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
}

.app-shell.test-shell .test-scroll-menu {
  overflow: hidden !important;
}

.app-shell.test-shell .test-department-grid,
.app-shell.test-shell .test-section-grid,
.app-shell.test-shell .test-step-tabs {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-x: auto !important;
  overscroll-behavior-x: contain;
  scroll-padding-left: 16px;
  scroll-padding-right: 16px;
}

.app-shell.test-shell .field textarea:focus {
  outline: none !important;
}

.app-shell.test-shell .privacy-consent-error {
  margin-top: 14px;
}

.app-shell.test-shell .privacy-note > .form-error {
  width: 100%;
}

.patch-last-import {
  margin-top: -4px;
}

@media (max-width: 760px) {
  .app-shell.test-shell {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .app-shell.test-shell .test-home {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 8px;
    padding-right: 8px;
  }

  .app-shell.test-shell .test-action-panel {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
  }
}

/* Dienstplanung Vergabe */
.dienst-tabs {
  display: flex;
  gap: 0.45rem;
  overflow-x: auto;
  padding: 0.6rem;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 12;
  background: rgba(255, 252, 245, 0.96);
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
}

.dienst-tabs a {
  flex: 0 0 auto;
  border: 1px solid rgba(120, 80, 20, 0.16);
  border-radius: 999px;
  padding: 0.55rem 0.85rem;
  color: inherit;
  font-weight: 800;
  text-decoration: none;
  background: rgba(255, 255, 255, 0.8);
}

.dienst-tabs a.active {
  border-color: rgba(175, 124, 30, 0.48);
  background: #ffe08a;
}

.dienst-panel details {
  display: grid;
  grid-gap: 0.8rem;
  gap: 0.8rem;
}

.dienst-panel summary {
  cursor: pointer;
  font-size: 1.05rem;
  margin-bottom: 0.8rem;
}

.details-form {
  margin: 0.8rem 0 1rem;
}

.dienst-calendar-weekdays,
.dienst-calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(120px, 1fr));
  grid-gap: 0.45rem;
  gap: 0.45rem;
}

.dienst-calendar-weekdays {
  margin-top: 1rem;
  color: var(--muted);
  font-size: 0.85rem;
  font-weight: 900;
  text-align: center;
}

.dienst-calendar-cell {
  min-height: 125px;
  border: 1px solid rgba(120, 80, 20, 0.14);
  border-radius: 16px;
  padding: 0.55rem;
  background: rgba(255, 255, 255, 0.78);
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.dienst-calendar-cell.empty {
  background: rgba(255, 255, 255, 0.32);
}

.dienst-calendar-duty {
  display: grid;
  grid-gap: 0.12rem;
  gap: 0.12rem;
  border-left: 4px solid #b6ada0;
  border-radius: 10px;
  padding: 0.35rem 0.4rem;
  background: rgba(245, 241, 231, 0.85);
  font-size: 0.78rem;
}

.dienst-calendar-duty span {
  font-weight: 900;
}

.dienst-calendar-duty small {
  overflow-wrap: anywhere;
}

.dienst-calendar-duty.kind-saturday { border-left-color: #2563eb; }
.dienst-calendar-duty.kind-sunday { border-left-color: #16a34a; }
.dienst-calendar-duty.kind-holiday { border-left-color: #dc2626; }
.dienst-calendar-duty.kind-bridge_day { border-left-color: #ea580c; }
.dienst-calendar-duty.kind-christmas { border-left-color: #7c3aed; }

.dienst-agenda-list {
  display: grid;
  grid-gap: 0.75rem;
  gap: 0.75rem;
  margin-top: 1rem;
}

.dienst-agenda-card {
  display: grid;
  grid-gap: 0.25rem;
  gap: 0.25rem;
  border: 1px solid rgba(120, 80, 20, 0.14);
  border-radius: 16px;
  padding: 0.85rem;
  background: rgba(255, 255, 255, 0.78);
}

@media (max-width: 900px) {
  .dienst-calendar-weekdays,
  .dienst-calendar-grid {
    grid-template-columns: repeat(7, minmax(92px, 1fr));
  }

  .dienst-calendar-cell {
    min-height: 105px;
    padding: 0.45rem;
  }
}

@media (max-width: 720px) {
  .dienst-tabs {
    margin-left: -0.4rem;
    margin-right: -0.4rem;
  }

  .dienst-calendar-weekdays,
  .dienst-calendar-grid {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
  }

  .dienst-calendar-weekdays span,
  .dienst-calendar-cell {
    flex: 0 0 78vw;
    scroll-snap-align: start;
  }

  .dienst-calendar-weekdays {
    display: none;
  }
}

/* Dienstplanung Vergabe – Kalenderbreite, Statusfarben und Bearbeitungsdialog */
.app-shell:has(.dienst-calendar-panel) .content.dienst-calendar-panel {
  width: min(1440px, calc(100vw - 2rem));
  max-width: none;
}

.dienst-calendar-weekdays,
.dienst-calendar-grid {
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.dienst-calendar-duty {
  cursor: pointer;
  border-left-width: 5px;
  transition: transform 0.12s ease, box-shadow 0.12s ease;
}

.dienst-calendar-duty:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(38, 32, 24, 0.12);
}

.dienst-duty-open {
  display: grid;
  grid-gap: 0.12rem;
  gap: 0.12rem;
  cursor: pointer;
}

.dienst-calendar-duty.state-open,
.dienst-agenda-card.state-open,
.admin-table tr.state-open td {
  background: rgba(254, 226, 226, 0.78);
}

.dienst-calendar-duty.state-open { border-left-color: #dc2626; }
.dienst-calendar-duty.state-partial { border-left-color: #f59e0b; background: rgba(254, 243, 199, 0.86); }
.dienst-calendar-duty.state-complete { border-left-color: #16a34a; background: rgba(220, 252, 231, 0.78); }
.dienst-calendar-duty.state-canceled { opacity: 0.62; text-decoration: line-through; }

.dienst-agenda-card.state-partial,
.admin-table tr.state-partial td { background: rgba(254, 243, 199, 0.58); }
.dienst-agenda-card.state-complete,
.admin-table tr.state-complete td { background: rgba(220, 252, 231, 0.42); }

.dienst-modal-toggle {
  display: none;
}

.dienst-modal {
  align-items: center;
  background: rgba(20, 18, 15, 0.45);
  bottom: 0;
  display: none;
  justify-content: center;
  left: 0;
  padding: 1rem;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 90;
}

.dienst-modal-toggle:checked + .dienst-modal {
  display: flex;
}

.dienst-modal-box {
  background: #fffaf0;
  border: 1px solid rgba(120, 80, 20, 0.18);
  border-radius: 22px;
  box-shadow: 0 24px 80px rgba(20, 18, 15, 0.28);
  max-height: min(88vh, 760px);
  max-width: 680px;
  overflow: auto;
  padding: 1.2rem;
  position: relative;
  width: min(100%, 680px);
}

.dienst-modal-close {
  align-items: center;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(120, 80, 20, 0.14);
  border-radius: 999px;
  cursor: pointer;
  display: flex;
  font-size: 1.4rem;
  font-weight: 900;
  height: 2.2rem;
  justify-content: center;
  position: absolute;
  right: 0.8rem;
  top: 0.8rem;
  width: 2.2rem;
}

.dienst-mail-row {
  margin: 0.6rem 0 1rem;
}

@media (max-width: 900px) {
  .app-shell:has(.dienst-calendar-panel) .content.dienst-calendar-panel {
    width: min(100%, calc(100vw - 1rem));
  }
}

/* Dienstplanung Vergabe – Feinschliff 2026-06-14 */
.app-shell:has(.dienst-calendar-panel) .content.dienst-calendar-panel {
  width: min(1280px, calc(100vw - 2rem));
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}

.dienst-calendar-weekdays,
.dienst-calendar-grid {
  grid-template-columns: repeat(7, minmax(0, 1fr));
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

.dienst-calendar-cell {
  min-width: 0;
}

.dienst-period-form {
  align-items: end;
  flex-wrap: wrap;
}

.dienst-manual-create {
  border: 1px solid rgba(120, 80, 20, 0.14);
  border-radius: 18px;
  margin: 1rem 0;
  padding: 0.8rem 1rem;
  background: rgba(255, 255, 255, 0.58);
}

.dienst-modal {
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
}

.dienst-modal-box {
  max-width: 960px;
  width: min(960px, calc(100vw - 3rem));
  max-height: min(86vh, 820px);
  padding: 1.4rem;
}

.dienst-edit-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(220px, 1fr));
  grid-gap: 0.9rem;
  gap: 0.9rem;
}

.dienst-edit-form .form-grid-wide,
.dienst-edit-form button {
  grid-column: 1 / -1;
}

.dienst-delete-form {
  border-top: 1px solid rgba(120, 80, 20, 0.14);
  margin-top: 1rem;
  padding-top: 1rem;
}

.danger-button {
  background: #fee2e2;
  border: 1px solid rgba(185, 28, 28, 0.28);
  border-radius: 999px;
  color: #991b1b;
  cursor: pointer;
  font-weight: 900;
  padding: 0.65rem 1rem;
}

.danger-button:hover {
  background: #fecaca;
}

.dienst-agenda-edit[open] {
  min-width: min(820px, calc(100vw - 4rem));
}

@media (max-width: 900px) {
  .app-shell:has(.dienst-calendar-panel) .content.dienst-calendar-panel {
    width: min(100%, calc(100vw - 1rem));
    max-width: none;
  }

  .dienst-modal-box {
    width: min(100%, calc(100vw - 1rem));
    padding: 1rem;
  }

  .dienst-edit-form {
    grid-template-columns: 1fr;
  }
}

/* Dienstplanung Vergabe – offizieller Kalender, Navigation, Vertreterbörse */
.dienst-month-nav,
.dienst-quick-range {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: flex-end;
  margin-bottom: 0.75rem;
}

.dienst-month-nav .secondary,
.dienst-quick-range .secondary,
.dienst-period-form .secondary,
.dienst-edit-actions .secondary,
.dienst-mail-row .secondary,
.form-grid .secondary,
.form-grid .primary,
.details-form .primary {
  min-height: auto;
  padding: 0.62rem 1rem;
  width: auto;
}

.dienst-calendar-panel {
  overflow: hidden;
}

.app-shell:has(.dienst-calendar-panel) .content.dienst-calendar-panel {
  width: min(1180px, calc(100vw - 2rem));
  max-width: 1180px;
}

.dienst-modal-box {
  max-width: 920px;
  width: min(920px, calc(100vw - 3rem));
}

.representative-chip {
  align-items: center;
  background: rgba(234, 88, 12, 0.12);
  border: 1px solid rgba(234, 88, 12, 0.22);
  border-radius: 999px;
  color: #9a3412;
  display: inline-flex;
  font-size: 0.82rem;
  font-weight: 900;
  gap: 0.25rem;
  padding: 0.25rem 0.55rem;
}

.dienst-agenda-list.compact {
  gap: 0.55rem;
  margin-top: 0.75rem;
}

.dienst-agenda-filter {
  background: rgba(255, 255, 255, 0.56);
  border: 1px solid rgba(120, 80, 20, 0.12);
  border-radius: 16px;
  margin: 0.75rem 0;
  padding: 0.75rem 1rem;
}

.representative-accept-panel {
  margin-top: 2rem;
}

@media (max-width: 900px) {
  .dienst-month-nav,
  .dienst-quick-range {
    justify-content: flex-start;
  }

  .app-shell:has(.dienst-calendar-panel) .content.dienst-calendar-panel {
    width: min(100%, calc(100vw - 1rem));
    max-width: none;
  }
}

/* Modulares Info-Center */
.info-page {
  display: grid;
  grid-gap: 1.1rem;
  gap: 1.1rem;
}

.info-card {
  border: 1px solid rgba(34, 34, 34, 0.12);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.86);
  padding: 1.1rem;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.05);
}

.info-card h2 {
  margin-top: 0;
}

.info-alert-list {
  border-color: rgba(194, 139, 0, 0.28);
  background: rgba(255, 246, 214, 0.92);
}

.info-alert {
  border-left: 4px solid rgba(194, 139, 0, 0.55);
  padding: 0.2rem 0 0.2rem 0.85rem;
  margin-top: 0.75rem;
}

.info-alert.important {
  border-left-color: #9d4b00;
}

.info-alert h3,
.info-block h3,
.info-doctor-card h3 {
  margin: 0 0 0.3rem;
}

.info-alert p,
.info-block p,
.info-doctor-card p {
  margin: 0;
}

.info-doctor-grid,
.info-block-list,
.download-list {
  display: grid;
  grid-gap: 0.8rem;
  gap: 0.8rem;
}

.info-doctor-card {
  display: flex;
  gap: 0.85rem;
  align-items: center;
  border: 1px solid rgba(34, 34, 34, 0.08);
  border-radius: 14px;
  padding: 0.8rem;
  background: rgba(255, 255, 255, 0.72);
}

.doctor-avatar {
  width: 3rem;
  height: 3rem;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: rgba(245, 196, 0, 0.28);
  font-weight: 800;
}

.info-block {
  border-top: 1px solid rgba(34, 34, 34, 0.08);
  padding-top: 0.85rem;
  white-space: pre-wrap;
}

.info-block:first-child {
  border-top: 0;
  padding-top: 0;
}

.info-faq {
  border-top: 1px solid rgba(34, 34, 34, 0.1);
  padding: 0.75rem 0;
}

.info-faq:first-child {
  border-top: 0;
}

.info-faq summary {
  cursor: pointer;
  font-weight: 700;
}

.download-card {
  display: block;
  border: 1px solid rgba(34, 34, 34, 0.1);
  border-radius: 14px;
  padding: 0.85rem;
  text-decoration: none;
  color: inherit;
  background: rgba(255, 255, 255, 0.72);
}

.download-card span {
  display: block;
  margin-top: 0.25rem;
  color: var(--muted);
}

.osm-box {
  overflow: hidden;
  border-radius: 16px;
  border: 1px solid rgba(34, 34, 34, 0.12);
  aspect-ratio: 16 / 9;
  background: rgba(0, 0, 0, 0.04);
}

.osm-box iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

@media (min-width: 780px) {
  .info-doctor-grid,
  .download-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Info-/Admin-Refactoring 2026-06-14: /test ist Zielbereich */
.info-page-compact {
  display: grid;
  grid-gap: 1rem;
  gap: 1rem;
}

.info-page-compact .info-section {
  border-top: 1px solid rgba(34,34,34,.12);
  padding-top: 1rem;
}

.info-page-compact .info-section:first-child {
  border-top: 0;
  padding-top: 0;
}

.info-page-compact h2 {
  margin: 0 0 .7rem;
  font-size: clamp(1.25rem, 2.5vw, 1.65rem);
  letter-spacing: -.025em;
}

.info-two-column,
.info-doctor-grid,
.download-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: .8rem;
  gap: .8rem;
}

.info-alert {
  border: 1px solid rgba(34,34,34,.12);
  border-left: 6px solid rgba(84,84,84,.35);
  border-radius: 14px;
  padding: .9rem 1rem;
  background: rgba(255,255,255,.82);
}

.info-alert.important {
  border-left-color: #b64019;
  background: #fff2e8;
}

.info-alert-kicker {
  margin: 0 0 .25rem;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 800;
  color: #666;
}

.info-alert.important .info-alert-kicker {
  color: #9d3211;
}

.info-doctor-card {
  display: flex;
  gap: .9rem;
  align-items: center;
  min-height: 104px;
  border: 1px solid rgba(34,34,34,.1);
  border-radius: 16px;
  padding: .8rem;
  text-decoration: none;
  color: inherit;
  background: rgba(255,255,255,.76);
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.info-doctor-card:hover {
  transform: translateY(-1px);
  border-color: rgba(215,169,0,.45);
  box-shadow: 0 10px 24px rgba(32,32,32,.06);
}

.doctor-photo,
.doctor-profile-photo {
  width: 64px;
  height: 64px;
  border-radius: 999px;
  object-fit: cover;
  flex: 0 0 auto;
  background: rgba(245,196,0,.25);
}

.doctor-photo-placeholder {
  display: grid;
  place-items: center;
  font-weight: 800;
}

.doctor-card-content h3 {
  margin: 0 0 .2rem;
}

.doctor-card-content p {
  margin: 0;
  color: #555;
}

.doctor-focus-list,
.doctor-profile-focus-list {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  list-style: none;
  padding: 0;
  margin: .45rem 0 0;
}

.doctor-focus-list li,
.doctor-profile-focus-list li {
  border-radius: 999px;
  background: rgba(242,195,53,.18);
  padding: .25rem .55rem;
  font-size: .86rem;
  font-weight: 700;
}

.doctor-more {
  display: inline-block;
  margin-top: .45rem;
  font-weight: 800;
  color: #5d4a00;
}

.info-block,
.download-card {
  border: 1px solid rgba(34,34,34,.1);
  border-radius: 14px;
  background: rgba(255,255,255,.72);
  padding: .9rem;
  white-space: pre-wrap;
}

.info-block-list {
  display: grid;
  grid-gap: .7rem;
  gap: .7rem;
}

.info-faq {
  border-top: 1px solid rgba(34,34,34,.1);
  padding: .8rem 0;
}

.info-faq:first-child { border-top: 0; }
.info-faq summary { cursor: pointer; font-weight: 800; }
.info-faq p { white-space: pre-wrap; }

.directions-grid {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(280px, 1.1fr);
  grid-gap: 1rem;
  gap: 1rem;
  align-items: start;
}

.directions-text h3 {
  margin: .8rem 0 .2rem;
}

.osm-box {
  border: 1px solid rgba(34,34,34,.12);
  border-radius: 16px;
  overflow: hidden;
  min-height: 300px;
  background: #f1f1f1;
}

.osm-box iframe {
  width: 100%;
  min-height: 300px;
  border: 0;
  display: block;
}

.doctor-profile-card {
  border: 1px solid rgba(34,34,34,.12);
  border-radius: 22px;
  padding: clamp(1rem, 3vw, 1.5rem);
  background: rgba(255,255,255,.9);
  box-shadow: 0 14px 32px rgba(32,32,32,.055);
}

.doctor-profile-head {
  display: flex;
  gap: 1.2rem;
  align-items: center;
}

.doctor-profile-photo {
  width: 128px;
  height: 128px;
}

.doctor-profile-head h1 {
  margin: 0;
  font-size: clamp(2rem, 4vw, 3.2rem);
  letter-spacing: -.05em;
}

.doctor-profile-title {
  font-size: 1.18rem;
  font-weight: 800;
  margin: .3rem 0;
}

.doctor-profile-section {
  margin-top: 1.4rem;
  border-top: 1px solid rgba(34,34,34,.1);
  padding-top: 1rem;
}

.admin-info-header .inline-action-row,
.admin-info-tabs .inline-action-row {
  flex-wrap: wrap;
}

.admin-info-tabs {
  display: grid;
  grid-gap: 1rem;
  gap: 1rem;
}

.admin-info-tabs > details.admin-form {
  padding: 0;
  overflow: hidden;
}

.admin-info-tabs > details.admin-form > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  padding: 1rem 1.2rem;
  background: #fffdf7;
  border-bottom: 1px solid #ece8da;
}

.admin-info-tabs > details.admin-form > summary h2 {
  margin: 0;
}

.admin-info-tabs > details.admin-form > form,
.admin-info-tabs > details.admin-form > .staff-card-list,
.admin-info-tabs > details.admin-form > .sortable-admin-list,
.admin-info-tabs > details.admin-form > p,
.admin-info-tabs > details.admin-form > .inline-action-row {
  margin: 1rem 1.2rem;
}

.admin-two-column-form .form-grid {
  grid-template-columns: repeat(2, minmax(220px, 1fr));
}

.sortable-admin-list {
  display: grid;
  grid-gap: .7rem;
  gap: .7rem;
}

.sortable-save-form {
  display: flex;
  justify-content: flex-end;
}

.sortable-admin-item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  grid-gap: .7rem;
  gap: .7rem;
  align-items: start;
}

.drag-handle {
  cursor: -webkit-grab;
  cursor: grab;
  padding: .5rem .35rem;
  font-weight: 900;
  color: #777;
}

.sortable-admin-actions {
  display: grid;
  grid-gap: .35rem;
  gap: .35rem;
}

.sortable-admin-item-body {
  min-width: 0;
}

@media (max-width: 760px) {
  .info-two-column,
  .info-doctor-grid,
  .download-list,
  .directions-grid,
  .admin-two-column-form .form-grid {
    grid-template-columns: 1fr;
  }

  .info-page-compact {
    gap: .8rem;
  }

  .info-doctor-card {
    min-height: 86px;
    padding: .7rem;
  }

  .doctor-photo {
    width: 52px;
    height: 52px;
  }

  .doctor-profile-head {
    align-items: flex-start;
  }

  .doctor-profile-photo {
    width: 88px;
    height: 88px;
  }

  .osm-box,
  .osm-box iframe {
    min-height: 240px;
  }

  .sortable-admin-item {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .sortable-admin-actions {
    grid-column: 2;
    display: flex;
  }
}

.doctor-profile-section {
  display: none;
}

.doctor-edit-form:has(input[name="isDoctor"]:checked) .doctor-profile-section {
  display: block;
}

.staff-photo-preview {
  display: block;
  width: 112px;
  height: 112px;
  object-fit: cover;
  border-radius: 16px;
  border: 1px solid var(--border);
  margin: 0 0 1rem;
}

/* Mitarbeiterverwaltung: konditionale Bereiche und kompakte Aktionszeile */
.staff-member-form .conditional-doctor-profile,
.staff-member-form .conditional-representative-profile {
  display: none;
}

.staff-member-form:has(input[name="isDoctor"]:checked) .conditional-doctor-profile,
.staff-member-form:has(input[name="isRepresentative"]:checked) .conditional-representative-profile {
  display: block;
}

.staff-function-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.inline-action-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
}

/* /test Info-Seite: ruhigere Hinweise, Öffnungszeiten, Arztprofile inline */
.important-info-grid {
  align-items: stretch;
}

.info-page-compact .info-alert {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  grid-gap: .8rem;
  gap: .8rem;
  align-items: start;
  border: 1px solid rgba(180, 67, 22, .28);
  border-left: 0;
  border-radius: 16px;
  background: linear-gradient(135deg, #fff7f0 0%, #fff0e4 100%);
  padding: 1rem;
  box-shadow: 0 12px 28px rgba(122, 48, 12, .08);
}

.info-page-compact .info-alert:not(.important) {
  border-color: rgba(154, 118, 0, .22);
  background: linear-gradient(135deg, #fffdf4 0%, #fff8da 100%);
}

.info-alert-icon {
  width: 2.15rem;
  height: 2.15rem;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: #b64019;
  color: white;
  font-weight: 900;
  font-size: 1.1rem;
  line-height: 1;
}

.info-alert:not(.important) .info-alert-icon {
  background: #8a6f00;
}

.info-page-compact .info-alert-kicker {
  color: #9d3211;
  margin-bottom: .15rem;
}

.info-page-compact .info-alert h3 {
  font-size: 1.12rem;
  margin-bottom: .2rem;
}

.info-section-heading-row {
  display: flex;
  gap: .9rem;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: .75rem;
}

.info-section-heading-row h2 {
  margin-bottom: 0;
}

.opening-status.calm {
  box-shadow: none;
  border: 1px solid rgba(34,34,34,.1);
  padding: .45rem .75rem;
  font-size: .95rem;
}

.opening-overview {
  border: 1px solid rgba(34,34,34,.1);
  border-radius: 16px;
  padding: .85rem 1rem;
  background: #fffdf7;
}

.opening-overview h3 {
  margin: 0 0 .45rem;
  font-size: 1rem;
}

.calm-opening-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
}

.calm-opening-list li {
  border: 0;
  border-radius: 999px;
  background: rgba(245,196,0,.18);
  padding: .42rem .75rem;
  font-weight: 700;
}

.calm-opening-details {
  margin-top: .7rem;
  border: 1px solid rgba(34,34,34,.08);
  border-radius: 14px;
  background: rgba(255,255,255,.72);
  padding: .75rem .9rem;
}

.calm-opening-details summary {
  cursor: pointer;
  font-weight: 800;
}

.opening-week-list {
  display: grid;
  grid-gap: .45rem;
  gap: .45rem;
  margin: .75rem 0 0;
}

.opening-week-day {
  display: grid;
  grid-template-columns: 9rem minmax(0, 1fr);
  grid-gap: .75rem;
  gap: .75rem;
  border-top: 1px solid rgba(34,34,34,.08);
  padding-top: .65rem;
}

.opening-week-day:first-child {
  border-top: 0;
  padding-top: 0;
}

.opening-week-list dt {
  font-weight: 800;
}

.opening-week-list dd {
  margin: 0;
}

.opening-week-entry-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-gap: .28rem;
  gap: .28rem;
}

.opening-week-entry-list li {
  display: flex;
  gap: .35rem;
  align-items: baseline;
  line-height: 1.35;
}

.opening-week-entry-list strong {
  font-weight: 800;
}

.info-doctor-accordion-list {
  display: grid;
  grid-gap: .7rem;
  gap: .7rem;
}

.info-doctor-details {
  display: block;
  min-height: 0;
}

.info-doctor-details summary {
  display: flex;
  gap: .9rem;
  align-items: center;
  cursor: pointer;
  list-style: none;
}

.info-doctor-details summary::-webkit-details-marker {
  display: none;
}

.info-doctor-details summary::after {
  content: "aufklappen";
  margin-left: auto;
  font-weight: 800;
  color: #6f5b00;
  font-size: .9rem;
}

.info-doctor-details[open] summary::after {
  content: "zuklappen";
}

.info-doctor-details .doctor-card-content {
  display: grid;
  grid-gap: .15rem;
  gap: .15rem;
}

.info-doctor-details .doctor-card-content strong {
  font-size: 1.08rem;
}

.doctor-card-expanded {
  margin: .85rem 0 0 calc(64px + .9rem);
  border-top: 1px solid rgba(34,34,34,.08);
  padding-top: .8rem;
  display: grid;
  grid-gap: .8rem;
  gap: .8rem;
}

.doctor-card-expanded p {
  white-space: pre-wrap;
}

.doctor-card-expanded h3 {
  margin: 0 0 .35rem;
  font-size: 1rem;
}

.directions-text .inline-action-row {
  justify-content: flex-start;
  gap: .45rem;
}

@media (max-width: 760px) {
  .info-page-compact .info-alert {
    grid-template-columns: 1fr;
  }

  .opening-week-day {
    grid-template-columns: 1fr;
    gap: .2rem;
  }

  .opening-week-entry-list li {
    display: grid;
    grid-gap: .05rem;
    gap: .05rem;
  }

  .info-doctor-details summary::after {
    content: "";
  }

  .doctor-card-expanded {
    margin-left: 0;
  }
}


.internal-topbar {
  position: fixed;
  top: max(10px, env(safe-area-inset-top));
  right: max(10px, env(safe-area-inset-right));
  z-index: 80;
  pointer-events: none;
}

.internal-user-menu {
  position: relative;
  pointer-events: auto;
}

.internal-user-menu-button {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(37, 49, 64, 0.16);
  border-radius: 50%;
  background: #ffffff;
  padding: 3px;
  cursor: pointer;
  box-shadow: 0 10px 26px rgba(37, 49, 64, 0.16);
}

.internal-user-menu-button:hover,
.internal-user-menu.is-open .internal-user-menu-button {
  border-color: var(--accent);
  box-shadow: 0 12px 30px rgba(37, 49, 64, 0.2);
}

.internal-user-avatar {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--accent-soft);
  color: var(--text);
  font-size: 0.82rem;
  font-weight: 900;
}

.internal-user-avatar-image {
  object-fit: cover;
  display: block;
}

.internal-user-dropdown {
  position: absolute;
  right: 0;
  top: calc(100% + 9px);
  width: min(330px, calc(100vw - 20px));
  max-height: calc(100vh - 78px - env(safe-area-inset-top));
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 1px solid rgba(37, 49, 64, 0.14);
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 18px 44px rgba(37, 49, 64, 0.2);
  padding: 0.65rem;
}

.internal-user-dropdown-section {
  padding: 0.42rem 0.32rem 0.56rem;
  border-bottom: 1px solid rgba(37, 49, 64, 0.08);
}

.internal-user-dropdown-section p {
  margin: 0 0 0.35rem;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.internal-user-dropdown-section a,
.internal-menu-action {
  display: block;
  width: 100%;
  border: 0;
  border-radius: 12px;
  padding: 0.62rem 0.66rem;
  color: var(--text);
  background: transparent;
  text-align: left;
  text-decoration: none;
  font: inherit;
  font-weight: 760;
  cursor: pointer;
}

.internal-user-dropdown-section a:hover,
.internal-menu-action:hover:not(:disabled) {
  background: var(--accent-soft);
}

.internal-menu-action:disabled {
  color: var(--muted);
  cursor: wait;
}

.internal-menu-file-input {
  display: none;
}

.internal-menu-status {
  margin: 0.4rem 0.35rem 0;
  border-radius: 12px;
  background: rgba(37, 49, 64, 0.06);
  color: var(--text);
  font-size: 0.78rem;
  line-height: 1.35;
  padding: 0.6rem 0.65rem;
  overflow-wrap: anywhere;
}

.internal-user-logout-form {
  margin: 0.55rem 0.32rem 0.12rem;
}

.internal-logout-menu-button {
  width: 100%;
  border: 1px solid rgba(37, 49, 64, 0.16);
  border-radius: 13px;
  background: #ffffff;
  color: var(--text);
  font-weight: 900;
  padding: 0.68rem 0.82rem;
  cursor: pointer;
}

.internal-logout-menu-button:hover {
  border-color: var(--accent);
  box-shadow: 0 8px 18px rgba(37, 49, 64, 0.12);
}

@media (max-width: 640px) {
  .internal-topbar {
    top: max(8px, env(safe-area-inset-top));
    right: max(8px, env(safe-area-inset-right));
  }

  .internal-user-menu-button {
    width: 43px;
    height: 43px;
  }

  .internal-user-avatar {
    width: 35px;
    height: 35px;
  }
}

.profile-header-card {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
}

.profile-header-main {
  display: flex;
  align-items: center;
  gap: 18px;
}

.profile-avatar-image,
.profile-avatar-placeholder {
  width: 88px;
  height: 88px;
  border-radius: 28px;
  box-shadow: 0 14px 32px rgba(37, 49, 64, 0.16);
}

.profile-avatar-image {
  object-fit: cover;
}

.profile-avatar-placeholder {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--accent-soft);
  color: var(--text);
  font-size: 1.6rem;
  font-weight: 950;
}

.profile-quick-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-gap: 14px;
  gap: 14px;
}

.profile-placeholder-card {
  opacity: 0.78;
}

@media (max-width: 760px) {
  .profile-quick-grid {
    grid-template-columns: 1fr;
  }

  .profile-header-main {
    align-items: flex-start;
  }

  .profile-avatar-image,
  .profile-avatar-placeholder {
    width: 64px;
    height: 64px;
    border-radius: 20px;
    font-size: 1.15rem;
  }
}

/* Mitarbeiterverwaltung: informative Kartenübersicht */
.staff-list-summary {
  display: grid;
  grid-template-columns: auto minmax(190px, 1fr) minmax(280px, 1.4fr) auto;
  align-items: center;
}

.staff-list-avatar {
  width: 58px;
  height: 58px;
  border-radius: 999px;
  flex: 0 0 auto;
}

.staff-list-avatar-image {
  object-fit: cover;
  border: 1px solid rgba(34, 34, 34, 0.12);
}

.staff-list-avatar-placeholder {
  display: grid;
  place-items: center;
  background: rgba(245, 196, 0, 0.28);
  color: #252525;
  font-weight: 900;
  border: 1px solid rgba(184, 140, 0, 0.18);
}

.staff-list-main {
  min-width: 0;
}

.staff-list-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(130px, 1fr));
  grid-gap: 8px 18px;
  gap: 8px 18px;
  color: #4f4a42;
  font-size: 0.88rem;
}

.staff-list-meta span {
  display: grid;
  grid-gap: 2px;
  gap: 2px;
}

.staff-list-meta strong {
  font-size: 0.74rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #7c7568;
}

@media (max-width: 860px) {
  .staff-list-summary {
    grid-template-columns: auto 1fr auto;
  }

  .staff-list-meta {
    grid-column: 1 / -1;
    grid-template-columns: 1fr;
    padding-left: 74px;
  }
}

@media (max-width: 560px) {
  .staff-list-summary {
    grid-template-columns: auto 1fr;
  }

  .staff-list-summary .status-pill {
    grid-column: 2;
    justify-self: start;
  }

  .staff-list-meta {
    padding-left: 0;
  }
}

/* Dienstplanung: Dialog darf nicht vom Kalendereintrag eingeengt werden */
.dienst-calendar-panel,
.app-shell:has(.dienst-calendar-panel) .content.dienst-calendar-panel,
.dienst-calendar-grid,
.dienst-calendar-cell,
.dienst-calendar-duty {
  overflow: visible;
}

.dienst-calendar-duty:hover {
  transform: none;
}

.dienst-modal {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  background: rgba(20, 18, 15, 0.48);
  z-index: 9999;
  overflow: auto;
}

.dienst-modal-box {
  box-sizing: border-box;
  flex: 0 1 auto;
  width: min(920px, calc(100vw - 4rem));
  min-width: min(560px, calc(100vw - 4rem));
  max-width: 920px;
  max-height: calc(100vh - 4rem);
  overflow: auto;
  white-space: normal;
  word-break: normal;
  overflow-wrap: normal;
}

.dienst-modal-box *,
.dienst-modal-box .field,
.dienst-modal-box label,
.dienst-modal-box p,
.dienst-modal-box span,
.dienst-modal-box small {
  word-break: normal;
  overflow-wrap: normal;
}

@media (max-width: 720px) {
  .dienst-modal {
    align-items: flex-start;
    padding: 0.75rem;
  }

  .dienst-modal-box {
    width: calc(100vw - 1.5rem);
    min-width: 0;
    max-width: none;
    max-height: calc(100vh - 1.5rem);
  }
}

/* Zusammenarbeit: Themen & Sitzungen */
.collaboration-feed {
  display: grid;
  grid-gap: 12px;
  gap: 12px;
  margin-top: 14px;
}

.collaboration-feed-item {
  background: #fff;
  border: 1px solid #e4e4e4;
  border-radius: 14px;
  padding: 14px 16px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .045);
}

.collaboration-feed-item header {
  margin-bottom: 8px;
}

.collaboration-feed-item p {
  white-space: pre-wrap;
}

.collaboration-top-list {
  display: grid;
  grid-gap: 10px;
  gap: 10px;
  margin: 14px 0 0;
  padding-left: 22px;
}

.collaboration-top-list li {
  padding: 8px 0;
}

.billing-shell {
  width: min(1680px, 100%);
}

.billing-shell .content {
  width: min(1480px, 100%);
}

.billing-shell .room-intro {
  width: min(1120px, 100%);
}

.billing-shell .admin-grid {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.billing-shell .admin-table {
  min-width: 920px;
}

/* Admin-Systemkonfiguration im Patch-Transfer */
.system-config-editor {
  display: grid;
  grid-gap: 0.85rem;
  gap: 0.85rem;
}

.system-config-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.system-config-head p {
  margin: 0.25rem 0 0;
  overflow-wrap: anywhere;
}

.system-config-textarea {
  min-height: 28rem;
  font-size: 0.86rem;
  line-height: 1.42;
  -moz-tab-size: 2;
       tab-size: 2;
}

.system-config-message {
  margin: 0;
  max-height: 16rem;
  overflow: auto;
}

/* Patch: verbesserter Admin-Logviewer mit Filter, Auto-Scroll und Hervorhebung. */
.patch-log-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1rem;
  border: 1px solid rgba(120, 113, 108, 0.22);
  border-radius: 14px;
  padding: 0.75rem 0.85rem;
  background: #fffdf7;
}

.patch-log-toolbar label {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-weight: 800;
}

.patch-log-toolbar select {
  border: 1px solid var(--border, #ded2bc);
  border-radius: 999px;
  padding: 0.35rem 0.7rem;
  background: #ffffff;
  font: inherit;
}

.patch-log-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
}

.patch-log-badge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 0.25rem 0.55rem;
  font-size: 0.78rem;
  font-weight: 900;
  border: 1px solid rgba(120, 113, 108, 0.2);
  background: #fffdf7;
}

.patch-log-badge-error { color: #991b1b; background: #fef2f2; }
.patch-log-badge-warning { color: #92400e; background: #fffbeb; }
.patch-log-badge-success { color: #166534; background: #f0fdf4; }
.patch-log-badge-request { color: #1d4ed8; background: #eff6ff; }
.patch-log-badge-billing { color: #6d28d9; background: #f5f3ff; }

.patch-log-viewer pre {
  white-space: pre;
  overflow-wrap: normal;
}

.patch-log-line {
  display: block;
  min-height: 1.45em;
  padding: 0 0.15rem;
  border-left: 3px solid transparent;
}

.patch-log-line-error {
  color: #fecaca;
  background: rgba(127, 29, 29, 0.34);
  border-left-color: #ef4444;
  font-weight: 800;
}

.patch-log-line-warning {
  color: #fde68a;
  background: rgba(146, 64, 14, 0.24);
  border-left-color: #f59e0b;
}

.patch-log-line-success {
  color: #bbf7d0;
  border-left-color: #22c55e;
}

.patch-log-line-build {
  color: #bfdbfe;
  border-left-color: #60a5fa;
}

.patch-log-line-request {
  color: #dbeafe;
}

.patch-log-line-billing {
  color: #ddd6fe;
  background: rgba(91, 33, 182, 0.18);
  border-left-color: #8b5cf6;
}

/* Abrechnungsanalyse: Praxissteuerung */
.billing-shell {
  width: min(1920px, 100%);
}

.billing-shell .content {
  width: min(1760px, calc(100% - 24px));
}

.billing-shell .room-intro {
  width: min(1320px, calc(100% - 24px));
}

.billing-dashboard {
  display: grid;
  grid-gap: 1.25rem;
  gap: 1.25rem;
}

.billing-headline,
.billing-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.billing-headline h2,
.billing-section-head h3 {
  margin: 0.15rem 0 0;
}

.billing-filter-form {
  padding: 1rem;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 18px;
  background: rgba(248, 250, 252, 0.88);
}

.billing-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(180px, 1fr));
  grid-gap: 1rem;
  gap: 1rem;
}

.billing-kpi-grid.compact {
  grid-template-columns: repeat(4, minmax(150px, 1fr));
}

.billing-kpi p,
.billing-card-number {
  margin: 0.35rem 0;
  font-size: clamp(1.35rem, 2vw, 2rem);
  font-weight: 800;
  color: #10233f;
}

.billing-kpi small {
  display: block;
  min-height: 1.2em;
}

.billing-section {
  display: grid;
  grid-gap: 1rem;
  gap: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(15, 23, 42, 0.08);
}

.billing-trend-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  grid-gap: 1rem;
  gap: 1rem;
}

.billing-trend-card {
  text-decoration: none;
}

.billing-trend-card h4 {
  margin: 0;
  color: #10233f;
}

.billing-selected-card {
  outline: 2px solid rgba(245, 184, 0, 0.8);
  box-shadow: 0 16px 36px rgba(245, 184, 0, 0.16);
}

.billing-bar {
  width: 100%;
  height: 10px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.08);
}

.billing-bar span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #f5b800, #ffd76a);
}

.billing-bar.secondary span {
  background: linear-gradient(90deg, #86a4c7, #c3d3e6);
}

.billing-positive {
  color: #11723f;
  font-weight: 700;
}

.billing-negative {
  color: #b42318;
  font-weight: 700;
}

.billing-insight-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  grid-gap: 1rem;
  gap: 1rem;
}

.billing-insight {
  border-left: 5px solid rgba(15, 23, 42, 0.18);
}

.billing-insight.positive {
  border-left-color: #1f9d55;
}

.billing-insight.negative {
  border-left-color: #d92d20;
}

.billing-insight.neutral {
  border-left-color: #f5b800;
}

.billing-insight h4 {
  margin: 0 0 0.4rem;
}

.billing-two-columns {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: start;
}

.billing-mini-chart {
  display: grid;
  grid-gap: 0.65rem;
  gap: 0.65rem;
}

.billing-mini-row {
  display: grid;
  grid-template-columns: 90px minmax(160px, 1fr) 140px minmax(160px, 0.8fr) 90px;
  grid-gap: 0.75rem;
  gap: 0.75rem;
  align-items: center;
}

.billing-mini-row strong,
.billing-mini-row em {
  text-align: right;
  font-style: normal;
  white-space: nowrap;
}

.billing-compact-table th,
.billing-compact-table td {
  white-space: nowrap;
}

@media (max-width: 1100px) {
  .billing-kpi-grid,
  .billing-kpi-grid.compact,
  .billing-two-columns {
    grid-template-columns: 1fr 1fr;
  }

  .billing-mini-row {
    grid-template-columns: 80px minmax(120px, 1fr) 120px;
  }

  .billing-mini-row .billing-bar.secondary,
  .billing-mini-row em {
    display: none;
  }
}

@media (max-width: 720px) {
  .billing-kpi-grid,
  .billing-kpi-grid.compact,
  .billing-two-columns {
    grid-template-columns: 1fr;
  }
}

/* Abrechnungsanalyse: Cockpits und Drilldowns */
.billing-cockpit-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(240px, 1fr));
  grid-gap: 1rem;
  gap: 1rem;
}

.billing-cockpit-card {
  display: grid;
  grid-gap: 0.6rem;
  gap: 0.6rem;
  align-content: start;
}

.billing-cockpit-card h4 {
  margin: 0;
}

.billing-chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}

.billing-chip {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.55rem;
  min-width: 0;
  max-width: 100%;
  padding: 0.55rem 0.75rem;
  border: 1px solid rgba(15, 23, 42, 0.1);
  border-radius: 999px;
  background: rgba(248, 250, 252, 0.94);
  color: #10233f;
  font-weight: 700;
  text-decoration: none;
}

.billing-chip:hover,
.billing-chip.active {
  border-color: rgba(245, 184, 0, 0.8);
  background: rgba(255, 246, 204, 0.92);
}

.billing-chip span {
  color: #64748b;
  font-size: 0.9em;
  font-weight: 600;
  white-space: nowrap;
}

.billing-detail-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  grid-gap: 1rem;
  gap: 1rem;
}

.billing-detail-grid h4 {
  margin: 0;
}

@media (max-width: 1100px) {
  .billing-cockpit-grid {
    grid-template-columns: 1fr;
  }
}

.billing-callout {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.ksv-upload-grid label {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.ksv-summary-grid .admin-card p {
  margin-bottom: 0;
}

.ksv-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.checkbox-label {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 700;
}

.ksv-doctor-section {
  margin-top: 1rem;
}

.ksv-table th,
.ksv-table td {
  vertical-align: top;
}

.ksv-status {
  display: inline-flex;
  border-radius: 999px;
  padding: 0.25rem 0.55rem;
  font-size: 0.78rem;
  font-weight: 800;
  white-space: nowrap;
  background: #eef2ff;
  color: #3730a3;
}

.ksv-status.not-found,
.ksv-status.excluded,
.ksv-status.missing-code {
  background: #fee2e2;
  color: #991b1b;
}

.ksv-status.portal-provider {
  background: #fef3c7;
  color: #92400e;
}

.ksv-status.ok {
  background: #dcfce7;
  color: #166534;
}

.ksv-detail-list {
  margin: 0;
  padding-left: 1.15rem;
}

.ksv-done {
  opacity: 0.55;
}

.ksv-done td {
  background: #f8fafc;
}

@media (max-width: 760px) {
  .billing-callout {
    align-items: stretch;
    flex-direction: column;
  }
}

.ksv-filter-label {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 700;
}

.ksv-filter-label select {
  min-width: 180px;
}

.ksv-status.portal-only {
  background: #e0f2fe;
  color: #075985;
}

.admin-inline-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  margin-top: 14px;
}

.button-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #d7d7dd;
  border-radius: 999px;
  background: #f4f4f6;
  color: #222;
  padding: 10px 16px;
  min-height: 40px;
  text-decoration: none;
  font-weight: 700;
  cursor: pointer;
}

.button-secondary:hover {
  background: #ececf0;
}
/* Projekte & Roadmap */
.roadmap-card-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.roadmap-card-header span {
  white-space: nowrap;
  border-radius: 999px;
  padding: 0.25rem 0.6rem;
  background: rgba(212, 175, 55, 0.16);
  font-size: 0.85rem;
  font-weight: 700;
}

.roadmap-progress {
  margin: 0.75rem 0;
  height: 0.7rem;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.1);
}

.roadmap-progress > div {
  height: 100%;
  border-radius: inherit;
  background: #d4af37;
}

.roadmap-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 1rem;
  gap: 1rem;
  margin-top: 1rem;
}

.roadmap-columns h3 {
  margin: 0 0 0.4rem;
  font-size: 0.95rem;
}

.roadmap-columns ul {
  margin: 0;
  padding-left: 0;
  list-style: none;
}

.roadmap-columns li {
  margin: 0.28rem 0;
  color: var(--muted, #475569);
}

@media (max-width: 760px) {
  .roadmap-card-header,
  .roadmap-columns {
    display: block;
  }

  .roadmap-card-header span {
    display: inline-block;
    margin-top: 0.35rem;
  }

  .roadmap-columns > div + div {
    margin-top: 1rem;
  }
}

/* Roadmap / Projekte */
.app-shell:has(.roadmap-layout),
.app-shell:has(.roadmap-hero) {
  width: min(1480px, 100%);
}

.roadmap-hero,
.content.roadmap-hero {
  width: min(1280px, 100%);
  max-width: 1280px;
}

.roadmap-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-gap: 0.75rem;
  gap: 0.75rem;
  margin-top: 1.25rem;
}

.roadmap-kpi-grid > div {
  border: 1px solid rgba(31, 41, 55, 0.12);
  border-radius: 18px;
  padding: 0.95rem 1rem;
  background: rgba(255, 255, 255, 0.72);
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.06);
}

.roadmap-kpi-grid strong {
  display: block;
  font-size: 1.7rem;
  line-height: 1;
}

.roadmap-kpi-grid span {
  color: var(--muted);
  font-size: 0.9rem;
}

.roadmap-layout {
  display: grid;
  grid-template-columns: minmax(280px, 340px) minmax(0, 1fr);
  grid-gap: 1.5rem;
  gap: 1.5rem;
  align-items: start;
  width: min(1400px, 100%);
  max-width: 1400px;
}

.roadmap-sidebar {
  position: relative;
  align-self: start;
  min-width: 0;
}

.roadmap-sidebar-inner {
  position: -webkit-sticky;
  position: sticky;
  top: 76px;
  z-index: 4;
  max-height: calc(100vh - 92px);
  overflow: auto;
  border: 1px solid rgba(31, 41, 55, 0.12);
  border-radius: 24px;
  padding: 1rem;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.08);
  -webkit-backdrop-filter: blur(12px);
          backdrop-filter: blur(12px);
}

.roadmap-sidebar h2 {
  margin: 0 0 0.75rem;
  font-size: 1rem;
}

.roadmap-sidebar nav {
  display: grid;
  grid-gap: 0.4rem;
  gap: 0.4rem;
}

.roadmap-sidebar a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.7rem;
  padding: 0.65rem 0.7rem;
  border-radius: 14px;
  color: inherit;
  text-decoration: none;
  background: rgba(244, 245, 247, 0.8);
  border: 1px solid transparent;
}

.roadmap-sidebar a:hover,
.roadmap-sidebar a:focus-visible {
  background: rgba(255, 245, 210, 0.95);
  border-color: rgba(212, 175, 55, 0.35);
}

.roadmap-sidebar a strong {
  color: #7a5b00;
  font-size: 0.85rem;
}


.content.roadmap-layout {
  width: min(1400px, 100%);
}

.roadmap-main {
  display: grid;
  grid-gap: 1.25rem;
  gap: 1.25rem;
  min-width: 0;
}

.roadmap-create-card summary,
.roadmap-edit-box summary {
  cursor: pointer;
  font-weight: 700;
}

.roadmap-project-card {
  scroll-margin-top: 1rem;
}

.roadmap-project-head {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
}

.roadmap-project-head h2 {
  margin-top: 0.1rem;
}

.roadmap-score {
  min-width: 108px;
  text-align: center;
  border-radius: 20px;
  padding: 0.9rem 0.8rem;
  background: linear-gradient(135deg, rgba(255, 245, 210, 0.95), rgba(255, 255, 255, 0.85));
  border: 1px solid rgba(212, 175, 55, 0.28);
}

.roadmap-score strong {
  display: block;
  font-size: 1.8rem;
}

.roadmap-score span {
  display: block;
  color: var(--muted);
  font-size: 0.85rem;
}

.roadmap-progress {
  width: 100%;
  height: 0.7rem;
  border-radius: 999px;
  background: rgba(31, 41, 55, 0.09);
  overflow: hidden;
  margin: 1rem 0;
}

.roadmap-progress > div {
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #d4af37, #f2d474);
}

.roadmap-meta-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-gap: 0.7rem;
  gap: 0.7rem;
  margin: 1rem 0;
}

.roadmap-meta-grid > div,
.roadmap-next-step {
  border: 1px solid rgba(31, 41, 55, 0.1);
  border-radius: 16px;
  padding: 0.75rem 0.85rem;
  background: rgba(249, 250, 251, 0.8);
}

.roadmap-meta-grid span,
.roadmap-next-step span {
  display: block;
  color: var(--muted);
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 0.25rem;
}

.roadmap-next-step {
  margin: 0 0 1rem;
}

.roadmap-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 1rem;
  gap: 1rem;
  margin-top: 1rem;
}

.roadmap-columns h3,
.roadmap-update-area h3 {
  margin: 0 0 0.65rem;
  font-size: 1rem;
}

.roadmap-milestone-list,
.roadmap-update-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-gap: 0.45rem;
  gap: 0.45rem;
}

.roadmap-milestone-list li {
  display: flex;
  gap: 0.55rem;
  align-items: flex-start;
  padding: 0.55rem 0.65rem;
  border-radius: 14px;
  background: rgba(244, 245, 247, 0.78);
}

.roadmap-milestone-list li span {
  display: inline-grid;
  place-items: center;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 999px;
  background: white;
  color: #7a5b00;
  font-weight: 800;
}

.roadmap-milestone-list.done li {
  background: rgba(232, 246, 236, 0.75);
}

.roadmap-edit-box {
  margin: 1rem 0;
  border: 1px dashed rgba(31, 41, 55, 0.2);
  border-radius: 18px;
  padding: 0.85rem;
  background: rgba(255, 255, 255, 0.52);
}

.roadmap-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 0.75rem;
  gap: 0.75rem;
  margin-top: 0.85rem;
}

.roadmap-form-grid.compact {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.roadmap-form-grid label {
  display: grid;
  grid-gap: 0.25rem;
  gap: 0.25rem;
  font-weight: 650;
  font-size: 0.9rem;
}

.roadmap-form-grid .wide {
  grid-column: 1 / -1;
}

.roadmap-form-grid input,
.roadmap-form-grid select,
.roadmap-form-grid textarea,
.roadmap-inline-form input,
.roadmap-inline-form select {
  width: 100%;
  border: 1px solid rgba(31, 41, 55, 0.18);
  border-radius: 12px;
  padding: 0.6rem 0.7rem;
  font: inherit;
  background: white;
}

.roadmap-form-grid button,
.roadmap-inline-form button {
  justify-self: start;
}

.roadmap-milestone-editor {
  display: grid;
  grid-gap: 0.55rem;
  gap: 0.55rem;
  margin-top: 0.75rem;
}

.roadmap-inline-form {
  display: grid;
  grid-template-columns: minmax(200px, 1.5fr) minmax(130px, 0.75fr) 90px minmax(160px, 1fr) auto;
  grid-gap: 0.5rem;
  gap: 0.5rem;
  align-items: center;
}

.roadmap-inline-form.new {
  margin-top: 0.35rem;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(31, 41, 55, 0.12);
}

.roadmap-update-area {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-gap: 0.8rem;
  gap: 0.8rem;
  margin-top: 1rem;
}

.roadmap-update-list li {
  border-left: 3px solid rgba(212, 175, 55, 0.55);
  padding: 0.45rem 0 0.45rem 0.75rem;
}

.roadmap-update-list li strong,
.roadmap-update-list li span {
  display: block;
}

.roadmap-update-list li span {
  color: var(--muted);
  font-size: 0.85rem;
}

.roadmap-update-list li p {
  margin: 0.25rem 0 0;
}

@media (max-width: 980px) {
  .roadmap-layout {
    grid-template-columns: 1fr;
  }

  .roadmap-sidebar-inner {
    position: relative;
    top: auto;
    z-index: 5;
    max-height: none;
  }

  .roadmap-sidebar nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .roadmap-meta-grid,
  .roadmap-kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .roadmap-inline-form {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .roadmap-project-head,
  .roadmap-columns,
  .roadmap-form-grid,
  .roadmap-form-grid.compact,
  .roadmap-meta-grid,
  .roadmap-kpi-grid,
  .roadmap-sidebar nav {
    grid-template-columns: 1fr;
  }

  .roadmap-project-head {
    display: grid;
  }

  .roadmap-score {
    width: 100%;
  }
}

.roadmap-ai-box {
  margin: 1rem 0;
  border: 1px solid rgba(180, 138, 38, 0.28);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255, 248, 225, 0.92), rgba(255, 255, 255, 0.96));
  padding: 0.85rem 1rem;
}

.roadmap-ai-box summary {
  cursor: pointer;
  font-weight: 800;
  color: #5f4300;
}


.roadmap-context-options {
  display: grid;
  grid-gap: 0.45rem;
  gap: 0.45rem;
  margin-top: 0.85rem;
  padding: 0.75rem 0.85rem;
  border: 1px solid rgba(136, 103, 31, 0.18);
  border-radius: 14px;
  background: rgba(255, 253, 247, 0.72);
}

.roadmap-context-options label {
  display: flex;
  gap: 0.55rem;
  align-items: flex-start;
  font-size: 0.92rem;
  color: #4b3a16;
}

.roadmap-context-options input {
  margin-top: 0.18rem;
}

.roadmap-ai-box textarea {
  width: 100%;
  margin-top: 0.75rem;
  border: 1px solid rgba(136, 103, 31, 0.24);
  border-radius: 14px;
  padding: 0.85rem;
  font: 0.9rem/1.45 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  background: #fffdf7;
  color: #2b2415;
  resize: vertical;
}

.roadmap-ai-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 0.75rem;
}

.roadmap-ai-actions button {
  border: 0;
  border-radius: 999px;
  padding: 0.75rem 1rem;
  font-weight: 800;
  cursor: pointer;
}

.roadmap-ai-actions button:not(.button-primary) {
  background: #f6efe0;
  color: #4b3a16;
}

.roadmap-ai-actions button:disabled {
  cursor: wait;
  opacity: 0.7;
}

.patch-mobile-actions button {
  min-height: 2.8rem;
}

.patch-file-search-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(180px, 240px) auto auto;
  grid-gap: 0.65rem;
  gap: 0.65rem;
  align-items: center;
}

.patch-file-search-input {
  width: 100%;
  border: 1px solid var(--border, #ded2bc);
  border-radius: 999px;
  padding: 0.75rem 0.95rem;
  background: #fffdf7;
  font: inherit;
}

.patch-dev-file-list {
  display: grid;
  grid-gap: 0.65rem;
  gap: 0.65rem;
  max-height: 34rem;
  overflow: auto;
  padding-right: 0.15rem;
}

.patch-dev-file-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-gap: 0.7rem;
  gap: 0.7rem;
  align-items: center;
  border: 1px solid var(--border, #ded2bc);
  border-radius: 14px;
  padding: 0.75rem;
  background: #fffdf7;
}

.patch-dev-file-check {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  grid-gap: 0.65rem;
  gap: 0.65rem;
  align-items: flex-start;
  min-width: 0;
}

.patch-dev-file-check strong,
.patch-dev-file-check small {
  display: block;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.patch-dev-file-check small {
  margin-top: 0.18rem;
  color: var(--muted, #6b7280);
  font-size: 0.86rem;
}

.patch-dev-file-actions {
  justify-content: flex-end;
}

.patch-dev-preview pre {
  max-height: 42rem;
}

@media (max-width: 720px) {
  .patch-file-search-row,
  .patch-dev-file-row {
    grid-template-columns: 1fr;
  }

  .patch-dev-file-actions,
  .patch-mobile-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .patch-dev-file-actions button,
  .patch-mobile-actions button,
  .patch-file-search-row button {
    width: 100%;
  }
}

/* Roadmap mobile refinement and compact update cards */
.roadmap-update-item summary {
  cursor: pointer;
  list-style: none;
}

.roadmap-update-item summary::-webkit-details-marker {
  display: none;
}

.roadmap-update-title,
.roadmap-update-date,
.roadmap-update-preview,
.roadmap-update-item.static strong,
.roadmap-update-item.static span {
  display: block;
}

.roadmap-update-title,
.roadmap-update-item.static strong {
  font-weight: 800;
}

.roadmap-update-date,
.roadmap-update-item.static span {
  color: var(--muted);
  font-size: 0.84rem;
  margin-top: 0.1rem;
}

.roadmap-update-preview {
  color: #374151;
  font-size: 0.92rem;
  margin-top: 0.25rem;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.roadmap-update-item[open] .roadmap-update-preview {
  display: none;
}

.roadmap-update-item p {
  white-space: pre-wrap;
}

.roadmap-update-item summary::after {
  content: "Mehr anzeigen";
  display: inline-flex;
  margin-top: 0.35rem;
  color: #7a5b00;
  font-size: 0.84rem;
  font-weight: 750;
}

.roadmap-update-item[open] summary::after {
  content: "Weniger anzeigen";
}

@media (max-width: 980px) {
  .roadmap-layout {
    gap: 0.85rem;
  }

  .roadmap-sidebar {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 30;
    margin-inline: -0.35rem;
    padding: 0.35rem 0.35rem 0.5rem;
    background: rgba(247, 248, 250, 0.94);
    -webkit-backdrop-filter: blur(12px);
            backdrop-filter: blur(12px);
  }

  .roadmap-sidebar-inner {
    position: static;
    padding: 0.7rem;
    border-radius: 18px;
    max-height: none;
    overflow: hidden;
  }

  .roadmap-sidebar h2 {
    margin-bottom: 0.45rem;
    font-size: 0.92rem;
  }

  .roadmap-sidebar nav {
    display: flex;
    gap: 0.45rem;
    overflow-x: auto;
    padding-bottom: 0.15rem;
    scroll-snap-type: x proximity;
  }

  .roadmap-sidebar a {
    flex: 0 0 auto;
    min-width: 138px;
    max-width: 170px;
    scroll-snap-align: start;
    padding: 0.55rem 0.6rem;
  }

  .roadmap-sidebar a span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

@media (max-width: 680px) {
  .content.roadmap-hero,
  .content.roadmap-layout {
    padding-inline: 0.85rem;
  }

  .roadmap-hero h1 {
    font-size: clamp(1.7rem, 8vw, 2.4rem);
  }

  .roadmap-kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
  }

  .roadmap-kpi-grid > div {
    border-radius: 14px;
    padding: 0.75rem 0.8rem;
  }

  .roadmap-project-card {
    padding: 0.9rem;
    border-radius: 20px;
    scroll-margin-top: 7.5rem;
  }

  .roadmap-project-head {
    gap: 0.7rem;
  }

  .roadmap-project-head .muted {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .roadmap-score {
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-align: left;
    padding: 0.65rem 0.75rem;
    border-radius: 16px;
  }

  .roadmap-score strong {
    font-size: 1.35rem;
  }

  .roadmap-progress {
    height: 0.55rem;
    margin: 0.75rem 0;
  }

  .roadmap-meta-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
  }

  .roadmap-meta-grid > div,
  .roadmap-next-step,
  .roadmap-milestone-list li {
    border-radius: 13px;
    padding: 0.6rem 0.65rem;
  }

  .roadmap-columns {
    gap: 0.7rem;
  }

  .roadmap-edit-box {
    padding: 0.7rem;
    border-radius: 15px;
  }

  .roadmap-update-list {
    gap: 0.55rem;
  }

  .roadmap-update-list li {
    border-left: 0;
    border-radius: 15px;
    padding: 0.65rem 0.75rem;
    background: rgba(244, 245, 247, 0.82);
  }
}

.roadmap-checklist-box {
  border-color: rgba(34, 197, 94, 0.22);
  background: linear-gradient(180deg, rgba(240, 253, 244, 0.72), rgba(255, 255, 255, 0.96));
}

.roadmap-checklist-editor {
  display: grid;
  grid-gap: 0.85rem;
  gap: 0.85rem;
  margin-top: 0.8rem;
}

.roadmap-checklist-form {
  display: grid;
  grid-template-columns: minmax(110px, 0.5fr) minmax(220px, 1.2fr) minmax(90px, 0.4fr);
  grid-gap: 0.65rem;
  gap: 0.65rem;
  align-items: end;
  padding: 0.75rem;
  border: 1px solid rgba(31, 41, 55, 0.1);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.9);
}

.roadmap-checklist-form.checked {
  background: rgba(240, 253, 244, 0.9);
}

.roadmap-checklist-form .wide {
  grid-column: 1 / -1;
}

.roadmap-checklist-form label {
  display: grid;
  grid-gap: 0.3rem;
  gap: 0.3rem;
  font-size: 0.82rem;
  font-weight: 750;
  color: var(--muted);
}

.roadmap-checklist-form input,
.roadmap-checklist-form textarea {
  width: 100%;
  border: 1px solid rgba(31, 41, 55, 0.14);
  border-radius: 11px;
  padding: 0.55rem 0.65rem;
  font: inherit;
  color: var(--text);
  background: #fff;
}

.roadmap-checklist-form textarea {
  resize: vertical;
}

.roadmap-checkline {
  display: flex !important;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 0.5rem !important;
  min-height: 2.6rem;
}

.roadmap-checkline input {
  width: auto;
}

.roadmap-checklist-form button {
  justify-self: start;
}

@media (max-width: 780px) {
  .roadmap-checklist-form {
    grid-template-columns: 1fr;
  }
}

.roadmap-checklist-history {
  padding: 0.65rem 0.75rem;
  border: 1px dashed rgba(31, 41, 55, 0.16);
  border-radius: 12px;
  background: rgba(248, 250, 252, 0.82);
}

.roadmap-checklist-history details {
  margin-top: 0.35rem;
}

.roadmap-checklist-history summary {
  cursor: pointer;
  font-size: 0.84rem;
  font-weight: 750;
  color: var(--text);
}

.roadmap-checklist-history ul {
  display: grid;
  grid-gap: 0.45rem;
  gap: 0.45rem;
  margin: 0.55rem 0 0;
  padding: 0;
  list-style: none;
}

.roadmap-checklist-history li {
  padding: 0.55rem 0.65rem;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.9);
}

.roadmap-checklist-history li p {
  margin: 0.2rem 0 0;
  color: var(--muted);
  white-space: pre-wrap;
}

/* Roadmap: Projektkarten starten eingeklappt, damit die lange Seite übersichtlich bleibt. */
.roadmap-project-summary {
  cursor: pointer;
  list-style: none;
}

.roadmap-project-summary::-webkit-details-marker {
  display: none;
}

.roadmap-project-summary .roadmap-project-head::before {
  content: "▸";
  flex: 0 0 auto;
  margin-top: 0.25rem;
  color: var(--muted);
  font-weight: 900;
}

.roadmap-project-card[open] .roadmap-project-summary .roadmap-project-head::before {
  content: "▾";
}

.roadmap-project-summary .roadmap-project-head {
  align-items: center;
}

.roadmap-project-summary:hover h2 {
  text-decoration: underline;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.18em;
}

.roadmap-project-card:not([open]) {
  padding-bottom: 1rem;
}

@media (max-width: 780px) {
  .roadmap-project-summary .roadmap-project-head {
    display: grid;
    grid-template-columns: auto 1fr;
  }

  .roadmap-project-summary .roadmap-score {
    grid-column: 1 / -1;
    justify-self: stretch;
  }
}

/* KI-Projektassistent */
.ki-assistant-shell .admin-actions-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.ki-assistant-shell .admin-actions-row a,
.ki-assistant-actions button,
.ki-assistant-speech-actions button {
  border: 1px solid #d7d7d7;
  border-radius: 999px;
  background: #fff;
  padding: 10px 14px;
  text-decoration: none;
  font-weight: 700;
  color: inherit;
}

.ki-assistant-shell .button-primary,
.ki-assistant-actions .button-primary,
.ki-assistant-speech-actions .button-primary {
  background: #222;
  border-color: #222;
  color: #fff;
}

.ki-assistant-overview {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-gap: 18px;
  gap: 18px;
  align-items: center;
}

.ki-assistant-steps {
  display: grid;
  grid-gap: 8px;
  gap: 8px;
  min-width: 210px;
}

.ki-assistant-steps span {
  border: 1px solid #e6e0d4;
  border-radius: 999px;
  background: #fffaf0;
  padding: 8px 12px;
  font-weight: 700;
  white-space: nowrap;
}

.ki-assistant-panel,
.ki-assistant-form {
  display: grid;
  grid-gap: 16px;
  gap: 16px;
}

.ki-assistant-speech-card,
.ki-assistant-form,
.ki-assistant-context-card,
.ki-assistant-update-list article {
  border: 1px solid #e1e1e1;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 32px rgba(0, 0, 0, .06);
}

.ki-assistant-speech-card {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  padding: 18px;
}

.ki-assistant-speech-card h2,
.ki-assistant-context-card h2,
.ki-assistant-update-list strong {
  margin-top: 0;
}

.ki-assistant-speech-actions,
.ki-assistant-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.ki-assistant-speech-actions button:disabled {
  opacity: .55;
}

.ki-assistant-form {
  padding: 18px;
}

.ki-assistant-form label {
  display: grid;
  grid-gap: 6px;
  gap: 6px;
  font-weight: 700;
}

.ki-assistant-form input,
.ki-assistant-form textarea,
.ki-assistant-form select {
  width: 100%;
  border: 1px solid #d8d8d8;
  border-radius: 12px;
  padding: 11px 12px;
  font: inherit;
  background: #fff;
}

.ki-assistant-form textarea {
  min-height: 180px;
  resize: vertical;
}


.ki-assistant-quality-row {
  border: 1px solid #e7dfd1;
  border-radius: 12px;
  background: #fffaf0;
  padding: 10px 12px;
  color: #604a19;
  font-size: .92rem;
  font-weight: 700;
}

.ki-assistant-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-gap: 12px;
  gap: 12px;
}

.ki-assistant-checkline {
  display: flex !important;
  align-items: center;
  gap: 10px !important;
  font-weight: 600 !important;
}

.ki-assistant-checkline input {
  width: auto;
}

.ki-assistant-context-card pre {
  overflow-x: auto;
  white-space: pre-wrap;
  border-radius: 14px;
  background: #f6f6f6;
  padding: 14px;
}

.ki-assistant-update-list {
  display: grid;
  grid-gap: 12px;
  gap: 12px;
}

.ki-assistant-update-list article {
  padding: 14px;
}

.ki-assistant-update-list article p:last-child {
  white-space: pre-wrap;
}

.notice.info {
  border-left: 4px solid #8aa4c2;
  background: #f2f6fb;
}

.notice.warning {
  border-left: 4px solid #d29a2e;
  background: #fff8ea;
}

@media (max-width: 760px) {
  .ki-assistant-overview,
  .ki-assistant-speech-card,
  .ki-assistant-grid {
    grid-template-columns: 1fr;
  }

  .ki-assistant-speech-card {
    align-items: stretch;
  }

  .ki-assistant-speech-actions button,
  .ki-assistant-actions button,
  .ki-assistant-shell .admin-actions-row a {
    width: 100%;
    text-align: center;
    justify-content: center;
  }

  .ki-assistant-steps {
    min-width: 0;
  }
}

.roadmap-cleanup-form {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
  margin: 0.75rem 0 1rem;
  padding: 0.75rem;
  border: 1px dashed var(--pzfp-facade-line);
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.72);
}

.roadmap-check-title-label {
  min-width: min(100%, 28rem);
}

.roadmap-check-title-input {
  min-width: min(100%, 28rem);
  text-overflow: ellipsis;
}

@media (max-width: 720px) {
  .roadmap-cleanup-form {
    align-items: stretch;
    flex-direction: column;
  }

  .roadmap-cleanup-form button,
  .roadmap-check-title-label,
  .roadmap-check-title-input {
    width: 100%;
  }
}

/* Internes Wiki */
.wiki-hero code,
.wiki-toolbar code,
.wiki-card code,
.wiki-document code {
  border-radius: 0.4rem;
  padding: 0.08rem 0.28rem;
  background: rgba(31, 41, 55, 0.08);
  font-size: 0.92em;
}

.wiki-toolbar {
  margin-top: 1rem;
}

.wiki-search-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(180px, 240px) auto auto;
  grid-gap: 0.75rem;
  gap: 0.75rem;
  align-items: end;
}

.wiki-search-form label {
  display: grid;
  grid-gap: 0.35rem;
  gap: 0.35rem;
  font-weight: 650;
}

.wiki-search-form input,
.wiki-search-form select {
  width: 100%;
  border: 1px solid rgba(31, 41, 55, 0.18);
  border-radius: 14px;
  padding: 0.75rem 0.85rem;
  font: inherit;
  background: white;
}

.wiki-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  grid-gap: 1rem;
  gap: 1rem;
  margin-top: 1rem;
}

.wiki-card {
  display: grid;
  grid-gap: 0.45rem;
  gap: 0.45rem;
}

.wiki-card-meta {
  display: flex;
  gap: 0.4rem;
  flex-wrap: wrap;
}

.wiki-card-meta span {
  border-radius: 999px;
  padding: 0.2rem 0.5rem;
  background: rgba(255, 245, 210, 0.9);
  color: #7a5b00;
  font-size: 0.78rem;
  font-weight: 750;
}

.wiki-card small {
  color: var(--muted);
}

.wiki-document {
  max-width: 980px;
  margin-top: 1rem;
}

.wiki-document-body {
  display: grid;
  grid-gap: 0.8rem;
  gap: 0.8rem;
  line-height: 1.68;
}

.wiki-document-body h1,
.wiki-document-body h2,
.wiki-document-body h3 {
  margin: 0.7rem 0 0.1rem;
  line-height: 1.22;
}

.wiki-document-body p,
.wiki-document-body ul {
  margin: 0;
}

.wiki-document-body ul {
  padding-left: 1.25rem;
}

@media (max-width: 760px) {
  .wiki-search-form {
    grid-template-columns: 1fr;
  }
}

.wiki-section {
  margin-top: 1.25rem;
}

.wiki-topic-grid {
  display: grid;
  grid-gap: 1rem;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.wiki-topic-card {
  min-height: 230px;
}

.wiki-next-step {
  border-left: 3px solid rgba(0, 0, 0, 0.12);
  margin-top: 0.85rem;
  padding-left: 0.8rem;
}

.wiki-topic-layout {
  display: grid;
  grid-gap: 1rem;
  gap: 1rem;
  grid-template-columns: minmax(0, 2fr) minmax(240px, 1fr);
}

.wiki-topic-main,
.wiki-topic-side {
  height: 100%;
}

.wiki-checklist-summary {
  align-items: baseline;
  display: flex;
  gap: 0.5rem;
  margin-top: 1rem;
}

.wiki-checklist-summary strong {
  font-size: 1.4rem;
}

.wiki-tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.wiki-tag-list span,
.wiki-card-meta span {
  white-space: nowrap;
}

.wiki-checklist-grid {
  display: grid;
  grid-gap: 0.75rem;
  gap: 0.75rem;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.wiki-check-item {
  border-left: 4px solid rgba(0, 0, 0, 0.12);
}

.wiki-check-item.is-done {
  opacity: 0.82;
}

.wiki-topic-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-top: 1rem;
}

@media (max-width: 760px) {
  .wiki-topic-layout {
    grid-template-columns: 1fr;
  }
}

/* Roadmap checklist: klare Trennung von Prüfschritt-Titel und Kommentar. */
.roadmap-checklist-group {
  display: grid;
  grid-gap: 0.7rem;
  gap: 0.7rem;
}

.roadmap-checklist-group h4 {
  margin: 0.25rem 0 0;
  font-size: 0.94rem;
}

.roadmap-checklist-open-item,
.roadmap-checklist-done-item,
.roadmap-checklist-done-group {
  border: 1px solid rgba(31, 41, 55, 0.1);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.9);
  overflow: hidden;
}

.roadmap-checklist-open-item > summary,
.roadmap-checklist-done-item > summary,
.roadmap-checklist-done-group > summary {
  cursor: pointer;
  padding: 0.7rem 0.8rem;
  font-weight: 850;
}

.roadmap-checklist-open-item > summary {
  background: rgba(255, 255, 255, 0.94);
}

.roadmap-checklist-done-item > summary,
.roadmap-checklist-done-group > summary {
  background: rgba(240, 253, 244, 0.86);
}

.roadmap-checklist-summary-content {
  display: grid;
  grid-gap: 0.25rem;
  gap: 0.25rem;
}

.roadmap-checklist-summary-content p {
  margin: 0;
  color: var(--muted);
  font-weight: 500;
  line-height: 1.45;
  white-space: pre-wrap;
}

.roadmap-checklist-open-item .roadmap-checklist-form,
.roadmap-checklist-done-item .roadmap-checklist-form {
  margin: 0.75rem;
}

.roadmap-checklist-done-group > .roadmap-checklist-group {
  padding: 0.75rem;
}

/* Roadmap-Prüfschritte: Kommentare nicht mehr im zusammengeklappten Titel wiederholen. */
.roadmap-checklist-summary-content > .small-text {
  display: block;
  margin-top: 0.2rem;
  font-weight: 500;
}

.wiki-topic-card.compact {
  min-height: 0;
}

/* Zusammenarbeit UX 2.0 */
.collaboration-shell {
  padding-bottom: 7rem;
}

.collaboration-sticky-header {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
  -webkit-backdrop-filter: blur(12px);
          backdrop-filter: blur(12px);
}

.collaboration-sticky-header h1,
.collaboration-sticky-header p {
  margin: 0;
}

.compact-message {
  padding: 0.25rem 0.6rem;
  border-radius: 999px;
}

.collaboration-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.section-heading-row,
.collaboration-card-title-row,
.collaboration-meta-row,
.participant-badge-row {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  flex-wrap: wrap;
}

.section-heading-row,
.collaboration-card-title-row {
  justify-content: space-between;
}

.collaboration-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  grid-gap: 0.85rem;
  gap: 0.85rem;
}

.compact-card-grid {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

.collaboration-card {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  min-height: 8rem;
  padding: 0.9rem;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-left: 0.35rem solid rgba(100, 116, 139, 0.35);
  border-radius: 1rem;
  background: #fff;
  color: inherit;
  text-decoration: none;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.04);
}

.collaboration-card:hover,
.collaboration-card.is-active {
  border-color: rgba(37, 99, 235, 0.45);
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.09);
}

.collaboration-card.status-open {
  border-left-color: rgba(239, 68, 68, 0.45);
  background: linear-gradient(90deg, rgba(254, 226, 226, 0.55), #fff 34%);
}

.collaboration-card.status-progress {
  border-left-color: rgba(34, 197, 94, 0.45);
  background: linear-gradient(90deg, rgba(220, 252, 231, 0.55), #fff 34%);
}

.collaboration-card.status-waiting {
  border-left-color: rgba(245, 158, 11, 0.5);
  background: linear-gradient(90deg, rgba(254, 243, 199, 0.55), #fff 34%);
}

.collaboration-meta-row {
  font-size: 0.86rem;
  color: #64748b;
}

.compact-text {
  margin: 0;
  font-size: 0.92rem;
}

.badge-soft,
.participant-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  min-height: 1.65rem;
  padding: 0.18rem 0.55rem;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.06);
  color: #334155;
  font-size: 0.78rem;
  font-weight: 700;
}

.participant-badge.is-excused {
  background: rgba(254, 226, 226, 0.9);
  color: #991b1b;
}

.collaboration-meeting-detail {
  margin-top: 1rem;
}

.participant-list {
  display: grid;
  grid-gap: 0.65rem;
  gap: 0.65rem;
  margin: 0.8rem 0;
}

.participant-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-gap: 0.75rem;
  gap: 0.75rem;
  align-items: center;
  padding: 0.75rem;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 0.85rem;
  background: rgba(248, 250, 252, 0.7);
}

.participant-status-form {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.participant-status-form select,
.compact-field select {
  min-width: 8rem;
}

.selectable-card {
  cursor: pointer;
}

.selectable-card input[type="checkbox"] {
  width: 1.2rem;
  height: 1.2rem;
}

.collaboration-fab {
  position: fixed;
  right: 1.2rem;
  bottom: 1.2rem;
  z-index: 30;
}

.collaboration-fab > summary {
  display: grid;
  place-items: center;
  width: 3.4rem;
  height: 3.4rem;
  border-radius: 999px;
  background: #0f172a;
  color: #fff;
  font-size: 2rem;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 14px 35px rgba(15, 23, 42, 0.28);
  list-style: none;
}

.collaboration-fab > summary::-webkit-details-marker,
.collaboration-fab-menu summary::-webkit-details-marker {
  display: none;
}

.collaboration-fab-menu {
  position: absolute;
  right: 0;
  bottom: 4.1rem;
  width: min(22rem, calc(100vw - 2rem));
  display: grid;
  grid-gap: 0.55rem;
  gap: 0.55rem;
  padding: 0.75rem;
  border: 1px solid rgba(15, 23, 42, 0.1);
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 18px 50px rgba(15, 23, 42, 0.22);
}

.collaboration-fab-menu summary {
  cursor: pointer;
  font-weight: 800;
  padding: 0.55rem 0.7rem;
  border-radius: 0.7rem;
  background: rgba(15, 23, 42, 0.06);
}

@media (max-width: 760px) {
  .collaboration-sticky-header,
  .participant-row {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .collaboration-sticky-header {
    display: block;
  }

  .participant-status-form {
    justify-content: flex-start;
  }
}

/* Zusammenarbeit: Sitzungen als eigene Seite + schönes Plus-Menü */
.compact-page-header {
  padding-top: 0.85rem;
  padding-bottom: 0.85rem;
}

.page-title-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.back-link {
  display: inline-grid;
  place-items: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.06);
  color: inherit;
  text-decoration: none;
  font-weight: 900;
}

.meetings-shell .collaboration-sticky-header {
  background: rgba(255, 255, 255, 0.88);
}

.meetings-card-grid {
  grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
}

.meeting-card {
  min-height: 9.25rem;
}

.meeting-card.status-planned {
  border-left-color: rgba(59, 130, 246, 0.48);
  background: linear-gradient(90deg, rgba(219, 234, 254, 0.58), #fff 36%);
}

.meeting-card.status-done {
  border-left-color: rgba(20, 184, 166, 0.48);
  background: linear-gradient(90deg, rgba(204, 251, 241, 0.58), #fff 36%);
}

.pretty-fab > summary {
  background: linear-gradient(135deg, #0f172a, #0f766e);
  transform: translateZ(0);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.pretty-fab[open] > summary,
.pretty-fab > summary:hover {
  transform: translateY(-2px) scale(1.03);
  box-shadow: 0 18px 42px rgba(15, 118, 110, 0.28);
}

.pretty-fab-menu {
  gap: 0.65rem;
  padding: 0.85rem;
  border-radius: 1.25rem;
  background: rgba(255, 255, 255, 0.96);
  -webkit-backdrop-filter: blur(14px);
          backdrop-filter: blur(14px);
}

.pretty-fab-menu > details,
.pretty-fab-menu .fab-action-link {
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 1rem;
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.96), rgba(255, 255, 255, 0.96));
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06);
  overflow: hidden;
}

.pretty-fab-menu > details > summary,
.pretty-fab-menu .fab-action-link {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.78rem 0.85rem;
  background: transparent;
  color: inherit;
  text-decoration: none;
}

.pretty-fab-menu > details > summary span,
.pretty-fab-menu .fab-action-link span {
  display: inline-grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border-radius: 0.75rem;
  background: rgba(15, 118, 110, 0.10);
}

.pretty-fab-menu > details[open] > summary {
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

.pretty-fab-menu .details-form {
  padding: 0.85rem;
}

/* Zusammenarbeit: Kanban-/Trello-Board für Themen */
.kanban-board {
  display: grid;
  grid-template-columns: repeat(5, minmax(210px, 220px));
  grid-gap: 0.75rem;
  gap: 0.75rem;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  padding: 0.15rem 0 0.5rem;
  scroll-behavior: smooth;
  scroll-snap-type: x proximity;
}

.kanban-column {
  min-width: 210px;
  min-height: 20rem;
  padding: 0.65rem;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 1rem;
  background: rgba(248, 250, 252, 0.86);
  scroll-snap-align: start;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease, transform 0.15s ease;
}

.kanban-column.is-drop-target {
  border-color: rgba(37, 99, 235, 0.42);
  background: rgba(239, 246, 255, 0.95);
  box-shadow: inset 0 0 0 2px rgba(37, 99, 235, 0.08);
}

.kanban-column-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.55rem;
  margin-bottom: 0.65rem;
}

.kanban-column-header h3 {
  margin: 0;
  font-size: 0.98rem;
}

.kanban-column-body {
  display: grid;
  grid-gap: 0.6rem;
  gap: 0.6rem;
}

.kanban-topic-card {
  min-height: 0;
  gap: 0.45rem;
  padding: 0.72rem;
  border-radius: 0.85rem;
  cursor: -webkit-grab;
  cursor: grab;
}

.kanban-topic-card:active {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

.kanban-topic-card a {
  color: inherit;
  text-decoration: none;
}

.kanban-topic-card a:hover {
  text-decoration: underline;
}

.kanban-topic-card .collaboration-card-title-row {
  gap: 0.4rem;
}

.kanban-topic-card .collaboration-card-title-row strong {
  font-size: 0.94rem;
  line-height: 1.2;
}

.collaboration-card.status-decided {
  border-left-color: rgba(99, 102, 241, 0.5);
  background: linear-gradient(90deg, rgba(224, 231, 255, 0.6), #fff 34%);
}

.collaboration-card.status-done {
  border-left-color: rgba(20, 184, 166, 0.45);
  background: linear-gradient(90deg, rgba(204, 251, 241, 0.55), #fff 34%);
}

.kanban-meeting-chip-row,
.kanban-card-footer {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  flex-wrap: wrap;
}

.kanban-card-footer {
  justify-content: space-between;
  margin-top: 0.05rem;
}

.kanban-meeting-chip {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  padding: 0.12rem 0.38rem;
  border-radius: 999px;
  background: rgba(37, 99, 235, 0.08);
  color: #1d4ed8;
  font-size: 0.72rem;
  font-weight: 700;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.kanban-responsible-badge {
  max-width: 100%;
  white-space: normal;
  line-height: 1.15;
}

.kanban-status-select {
  display: inline-flex;
  align-items: center;
  color: #64748b;
  font-size: 0.72rem;
  font-weight: 700;
}

.kanban-status-select select {
  width: auto;
  min-width: 6rem;
  min-height: 1.85rem;
  padding: 0.16rem 0.38rem;
  border-radius: 0.6rem;
  font-size: 0.75rem;
}

.kanban-empty {
  min-height: 5rem;
  margin: 0;
  padding: 0.8rem;
  border: 1px dashed rgba(100, 116, 139, 0.28);
  border-radius: 0.85rem;
  background: rgba(255, 255, 255, 0.62);
  font-size: 0.86rem;
}

.checkbox-picker {
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 0.9rem;
  padding: 0.75rem;
  background: rgba(248, 250, 252, 0.72);
}

.checkbox-picker legend {
  padding: 0 0.35rem;
  font-weight: 800;
}

.checkbox-picker-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  grid-gap: 0.45rem;
  gap: 0.45rem;
  margin-top: 0.35rem;
}

.checkbox-pill {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  min-height: 2.15rem;
  padding: 0.35rem 0.55rem;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 999px;
  background: #fff;
  font-size: 0.86rem;
  cursor: pointer;
}

.checkbox-pill input {
  width: 1rem;
  height: 1rem;
  flex: 0 0 auto;
}

@media (max-width: 920px) {
  .kanban-board {
    grid-template-columns: repeat(5, minmax(74vw, 1fr));
  }

  .kanban-column {
    min-width: 74vw;
  }
}

/* Zusammenarbeit: robuster Plus-Button und Kanban-Scroll-Fix */
.collaboration-shell .collaboration-fab {
  position: fixed !important;
  right: max(1rem, env(safe-area-inset-right, 0rem) + 1rem) !important;
  bottom: max(1rem, env(safe-area-inset-bottom, 0rem) + 1rem) !important;
  z-index: 9999 !important;
}

.collaboration-shell .collaboration-fab > summary {
  width: 3.75rem;
  height: 3.75rem;
  border: 3px solid rgba(255, 255, 255, 0.96);
  font-size: 2.25rem;
}

.inline-create-topic {
  position: relative;
}

.inline-create-topic > summary {
  list-style: none;
  cursor: pointer;
}

.inline-create-topic > summary::-webkit-details-marker {
  display: none;
}

.inline-create-topic-form {
  position: absolute;
  right: 0;
  top: calc(100% + 0.55rem);
  z-index: 45;
  width: min(32rem, calc(100vw - 2rem));
  padding: 0.9rem;
  border: 1px solid rgba(15, 23, 42, 0.10);
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 18px 50px rgba(15, 23, 42, 0.20);
}

.kanban-board-shell {
  position: relative;
}

.kanban-board-shell .kanban-board {
  scroll-behavior: auto;
  padding-left: 2.2rem;
  padding-right: 2.2rem;
}

.kanban-scroll-button {
  position: absolute;
  top: 50%;
  z-index: 10;
  display: grid;
  place-items: center;
  width: 2.05rem;
  height: 4.2rem;
  transform: translateY(-50%);
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.95);
  color: #0f172a;
  font-size: 1.85rem;
  font-weight: 900;
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.16);
  cursor: pointer;
}

.kanban-scroll-button.is-left {
  left: 0.15rem;
}

.kanban-scroll-button.is-right {
  right: 0.15rem;
}

.kanban-card-actions {
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
}

.kanban-move-button {
  display: inline-grid;
  place-items: center;
  width: 1.9rem;
  height: 1.9rem;
  border: 1px solid rgba(15, 23, 42, 0.10);
  border-radius: 999px;
  background: #fff;
  color: #0f172a;
  font-weight: 900;
  cursor: pointer;
}

.kanban-move-button:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

.kanban-move-button:not(:disabled):hover,
.kanban-scroll-button:hover {
  background: rgba(15, 118, 110, 0.08);
}

@media (max-width: 760px) {
  .inline-create-topic-form {
    position: fixed;
    inset: auto 1rem 5.25rem 1rem;
    width: auto;
    max-height: calc(100vh - 7rem);
    overflow: auto;
  }

  .kanban-board-shell .kanban-board {
    padding-left: 1.45rem;
    padding-right: 1.45rem;
  }

  .kanban-scroll-button {
    width: 1.65rem;
    height: 3.4rem;
    font-size: 1.45rem;
  }

  .kanban-status-select select {
    min-width: 5.25rem;
  }
}

/* Zusammenarbeit: Kanban + Sitzungs-UX v3 */
.kanban-board-shell .kanban-board {
  padding-left: 0;
  padding-right: 0;
  scroll-behavior: auto;
}

.kanban-scroll-button,
.kanban-move-button,
.kanban-card-actions {
  display: none !important;
}

.meeting-strip {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(260px, 320px);
  grid-gap: 0.8rem;
  gap: 0.8rem;
  overflow-x: auto;
  padding: 0.1rem 0 0.75rem;
  scroll-snap-type: x proximity;
}

.meeting-picker-card {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 100%;
  min-height: 8.8rem;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-left: 4px solid rgba(59, 130, 246, 0.42);
  text-align: left;
  cursor: pointer;
  scroll-snap-align: start;
}

.meeting-picker-card.is-active {
  border-color: rgba(15, 118, 110, 0.42);
  border-left-color: #0f766e;
  box-shadow: 0 16px 36px rgba(15, 118, 110, 0.14);
}

.meeting-picker-card.is-drop-target {
  border-color: rgba(37, 99, 235, 0.55);
  border-left-color: #2563eb;
  background: linear-gradient(180deg, rgba(239, 246, 255, 0.96), #fff 62%);
  transform: translateY(-2px);
}

.meeting-picker-card:disabled {
  opacity: 0.72;
  cursor: wait;
}

.inline-meeting-detail {
  margin-top: 1rem;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 1.1rem;
  background: rgba(255, 255, 255, 0.86);
}

.collaboration-meeting-workspace .admin-details:first-of-type {
  border-color: rgba(15, 118, 110, 0.18);
}

@media (max-width: 760px) {
  .meeting-strip {
    grid-auto-columns: minmax(76vw, 1fr);
  }
}

/* Zusammenarbeit: Pointer-Drag-Fix für Touch und horizontales Kanban-Scrollen */
.is-kanban-pointer-dragging,
.is-kanban-pointer-dragging * {
  -moz-user-select: none !important;
       user-select: none !important;
  -webkit-user-select: none !important;
}

.kanban-topic-card {
  touch-action: pan-y;
}

.kanban-topic-card.is-pointer-dragging {
  opacity: 0.42;
  transform: scale(0.985);
}

.kanban-drag-ghost {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 10020;
  display: grid;
  grid-gap: 0.2rem;
  gap: 0.2rem;
  max-width: min(17rem, calc(100vw - 2rem));
  padding: 0.7rem 0.85rem;
  border: 1px solid rgba(15, 118, 110, 0.28);
  border-radius: 0.9rem;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.24);
  color: #0f172a;
  pointer-events: none;
}

.kanban-drag-ghost span {
  color: #64748b;
  font-size: 0.78rem;
  font-weight: 700;
}

.meeting-picker-card,
.inline-meeting-detail {
  touch-action: pan-y;
}

/* Zusammenarbeit: Kanban-Aufräumfix 22.06.2026
   Eine aktive Pointer-Drag-Mechanik statt gemischtem HTML5-DnD; Sitzungen sind echte Drop-Ziele im Board. */
.kanban-board-shell .kanban-board {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(210px, 220px);
  grid-template-columns: none !important;
  align-items: start;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-behavior: auto !important;
  scroll-snap-type: none !important;
  -webkit-overflow-scrolling: touch;
}

.kanban-board-shell .kanban-column {
  min-width: 210px;
  width: 220px;
  scroll-snap-align: none;
}

.kanban-topic-card {
  touch-action: none;
}

.is-kanban-pointer-dragging .kanban-board-shell .kanban-board {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

.kanban-meeting-column {
  border-left-width: 4px;
  border-left-color: rgba(37, 99, 235, 0.38);
  background: linear-gradient(180deg, rgba(239, 246, 255, 0.82), rgba(248, 250, 252, 0.92));
}

.kanban-meeting-drop-list {
  gap: 0.5rem;
}

.meeting-drop-card {
  display: grid;
  grid-gap: 0.18rem;
  gap: 0.18rem;
  width: 100%;
  padding: 0.72rem;
  border: 1px solid rgba(37, 99, 235, 0.16);
  border-radius: 0.85rem;
  background: rgba(255, 255, 255, 0.94);
  color: inherit;
  text-align: left;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06);
}

.meeting-drop-card strong {
  font-size: 0.92rem;
  line-height: 1.2;
}

.meeting-drop-card span {
  color: #64748b;
  font-size: 0.76rem;
  font-weight: 700;
}

.meeting-drop-card.is-drop-target,
.kanban-meeting-column.is-drop-target {
  border-color: rgba(37, 99, 235, 0.58);
  background: linear-gradient(180deg, rgba(219, 234, 254, 0.96), rgba(255, 255, 255, 0.98));
  box-shadow: inset 0 0 0 2px rgba(37, 99, 235, 0.10);
}

@media (max-width: 920px) {
  .kanban-board-shell .kanban-board {
    grid-auto-columns: minmax(74vw, 1fr);
  }

  .kanban-board-shell .kanban-column {
    min-width: 74vw;
    width: 74vw;
  }
}

/* Zusammenarbeit: Themen- und Sitzungs-UX v5 – Dashboard und Diskussion zuerst */
.collaboration-dashboard {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-gap: 0.85rem;
  gap: 0.85rem;
}

.collaboration-dashboard-card,
.collaboration-topic-summary-card {
  display: grid;
  grid-gap: 0.25rem;
  gap: 0.25rem;
  min-height: 6.2rem;
  padding: 0.9rem 1rem;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 1.05rem;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.9));
  color: inherit;
  text-decoration: none;
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.06);
}

.collaboration-dashboard-card:hover,
.collaboration-topic-summary-card:hover {
  border-color: rgba(15, 118, 110, 0.24);
  box-shadow: 0 16px 34px rgba(15, 118, 110, 0.10);
  transform: translateY(-1px);
}

.collaboration-dashboard-card span,
.collaboration-topic-summary-card span {
  color: #64748b;
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.collaboration-dashboard-card strong,
.collaboration-topic-summary-card strong {
  color: #0f172a;
  font-size: clamp(1.45rem, 2.6vw, 2rem);
  line-height: 1.05;
}

.collaboration-dashboard-card small,
.collaboration-topic-summary-card small {
  color: #64748b;
  font-weight: 650;
}

.collaboration-board-section,
.collaboration-side-panel {
  scroll-margin-top: 5.5rem;
}

.collaboration-side-panel {
  border-left: 4px solid rgba(15, 118, 110, 0.18);
}

.collaboration-topic-hero {
  display: grid;
  grid-gap: 0.85rem;
  gap: 0.85rem;
}

.collaboration-topic-lead {
  max-width: 70rem;
  margin: 0;
  color: #334155;
  font-size: 1.03rem;
  line-height: 1.6;
}

.collaboration-topic-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-gap: 0.8rem;
  gap: 0.8rem;
  margin-top: 0.15rem;
}

.collaboration-topic-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.collaboration-topic-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  padding: 0.32rem 0.7rem;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.82);
  color: #0f172a;
  font-size: 0.86rem;
  font-weight: 750;
  text-decoration: none;
}

.collaboration-topic-nav a:hover {
  background: rgba(15, 118, 110, 0.08);
  border-color: rgba(15, 118, 110, 0.22);
}

.collaboration-topic-main-section {
  border-left: 4px solid rgba(15, 118, 110, 0.28);
}

#diskussion,
#aufgaben,
#dokumente,
#beschluesse,
#teilthemen,
#sitzungen,
#thema-bearbeiten {
  scroll-margin-top: 5.5rem;
}

#thema-bearbeiten .admin-details > summary {
  font-size: 1.05rem;
  font-weight: 850;
}

@media (max-width: 920px) {
  .collaboration-dashboard,
  .collaboration-topic-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .collaboration-dashboard,
  .collaboration-topic-summary-grid {
    grid-template-columns: 1fr;
  }
}

/* Zusammenarbeit: mobiler Feinschliff + 4-Spalten-Board 22.06.2026 */
.collaboration-dashboard {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.collaboration-dashboard-card {
  min-height: 5.25rem;
  padding: 0.78rem 0.86rem;
}

.collaboration-dashboard-card strong {
  font-size: clamp(1.08rem, 2.2vw, 1.65rem);
  overflow-wrap: anywhere;
}

.collaboration-tabs {
  overflow-x: auto;
  flex-wrap: nowrap;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}

.collaboration-tabs a {
  flex: 0 0 auto;
}

.kanban-board-shell .kanban-board {
  grid-auto-columns: minmax(220px, 240px);
}

.kanban-board-shell .kanban-column {
  min-width: 220px;
  width: 240px;
}

.meeting-strip {
  display: flex !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  overflow-y: hidden;
  gap: 0.75rem;
  padding: 0.1rem 0 0.85rem;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  scroll-snap-type: x proximity;
  touch-action: pan-x pan-y;
}

.meeting-picker-card {
  flex: 0 0 min(20rem, 82vw);
  width: min(20rem, 82vw);
  min-width: min(20rem, 82vw);
}

.collaboration-fab {
  display: block !important;
}

.collaboration-fab > summary {
  position: relative;
  font-size: 0 !important;
}

.collaboration-fab > summary::before {
  content: "+";
  font-size: 2.35rem;
  font-weight: 900;
  line-height: 1;
}

.pretty-fab-menu .fab-action-link {
  font-weight: 850;
}

@media (max-width: 920px) {
  .collaboration-dashboard {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.62rem;
  }

  .collaboration-dashboard-card {
    min-height: 4.85rem;
    padding: 0.68rem 0.72rem;
    border-radius: 0.9rem;
  }

  .collaboration-dashboard-card span {
    font-size: 0.7rem;
  }

  .collaboration-dashboard-card small {
    font-size: 0.72rem;
    line-height: 1.25;
  }

  .kanban-board-shell .kanban-board {
    grid-auto-columns: minmax(72vw, 1fr);
  }

  .kanban-board-shell .kanban-column {
    min-width: 72vw;
    width: 72vw;
  }
}

@media (max-width: 560px) {
  .collaboration-dashboard {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .meeting-picker-card {
    flex-basis: 78vw;
    width: 78vw;
    min-width: 78vw;
  }

  .collaboration-fab {
    right: max(0.85rem, env(safe-area-inset-right, 0rem) + 0.85rem) !important;
    bottom: max(0.85rem, env(safe-area-inset-bottom, 0rem) + 0.85rem) !important;
  }
}

.rest-payment-table input {
  min-width: 8.5rem;
  width: 100%;
}

.rest-payment-table tfoot th {
  background: rgba(15, 23, 42, 0.04);
}

/* Quartalsabschluss-Assistent / Restzahlungsrechner */
.billing-upload-widget { display: grid; grid-gap: 0.85rem; gap: 0.85rem; }
.billing-upload-input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.billing-dropzone { width: 100%; min-height: 12rem; border: 2px dashed rgba(15, 23, 42, 0.22); border-radius: 1.25rem; background: linear-gradient(180deg, rgba(255,255,255,0.88), rgba(248,250,252,0.86)); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.35rem; text-align: center; padding: 1.25rem; color: rgb(15, 23, 42); cursor: pointer; transition: transform 0.15s ease, border-color 0.15s ease, background 0.15s ease; }
.billing-dropzone:hover, .billing-dropzone.dragging { transform: translateY(-1px); border-color: rgba(245, 184, 0, 0.9); background: rgba(255, 251, 235, 0.86); }
.billing-dropzone .billing-drop-icon { font-size: 2.4rem; line-height: 1; }
.billing-dropzone small { color: rgba(15, 23, 42, 0.58); }
.billing-upload-widget.compact .billing-dropzone { min-height: 8rem; }
.billing-upload-selection { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.85rem; border: 1px solid rgba(15, 23, 42, 0.1); border-radius: 1rem; background: rgba(255, 255, 255, 0.82); }
.billing-upload-selection span { display: block; color: rgba(15, 23, 42, 0.62); font-size: 0.9rem; }
.quarter-step-card { display: grid; grid-template-columns: auto minmax(0, 1fr); grid-gap: 1rem; gap: 1rem; align-items: start; }
.quarter-step-number { width: 2.4rem; height: 2.4rem; border-radius: 999px; display: grid; place-items: center; background: rgba(245, 184, 0, 0.95); font-weight: 800; color: rgb(15, 23, 42); }
.quarter-list { display: grid; grid-gap: 0.55rem; gap: 0.55rem; }
.quarter-list-item { display: flex; justify-content: space-between; gap: 0.8rem; align-items: center; padding: 0.75rem; border: 1px solid rgba(15, 23, 42, 0.08); border-radius: 0.9rem; background: rgba(248, 250, 252, 0.76); text-decoration: none; color: inherit; }
.quarter-list-item.active { border-color: rgba(245, 184, 0, 0.9); background: rgba(255, 251, 235, 0.86); }
.quarter-list-item small { display: block; color: rgba(15, 23, 42, 0.58); margin-top: 0.1rem; }
.quarter-status { font-style: normal; font-size: 0.78rem; padding: 0.25rem 0.55rem; border-radius: 999px; white-space: nowrap; background: rgba(148, 163, 184, 0.2); }
.quarter-status.done, .quarter-status.ready { background: rgba(34, 197, 94, 0.14); color: rgb(22, 101, 52); }
.quarter-status.warning { background: rgba(245, 158, 11, 0.16); color: rgb(146, 64, 14); }
.quarter-check-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-gap: 0.55rem; gap: 0.55rem; margin-top: 0.75rem; }
.quarter-check { display: flex; gap: 0.5rem; align-items: center; padding: 0.55rem 0.65rem; border-radius: 0.8rem; background: rgba(148, 163, 184, 0.12); }
.quarter-check.ok { background: rgba(34, 197, 94, 0.12); }
.quarter-check.missing { background: rgba(239, 68, 68, 0.12); }
.quarter-check.optional { color: rgba(15,23,42,0.62); }
.quarter-kpi-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-gap: 0.65rem; gap: 0.65rem; margin-top: 0.9rem; }
.quarter-kpi-grid div { border: 1px solid rgba(15, 23, 42, 0.08); border-radius: 0.85rem; padding: 0.7rem; background: rgba(255, 255, 255, 0.68); }
.quarter-kpi-grid span { display: block; color: rgba(15,23,42,0.58); font-size: 0.82rem; }
.quarter-flow-list { margin: 0.75rem 0 0; padding-left: 1.25rem; color: rgba(15, 23, 42, 0.75); }
@media (max-width: 720px) {
  .billing-upload-selection { align-items: stretch; flex-direction: column; }
  .quarter-step-card { grid-template-columns: 1fr; }
  .quarter-list-item { align-items: flex-start; flex-direction: column; }
  .quarter-check-grid, .quarter-kpi-grid { grid-template-columns: 1fr; }
}

/* Session lifecycle: Warnung vor ablaufender Admin-Sitzung */
.session-toast {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  z-index: 10000;
  max-width: min(26rem, calc(100vw - 2rem));
  display: grid;
  grid-gap: 0.35rem;
  gap: 0.35rem;
  padding: 0.95rem 1rem;
  border-radius: 1rem;
  box-shadow: 0 18px 50px rgba(15, 23, 42, 0.22);
  border: 1px solid rgba(15, 23, 42, 0.12);
  background: rgba(255, 255, 255, 0.96);
  color: #172033;
}
.session-toast.warning { background: rgba(255, 247, 214, 0.98); color: #6f4e00; }
.session-toast.working { background: rgba(224, 242, 254, 0.98); color: #075985; }
.session-toast.success { background: rgba(220, 252, 231, 0.98); color: #166534; }
.session-toast strong { font-size: 0.98rem; }
.session-toast span { font-size: 0.9rem; line-height: 1.35; }
.session-toast button,
.session-expired-card a.button-secondary {
  justify-self: start;
  border: 0;
  border-radius: 999px;
  padding: 0.65rem 1rem;
  font-weight: 800;
  background: #172033;
  color: #fff;
  text-decoration: none;
}
.session-toast button[disabled] { opacity: 0.6; }
.session-expired-overlay {
  position: fixed;
  inset: 0;
  z-index: 10001;
  display: grid;
  place-items: center;
  padding: 1rem;
  background: rgba(15, 23, 42, 0.42);
  -webkit-backdrop-filter: blur(4px);
          backdrop-filter: blur(4px);
}
.session-expired-card {
  width: min(30rem, 100%);
  border-radius: 1.25rem;
  padding: 1.35rem;
  background: #fff;
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.28);
}
.session-expired-card h2 { margin-top: 0.2rem; }
.quarter-progress-line {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  grid-gap: 0.5rem;
  gap: 0.5rem;
  margin-top: 1rem;
}
.quarter-progress-line span {
  border-radius: 999px;
  padding: 0.55rem 0.7rem;
  background: rgba(15, 23, 42, 0.06);
  font-size: 0.82rem;
  font-weight: 800;
  text-align: center;
  color: rgba(15, 23, 42, 0.62);
}
.quarter-progress-line span.active {
  background: rgba(245, 184, 0, 0.22);
  color: #172033;
}
.quarter-step-card.primary-step {
  border-color: rgba(245, 184, 0, 0.45);
  box-shadow: 0 12px 32px rgba(245, 184, 0, 0.1);
}
.quarter-step-card.compact-step {
  align-items: start;
}
@media (max-width: 760px) {
  .session-toast { left: 0.75rem; right: 0.75rem; bottom: 0.75rem; }
  .quarter-progress-line { grid-template-columns: 1fr 1fr; }
}

/* Quartalsabschluss: kompakter Kontoeingang-Dialog */
.quarter-payment-modal-zone { display: grid; grid-gap: 0.55rem; gap: 0.55rem; margin-top: 0.9rem; }
.quarter-primary-button { justify-self: start; }
.small-note { font-size: 0.92rem; }
.quarter-modal-backdrop { position: fixed; inset: 0; z-index: 80; display: grid; place-items: center; padding: 1rem; background: rgba(15, 23, 42, 0.42); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
.quarter-modal { width: min(42rem, 100%); max-height: min(92vh, 54rem); overflow: auto; border-radius: 1.25rem; background: rgba(255,255,255,0.98); box-shadow: 0 24px 80px rgba(15, 23, 42, 0.28); border: 1px solid rgba(15, 23, 42, 0.12); padding: 1rem; }
.quarter-modal-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding-bottom: 0.75rem; border-bottom: 1px solid rgba(15,23,42,0.08); }
.quarter-modal-head h2 { margin: 0.1rem 0 0; }
.quarter-modal-close { border: 0; background: rgba(15,23,42,0.06); width: 2.35rem; height: 2.35rem; border-radius: 999px; font-size: 1.6rem; line-height: 1; cursor: pointer; }
.quarter-modal-form { display: grid; grid-gap: 1rem; gap: 1rem; margin-top: 1rem; }
.quarter-modal-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr); grid-gap: 0.75rem; gap: 0.75rem; }
.quarter-field { display: grid; grid-gap: 0.35rem; gap: 0.35rem; }
.quarter-field.full { grid-column: 1 / -1; }
.quarter-field span { font-weight: 800; color: rgba(15, 23, 42, 0.76); }
.quarter-field input, .quarter-field select { width: 100%; box-sizing: border-box; border: 1px solid rgba(15, 23, 42, 0.22); border-radius: 0.65rem; padding: 0.65rem 0.75rem; font: inherit; background: white; }
.quarter-field small { color: rgba(15, 23, 42, 0.58); }
.quarter-field.readonly { border: 1px solid rgba(15, 23, 42, 0.08); border-radius: 0.85rem; padding: 0.65rem 0.75rem; background: rgba(248, 250, 252, 0.86); }
.quarter-field.highlight { padding: 0.8rem; border-radius: 0.95rem; background: rgba(255, 251, 235, 0.85); border: 1px solid rgba(245, 184, 0, 0.24); }
.quarter-advance-panel { display: grid; grid-gap: 0.75rem; gap: 0.75rem; padding: 0.9rem; border: 1px solid rgba(15, 23, 42, 0.08); border-radius: 1rem; background: rgba(248, 250, 252, 0.76); }
.quarter-advance-panel h3 { margin: 0; }
.quarter-advance-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-gap: 0.75rem; gap: 0.75rem; }
.quarter-modal-actions { display: flex; justify-content: flex-end; gap: 0.75rem; flex-wrap: wrap; padding-top: 0.5rem; }
.quarter-modal-actions .button-primary { border: 0; border-radius: 999px; padding: 0.75rem 1rem; font-weight: 800; background: rgb(245, 184, 0); color: rgb(15, 23, 42); cursor: pointer; }
@media (max-width: 720px) {
  .quarter-modal-backdrop { align-items: end; padding: 0.5rem; }
  .quarter-modal { max-height: 94vh; border-radius: 1.1rem 1.1rem 0.65rem 0.65rem; padding: 0.85rem; }
  .quarter-modal-grid, .quarter-advance-grid { grid-template-columns: 1fr; }
  .quarter-modal-actions { display: grid; grid-template-columns: 1fr; }
  .quarter-modal-actions button, .quarter-primary-button { width: 100%; }
}

/* Zusammenarbeit: Reparatur FAB/Bottom-Sheet und Sitzungs-Scroll 25.06.2026 */
.collaboration-shell {
  overflow-x: clip;
}

.collaboration-shell .content,
.collaboration-meeting-workspace,
.collaboration-side-panel {
  min-width: 0;
}

.collaboration-shell .collaboration-fab {
  position: fixed !important;
  right: max(1rem, calc(env(safe-area-inset-right, 0px) + 1rem)) !important;
  bottom: max(1.15rem, calc(env(safe-area-inset-bottom, 0px) + 1.15rem)) !important;
  z-index: 12000 !important;
}

.collaboration-shell .collaboration-fab > summary {
  width: 3.45rem;
  height: 3.45rem;
}

.collaboration-shell .collaboration-fab-menu {
  position: absolute !important;
  right: 0 !important;
  bottom: calc(100% + 0.75rem) !important;
  width: min(23rem, calc(100dvw - 2rem)) !important;
  max-height: min(78dvh, calc(100dvh - 7.8rem));
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  padding-bottom: max(0.85rem, env(safe-area-inset-bottom, 0px));
}

.collaboration-shell .pretty-fab-menu .details-form {
  max-height: none;
  overflow: visible;
}

.collaboration-shell .pretty-fab-menu .checkbox-picker-grid {
  max-height: min(34dvh, 18rem);
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  padding-right: 0.15rem;
}

.collaboration-shell .pretty-fab-menu textarea {
  min-height: 7rem;
}

.collaboration-shell .meeting-strip {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  touch-action: pan-x pan-y;
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
  padding-inline: 0.1rem;
  padding-bottom: 0.95rem;
}

.collaboration-shell .meeting-picker-card {
  flex: 0 0 min(20rem, 82vw) !important;
  width: min(20rem, 82vw) !important;
  min-width: min(20rem, 82vw) !important;
  max-width: min(20rem, 82vw) !important;
  scroll-snap-align: start;
}

@media (max-width: 560px) {
  .collaboration-shell .collaboration-fab {
    right: max(1rem, calc(env(safe-area-inset-right, 0px) + 1rem)) !important;
    bottom: max(1.35rem, calc(env(safe-area-inset-bottom, 0px) + 1.35rem)) !important;
  }

  .collaboration-shell .collaboration-fab-menu {
    right: -0.15rem !important;
    width: min(22.5rem, calc(100dvw - 1.25rem)) !important;
    max-height: min(74dvh, calc(100dvh - 8.5rem));
  }

  .collaboration-shell .meeting-strip {
    margin-inline: -0.15rem;
    padding-inline: 0.15rem;
  }

  .collaboration-shell .meeting-picker-card {
    flex-basis: 78vw !important;
    width: 78vw !important;
    min-width: 78vw !important;
    max-width: 78vw !important;
  }
}

/* Zusammenarbeit: kompakte Mitarbeiter-Kürzelchips im Feld */
.staff-shortcut-picker {
  display: grid;
  grid-gap: 0.5rem;
  gap: 0.5rem;
  min-width: 0;
  border: 0;
  padding: 0;
  margin: 0;
}

.form-grid > .staff-shortcut-picker,
.details-form > .staff-shortcut-picker,
.stack-form > .staff-shortcut-picker {
  grid-column: 1 / -1;
}

.staff-shortcut-picker legend {
  margin: 0 0 0.2rem;
  padding: 0;
  color: #172033;
  font-weight: 850;
}

.staff-shortcut-field {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.35rem;
  min-height: 3rem;
  width: 100%;
  box-sizing: border-box;
  padding: 0.42rem 0.55rem;
  border: 2px solid rgba(15, 23, 42, 0.16);
  border-radius: 0.85rem;
  background: rgba(255, 255, 255, 0.96);
}

.staff-shortcut-placeholder {
  color: rgba(100, 116, 139, 0.9);
  font-size: 0.92rem;
  font-weight: 650;
}

.staff-selected-chip,
.staff-shortcut-option {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2rem;
  border-radius: 999px;
  border: 1px solid rgba(15, 118, 110, 0.22);
  font: inherit;
  font-weight: 900;
  cursor: pointer;
  white-space: nowrap;
}

.staff-selected-chip {
  gap: 0.25rem;
  padding: 0.3rem 0.55rem;
  border-color: rgba(15, 23, 42, 0.12);
  background: #172033;
  color: #fff;
}

.staff-selected-chip span {
  font-size: 1.05em;
  line-height: 1;
  opacity: 0.86;
}

.staff-shortcut-options {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  max-width: 100%;
}

.staff-shortcut-option {
  min-width: 2.45rem;
  padding: 0.32rem 0.58rem;
  background: rgba(240, 253, 250, 0.92);
  color: #0f766e;
}

.staff-shortcut-option.is-selected {
  border-color: rgba(15, 118, 110, 0.8);
  background: #0f766e;
  color: #fff;
}

.staff-shortcut-picker.is-compact .staff-shortcut-field {
  min-height: 2.75rem;
}

.staff-shortcut-picker.is-compact .staff-shortcut-options {
  flex-wrap: nowrap;
  overflow-x: auto;
  padding-bottom: 0.15rem;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}

.staff-shortcut-picker.is-compact .staff-shortcut-option {
  flex: 0 0 auto;
}

@media (max-width: 560px) {
  .collaboration-topic-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.62rem;
  }

  .collaboration-topic-summary-card {
    min-height: 4.85rem;
    padding: 0.68rem 0.72rem;
    border-radius: 0.9rem;
  }

  .collaboration-topic-summary-card span {
    font-size: 0.7rem;
  }

  .collaboration-topic-summary-card small {
    font-size: 0.72rem;
    line-height: 1.25;
  }

  .staff-shortcut-field {
    min-height: 2.65rem;
  }
}

.vacation-calendar-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  grid-gap: 0.75rem;
  gap: 0.75rem;
}

.vacation-day-card {
  border: 1px solid var(--border, #ddd);
  border-left-width: 6px;
  border-radius: 14px;
  padding: 0.85rem;
  background: var(--card, #fff);
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  min-height: 120px;
}

.vacation-day-card.status-green { border-left-color: #2e7d32; }
.vacation-day-card.status-yellow { border-left-color: #f9a825; }
.vacation-day-card.status-red { border-left-color: #c62828; }
.vacation-day-card small { color: var(--muted, #666); }

/* Personalplanung: mobile Personalakte und Planungslisten */
.staff-record-section,
.staff-planning-inline-editor,
.staff-phone-section,
.staff-permissions-section,
.staff-deactivate-section {
  margin-inline: 0;
}

.staff-record-section > summary,
.staff-planning-inline-editor > summary,
.staff-phone-section > summary,
.staff-permissions-section > summary,
.staff-deactivate-section > summary {
  min-height: 44px;
  display: flex;
  align-items: center;
}

.staff-planning-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  grid-gap: 1rem;
  gap: 1rem;
  align-items: start;
}

.compact-planning-form {
  padding: 0.9rem;
  border: 1px solid #e2dccf;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.72);
}

.compact-planning-form h4 {
  margin: 0;
}

.planning-table-wrap {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin-top: 1rem;
}

.planning-table-wrap .admin-table {
  min-width: 720px;
}

.planning-card-list {
  display: none;
  gap: 0.75rem;
  margin-top: 1rem;
}

.planning-entry-card {
  display: grid;
  grid-gap: 0.65rem;
  gap: 0.65rem;
  padding: 0.85rem;
  border: 1px solid #e2dccf;
  border-radius: 16px;
  background: #fff;
}

.planning-entry-card > div {
  display: grid;
  grid-gap: 0.2rem;
  gap: 0.2rem;
}

.planning-entry-card span,
.planning-entry-card dt {
  color: var(--muted, #6d6251);
  font-size: 0.9rem;
}

.planning-entry-card dl {
  display: grid;
  grid-template-columns: minmax(82px, auto) 1fr;
  grid-gap: 0.35rem 0.65rem;
  gap: 0.35rem 0.65rem;
  margin: 0;
}

.planning-entry-card dd {
  margin: 0;
  overflow-wrap: anywhere;
}

.planning-empty-state {
  margin-top: 1rem;
}

@media (max-width: 720px) {
  .staff-card-body {
    gap: 0.75rem;
  }

  .staff-record-section,
  .staff-planning-inline-editor,
  .staff-phone-section,
  .staff-permissions-section,
  .staff-deactivate-section {
    padding: 0.8rem 0.85rem;
    margin: 0.5rem 0;
  }

  .staff-planning-grid {
    grid-template-columns: 1fr;
  }

  .planning-card-list {
    display: grid;
  }

  .planning-table-wrap {
    display: none;
  }
}

/* Zeiterfassung: mobile-first Formulare und Inline-Speichern */
.time-clock-page .content {
  overflow: visible;
}

.time-clock-summary-grid .admin-card strong {
  display: block;
  font-size: clamp(1.7rem, 5vw, 2.4rem);
  margin: 0.35rem 0;
}

.time-clock-form-card {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  grid-gap: 0.85rem;
  gap: 0.85rem;
  padding: clamp(1rem, 3vw, 1.35rem);
  border: 1px solid rgba(40, 40, 40, 0.11);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 10px 28px rgba(0,0,0,.055);
  margin-top: 1rem;
}

.time-clock-field {
  display: grid;
  grid-gap: 0.35rem;
  gap: 0.35rem;
  min-width: 0;
  font-weight: 800;
}

.time-clock-field span {
  color: #333;
  font-size: 0.95rem;
}

.time-clock-field input,
.time-clock-field select,
.time-clock-status-form select {
  width: 100%;
  min-width: 0;
  border: 2px solid #d9d9d9;
  border-radius: 14px;
  background: #fff;
  padding: 0.78rem 0.9rem;
  font: inherit;
}

.time-clock-wide,
.time-clock-actions,
.time-clock-form-card .form-success,
.time-clock-form-card .form-error,
.time-clock-form-card > .muted {
  grid-column: 1 / -1;
}

.time-clock-actions {
  display: flex;
  justify-content: flex-start;
}

.time-clock-actions button,
.time-clock-status-form button,
.time-clock-inline-action button {
  border: 0;
  border-radius: 999px;
  padding: 0.85rem 1.25rem;
  font: inherit;
  font-weight: 900;
  cursor: pointer;
  background: #efefef;
  color: #222;
}

.time-clock-actions button:disabled,
.time-clock-status-form button:disabled,
.time-clock-inline-action button:disabled {
  opacity: .55;
  cursor: wait;
}

.time-clock-mobile-list {
  display: none;
}

.time-clock-list-card,
.time-clock-credential-card {
  display: grid;
  grid-gap: 0.35rem;
  gap: 0.35rem;
  padding: 0.95rem;
  border: 1px solid rgba(40, 40, 40, 0.1);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 6px 20px rgba(0,0,0,.04);
}

.time-clock-list-card small,
.time-clock-credential-card code {
  color: #666;
  overflow-wrap: anywhere;
}

.time-clock-card-list {
  display: grid;
  grid-gap: 0.8rem;
  gap: 0.8rem;
  margin-top: 1rem;
}

.time-clock-credential-card {
  margin-top: 0.75rem;
}

.time-clock-inline-action {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  align-items: center;
}

.time-clock-status-form {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

.time-clock-status-form .form-success,
.time-clock-status-form .form-error,
.time-clock-inline-action .form-success,
.time-clock-inline-action .form-error {
  width: 100%;
  margin: 0.25rem 0 0;
  padding: 0.55rem 0.7rem;
  font-size: 0.9rem;
}

@media (max-width: 760px) {
  .time-clock-page .content {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .time-clock-form-card {
    grid-template-columns: 1fr;
    border-radius: 20px;
  }

  .time-clock-actions button,
  .time-clock-status-form button,
  .time-clock-inline-action button {
    width: 100%;
  }

  .time-clock-mobile-list {
    display: grid;
    grid-gap: 0.75rem;
    gap: 0.75rem;
  }

  .time-clock-desktop-table {
    display: none;
  }

  .time-clock-status-form {
    display: grid;
    grid-template-columns: 1fr;
  }
}

/* Personal-Cockpit Phase 2 */
.personal-cockpit-kpis strong {
  display: block;
  font-size: clamp(1.8rem, 5vw, 3.2rem);
  line-height: 1;
  margin: 8px 0;
}
.personal-cockpit-warning-list {
  margin: 0;
  padding-left: 20px;
  display: grid;
  grid-gap: 8px;
  gap: 8px;
}
.personal-cockpit-warning-list li {
  background: #fff7e0;
  border: 1px solid #efd58b;
  border-radius: 12px;
  padding: 10px 12px;
}
.personal-cockpit-form,
.personal-cockpit-review-form {
  margin-top: 12px;
}
.personal-cockpit-mobile-results .time-clock-list-card span {
  display: block;
}
@media (max-width: 760px) {
  .personal-cockpit-page .admin-grid {
    grid-template-columns: 1fr;
  }
  .personal-cockpit-page .content {
    overflow-x: hidden;
  }
  .personal-cockpit-review-form {
    display: grid;
    grid-gap: 8px;
    gap: 8px;
  }
  .personal-cockpit-review-form select,
  .personal-cockpit-review-form input,
  .personal-cockpit-review-form button {
    width: 100%;
  }
}

/* /test Rezept: reduzierter Mediplan-Scan */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.test-medplan-scan-card {
  grid-template-columns: 1fr;
}

.test-medplan-scan-card .test-qr-content {
  gap: 16px;
}

.test-medplan-choice-grid {
  display: grid;
  grid-gap: 16px;
  gap: 16px;
}

.medplan-skip-card {
  margin-top: 24px;
}

.test-medplan-scan-button {
  width: 100%;
  border: 1px solid var(--pzfp-yellow-dark);
  background: var(--pzfp-yellow);
  border-radius: 22px;
  padding: clamp(20px, 5vw, 34px);
  display: grid;
  grid-gap: 8px;
  gap: 8px;
  place-items: center;
  text-align: center;
  cursor: pointer;
  box-shadow: 0 18px 42px rgba(32,32,32,.12);
}

.test-medplan-scan-button:disabled {
  cursor: wait;
  opacity: .78;
}

.test-medplan-scan-button strong {
  font-size: clamp(1.18rem, 4vw, 1.8rem);
  line-height: 1.08;
  letter-spacing: -.035em;
}

.test-medplan-scan-button span:not(.test-medplan-scan-icon) {
  color: #363636;
  font-weight: 700;
}

.test-medplan-scan-icon {
  font-size: clamp(2.2rem, 9vw, 4.2rem);
  line-height: 1;
}

.test-medplan-result {
  border: 1px solid rgba(70,70,70,.16);
  border-radius: 18px;
  padding: 14px;
  display: grid;
  grid-gap: 12px;
  gap: 12px;
  background: #fff;
  animation: testFadeUp .24s ease both;
}

.test-medplan-list {
  display: grid;
  grid-gap: 8px;
  gap: 8px;
}

.test-medplan-row {
  border: 1px solid rgba(70,70,70,.12);
  border-radius: 14px;
  padding: 11px 12px;
  display: grid;
  grid-gap: 3px;
  gap: 3px;
  background: #fafafa;
}

.test-medplan-row span {
  font-weight: 800;
}

.test-medplan-row small {
  color: #555;
  font-weight: 700;
}

@media (max-width: 760px) {
  .test-medplan-scan-button {
    border-radius: 18px;
    min-height: 172px;
  }

  .test-medplan-result {
    border-radius: 14px;
    padding: 12px;
  }
}

/* /test v10: Homepage-Wizard ruhiger, keine horizontale Funktionsleiste */
.test-logo-head {
  text-decoration: none;
  color: inherit;
}

.test-logo-head:hover {
  opacity: .92;
}

.test-announcement-strip {
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(200,200,200,.75);
  border-left: 6px solid var(--pzfp-yellow);
  border-radius: 16px;
  padding: 13px 14px;
  box-shadow: 0 12px 28px rgba(32,32,32,.048);
  display: grid;
  grid-gap: 9px;
  gap: 9px;
  animation: testFadeUp .24s ease both;
}

.test-announcement-strip > strong {
  font-size: .92rem;
  text-transform: uppercase;
  letter-spacing: .045em;
}

.test-announcement-strip > div {
  display: grid;
  grid-gap: 8px;
  gap: 8px;
}

.test-announcement-strip article {
  display: grid;
  grid-template-columns: 24px 1fr;
  grid-gap: 8px;
  gap: 8px;
  align-items: start;
}

.test-announcement-strip article > span {
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: #f2f2f2;
  display: inline-grid;
  place-items: center;
  font-weight: 900;
  font-size: .78rem;
}

.test-announcement-strip article.is-important > span {
  background: var(--pzfp-yellow);
}

.test-announcement-strip p {
  margin: 0;
  display: grid;
  grid-gap: 2px;
  gap: 2px;
}

.test-announcement-strip small {
  color: #555;
  line-height: 1.3;
}

.test-section-grid {
  display: grid !important;
  grid-template-columns: 1fr;
  grid-gap: 10px;
  gap: 10px;
  overflow: visible !important;
  padding: 0 !important;
  scroll-snap-type: none !important;
}

.test-section-button {
  width: 100%;
  min-height: 86px;
  padding: 16px 18px;
  border-radius: 16px;
  display: grid;
  grid-gap: 7px;
  gap: 7px;
  align-content: center;
  justify-items: start;
  text-align: left;
  scroll-snap-align: unset;
}

.test-section-button strong {
  font-size: 1.22rem;
  line-height: 1.1;
  letter-spacing: -.01em;
}

.test-section-button span {
  display: block !important;
  color: #4a4a4a;
  font-size: .96rem;
  line-height: 1.28;
}

.test-section-grid-compact {
  display: flex !important;
  flex-wrap: wrap;
  gap: 8px;
}

.test-section-grid-compact .test-section-button {
  width: auto;
  min-width: 92px;
  min-height: 38px;
  padding: 9px 13px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.test-section-grid-compact .test-section-button strong {
  font-size: .98rem;
}

.test-section-grid-compact .test-section-button span {
  display: none !important;
}

.test-department-grid-compact .test-department-button {
  min-height: 46px;
  padding: 8px 10px;
  border-radius: 14px;
  align-content: center;
  text-align: center;
}

.test-department-grid-compact .test-department-button strong {
  font-size: clamp(.78rem, 2.5vw, 1.02rem);
  line-height: 1.05;
}

@media (max-width: 760px) {
  .test-department-grid-compact {
    gap: 6px;
  }

  .test-department-grid-compact .test-department-button {
    min-height: 40px;
    padding: 7px 7px;
  }

  .test-section-grid,
  .test-section-grid-compact {
    margin-inline: 10px;
    gap: 8px;
  }

  .test-section-button {
    min-height: 78px;
    padding: 14px 16px;
  }

  .test-section-button strong {
    font-size: 1.15rem;
  }

  .test-section-grid-compact .test-section-button {
    min-width: 84px;
    min-height: 36px;
    padding: 8px 11px;
  }

  .test-section-grid-compact .test-section-button strong {
    font-size: .94rem;
  }

  .test-announcement-strip {
    margin-inline: 10px;
    border-radius: 12px;
    padding: 11px 12px;
  }
}

.test-draft-notice {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  background: #fff8d8;
  border: 1px solid rgba(190,150,0,.28);
  border-radius: 13px;
  padding: 11px 12px;
}

.test-draft-notice p {
  margin: 0;
}

@media (max-width: 760px) {
  .test-draft-notice {
    display: grid;
  }
}

.coverage-assignment-list {
  display: grid;
  grid-gap: 14px;
  gap: 14px;
}

.coverage-assignment-stack {
  display: grid;
  grid-gap: 12px;
  gap: 12px;
}

.coverage-assignment-overview {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid rgba(92,58,33,.12);
  border-radius: 14px;
  background: rgba(255,255,255,.58);
}

.coverage-assignment-card {
  border: 1px solid var(--border);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.72);
  overflow: hidden;
}

.coverage-assignment-card.is-dragging {
  opacity: .62;
}

.coverage-assignment-summary {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  grid-gap: 12px;
  gap: 12px;
  width: 100%;
  padding: 14px;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  border-radius: 0;
  box-shadow: none;
}

.coverage-assignment-summary small {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-weight: 600;
}

.coverage-assignment-handle {
  cursor: -webkit-grab;
  cursor: grab;
  color: var(--muted);
  font-weight: 900;
  letter-spacing: -2px;
}

.coverage-assignment-chevron {
  font-weight: 900;
}

.coverage-assignment-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  grid-gap: 12px;
  gap: 12px;
  padding: 0 14px 14px;
}

.coverage-assignment-card-actions {
  display: flex;
  align-self: end;
  flex-wrap: wrap;
  gap: 8px;
}

.coverage-assignment-hidden-fields {
  display: none;
}

.coverage-assignment-remove {
  justify-self: start;
}

@media (max-width: 720px) {
  .coverage-assignment-overview {
    display: grid;
  }

  .coverage-assignment-row {
    grid-template-columns: 1fr;
  }

  .coverage-assignment-card-actions {
    display: grid;
  }
}

.coverage-home-notice {
  display: grid;
  grid-gap: 12px;
  gap: 12px;
}

.coverage-home-item {
  border-top: 1px solid rgba(92, 58, 33, .16);
  padding-top: 10px;
}

.coverage-home-item p {
  margin: 4px 0;
}

.coverage-home-item ul {
  margin: 8px 0 0;
  padding-left: 18px;
}

.coverage-status-chip {
  display: inline-flex;
  margin-left: 8px;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: .78rem;
  font-weight: 700;
  vertical-align: middle;
}

.coverage-status-chip.active {
  background: rgba(22, 128, 78, .12);
  color: #16613d;
}

.coverage-status-chip.planned {
  background: rgba(255, 184, 77, .24);
  color: #6f4512;
}

.coverage-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  font-weight: 700;
}

.coverage-test-strip a,
.coverage-home-notice a,
.coverage-public-notice a {
  color: inherit;
  font-weight: 700;
}

/* Vertretung v2: Startseite knapp, Details auf eigener Seite */
.coverage-test-strip {
  border-left-color: var(--pzfp-yellow);
}

.coverage-compact-card {
  display: grid;
  grid-template-columns: 28px 1fr;
  grid-gap: 10px;
  gap: 10px;
  align-items: start;
  color: inherit;
  text-decoration: none;
  padding: 4px 0;
}

.coverage-compact-card > span {
  width: 26px;
  height: 26px;
  border-radius: 999px;
  background: var(--pzfp-yellow);
  display: inline-grid;
  place-items: center;
  font-weight: 900;
  font-size: .85rem;
}

.coverage-compact-card p {
  margin: 0;
  display: grid;
  grid-gap: 2px;
  gap: 2px;
}

.coverage-compact-card b {
  font-size: 1.05rem;
}

.coverage-compact-card small {
  color: #555;
  line-height: 1.28;
}

.coverage-link-line {
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.coverage-detail-logo {
  display: block;
  margin: 0 auto 18px;
  max-width: min(520px, 92vw);
}

.coverage-detail-hero {
  border-left: 6px solid var(--pzfp-yellow);
}

.coverage-detail-period {
  font-size: clamp(1.15rem, 3vw, 1.7rem);
  font-weight: 900;
  margin: 6px 0 0;
}

.coverage-detail-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}

.coverage-representative-list {
  display: grid;
  grid-gap: 16px;
  gap: 16px;
  background: transparent;
  border: 0;
  padding: 0;
  box-shadow: none;
}

.coverage-representative-card {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(240px, .75fr);
  grid-gap: 16px;
  gap: 16px;
  align-items: stretch;
}

.coverage-representative-main {
  display: grid;
  align-content: start;
  grid-gap: 8px;
  gap: 8px;
}

.coverage-representative-main h2 {
  margin: 0;
}

.coverage-contact-lines {
  display: grid;
  grid-gap: 7px;
  gap: 7px;
  margin-top: 8px;
  font-weight: 750;
}

.coverage-contact-lines a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.coverage-map-panel {
  display: grid;
  grid-gap: 10px;
  gap: 10px;
  align-content: start;
}

.coverage-map-panel iframe {
  width: 100%;
  min-height: 220px;
  border: 1px solid rgba(80,80,80,.16);
  border-radius: 16px;
  background: #f4f4f4;
}

.coverage-emergency-card {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px;
  background: #e6f7eb;
  border-color: #cdebd8;
  color: #7a2525;
  font-size: clamp(1.05rem, 3vw, 1.45rem);
}

@media (max-width: 760px) {
  .coverage-representative-card {
    grid-template-columns: 1fr;
  }

  .coverage-map-panel iframe {
    min-height: 190px;
  }
}

.coverage-doctor-list {
  margin: -0.35rem 0 0.75rem;
  padding-left: 1.1rem;
  color: #4f4a45;
  line-height: 1.45;
}

.coverage-doctor-list li + li {
  margin-top: 0.15rem;
}

.announcement-more-link {
  display: inline-flex;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 0.35rem;
  font-weight: 800;
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.test-announcement-strip .announcement-more-link,
.coverage-home-notice .announcement-more-link {
  margin-left: 0.25rem;
}

.coverage-home-notice .coverage-compact-card {
  text-decoration: none;
}

.coverage-home-notice .coverage-compact-card p {
  margin: 0;
}

.coverage-home-notice .coverage-compact-card small {
  display: block;
  margin-top: 0.15rem;
  color: #5f5852;
}

/* Admin Informationen v2: Module ohne Seitenwechsel */
.admin-info-workspace {
  display: grid;
  grid-gap: 1rem;
  gap: 1rem;
}

.admin-info-workspace > input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.admin-info-module-picker {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-gap: .8rem;
  gap: .8rem;
  padding: 1rem;
}

.admin-info-module-picker label {
  display: grid;
  grid-gap: .25rem;
  gap: .25rem;
  min-height: 5.2rem;
  padding: 1rem;
  border: 1px solid rgba(34,34,34,.12);
  border-radius: 1.2rem;
  background: #fffdf7;
  cursor: pointer;
  transition: border-color .15s ease, background .15s ease, transform .15s ease;
}

.admin-info-module-picker label:hover {
  transform: translateY(-1px);
  border-color: rgba(247,198,33,.9);
}

.admin-info-module-picker strong {
  font-size: 1.05rem;
}

.admin-info-module-picker small {
  color: #68645d;
  font-weight: 700;
}

#info-module-announcements:checked ~ .admin-info-module-picker label[for="info-module-announcements"],
#info-module-content:checked ~ .admin-info-module-picker label[for="info-module-content"],
#info-module-faq:checked ~ .admin-info-module-picker label[for="info-module-faq"],
#info-module-contact:checked ~ .admin-info-module-picker label[for="info-module-contact"] {
  background: #f7c621;
  border-color: #e3b300;
}

.admin-info-panel {
  display: none;
}

#info-module-announcements:checked ~ .admin-info-panel-announcements,
#info-module-content:checked ~ .admin-info-panel-content,
#info-module-faq:checked ~ .admin-info-panel-faq,
#info-module-contact:checked ~ .admin-info-panel-contact {
  display: grid;
  grid-gap: 1rem;
  gap: 1rem;
}

.admin-section-head {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
  margin-bottom: 1rem;
}

.admin-section-head h2,
.admin-announcement-lane h3 {
  margin-top: 0;
}

.inline-create-panel {
  border: 1px solid #ece8da;
  border-radius: 1rem;
  background: #fffdf7;
  margin-bottom: 1rem;
  overflow: hidden;
}

.inline-create-panel > summary {
  cursor: pointer;
  padding: 1rem;
}

.inline-create-panel > form {
  padding: 0 1rem 1rem;
}

.admin-announcement-tabs {
  display: grid;
  grid-gap: 1rem;
  gap: 1rem;
}

.admin-announcement-lane {
  border-top: 1px solid #ece8da;
  padding-top: 1rem;
}

.announcement-card-actions {
  padding: 0 1rem 1rem;
}

@media (max-width: 760px) {
  .admin-info-module-picker {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: .8rem;
  }

  .admin-info-module-picker label {
    min-height: 4.5rem;
    padding: .85rem;
  }

  .admin-section-head {
    display: grid;
  }
}

/* Admin Informationen v3: Chip-Navigation statt technischer Tabs/Slider */
.admin-hidden-radio,
.admin-info-workspace > input[type="radio"],
.admin-announcement-tabs > input[type="radio"] {
  display: none !important;
}

.admin-info-module-picker.content {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  padding: .75rem;
  align-items: center;
}

.admin-info-module-picker label {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  min-height: auto;
  padding: .75rem 1rem;
  border-radius: 999px;
  background: #fffdf7;
  border: 1px solid rgba(34,34,34,.14);
  box-shadow: none;
  width: auto;
}

.admin-info-module-picker label strong {
  font-size: .98rem;
  white-space: nowrap;
}

.admin-info-module-picker label small {
  font-size: .78rem;
  opacity: .75;
  white-space: nowrap;
}

.admin-info-module-picker label:hover {
  transform: none;
}

.admin-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin: .75rem 0 1rem;
}

.admin-chip-row label,
.status-chip {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  border-radius: 999px;
  border: 1px solid rgba(34,34,34,.12);
  background: #f3f1ec;
  color: #2a2a2a;
  font-weight: 800;
  padding: .55rem .8rem;
  line-height: 1;
}

.admin-chip-row label {
  cursor: pointer;
}

.admin-chip-row label span {
  display: inline-flex;
  min-width: 1.35rem;
  height: 1.35rem;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(255,255,255,.75);
  font-size: .78rem;
}

#announcement-lane-active:checked ~ .announcement-lane-picker label[for="announcement-lane-active"],
#announcement-lane-planned:checked ~ .announcement-lane-picker label[for="announcement-lane-planned"],
#announcement-lane-archived:checked ~ .announcement-lane-picker label[for="announcement-lane-archived"],
#announcement-lane-template:checked ~ .announcement-lane-picker label[for="announcement-lane-template"] {
  background: #f7c621;
  border-color: #e3b300;
}

.announcement-lane-panel {
  display: none;
}

#announcement-lane-active:checked ~ .announcement-lane-panel-active,
#announcement-lane-planned:checked ~ .announcement-lane-panel-planned,
#announcement-lane-archived:checked ~ .announcement-lane-panel-archived,
#announcement-lane-template:checked ~ .announcement-lane-panel-template {
  display: block;
}

.admin-announcement-lane {
  border-top: 0;
  padding-top: .25rem;
}

.admin-announcement-lane h3 {
  margin-bottom: .75rem;
}

.announcement-edit-summary {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: .85rem;
}

.announcement-list-title {
  min-width: 0;
}

.announcement-list-title strong,
.announcement-list-title small {
  display: block;
}

.announcement-list-badges {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  justify-content: flex-end;
  flex-shrink: 0;
}

.status-chip {
  padding: .4rem .55rem;
  font-size: .78rem;
  color: #4b453d;
}

.announcement-type-closure {
  background: #ffe4df;
  border-color: #f4b5aa;
}

.announcement-type-important {
  background: #fff0b8;
  border-color: #f4ce48;
}

.announcement-type-info {
  background: #eaf2ff;
  border-color: #c6d7f7;
}

@media (min-width: 900px) {
  .admin-info-workspace {
    grid-template-columns: 16rem minmax(0, 1fr);
    align-items: start;
  }

  .admin-info-module-picker.content {
    position: -webkit-sticky;
    position: sticky;
    top: 1rem;
    display: grid;
    grid-template-columns: 1fr;
  }

  .admin-info-panel {
    grid-column: 2;
  }
}

@media (max-width: 760px) {
  .admin-info-module-picker.content {
    display: flex;
    overflow-x: auto;
    flex-wrap: nowrap;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .admin-info-module-picker.content::-webkit-scrollbar {
    display: none;
  }

  .admin-info-module-picker label {
    flex: 0 0 auto;
    padding: .7rem .9rem;
  }

  .admin-info-module-picker label small {
    display: none;
  }

  .announcement-edit-summary {
    display: grid;
  }

  .announcement-list-badges {
    justify-content: flex-start;
  }
}

/* Info-Seite: schlanker Aufbau ohne Box-in-Boxen */
.info-page-slim {
  display: grid;
  grid-gap: 1.35rem;
  gap: 1.35rem;
}

.info-page-slim.info-page {
  gap: 1.35rem;
}

.info-page-slim .info-section {
  border-top: 1px solid rgba(34, 34, 34, 0.1);
  padding-top: 1.15rem;
}

.info-page-slim .info-section:first-child {
  border-top: 0;
  padding-top: 0;
}

.info-page-slim h2 {
  margin: 0 0 0.75rem;
  font-size: clamp(1.35rem, 5vw, 2rem);
  letter-spacing: -0.035em;
}

.info-page-slim .opening-hours-card,
.info-page-slim .info-alert-list {
  border-radius: 0;
  border-left: 0;
  border-right: 0;
  border-bottom: 0;
  background: transparent;
  box-shadow: none;
  padding-left: 0;
  padding-right: 0;
}

.info-doctor-list {
  display: grid;
  grid-gap: 0.65rem;
  gap: 0.65rem;
}

.info-doctor-row {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  min-height: 68px;
  border: 1px solid rgba(34, 34, 34, 0.1);
  border-radius: 18px;
  padding: 0.7rem 0.85rem;
  color: inherit;
  text-decoration: none;
  background: rgba(255, 255, 255, 0.72);
}

.info-doctor-row .doctor-photo {
  width: 52px;
  height: 52px;
}

.doctor-row-text {
  display: grid;
  grid-gap: 0.15rem;
  gap: 0.15rem;
  min-width: 0;
}

.doctor-row-text strong {
  line-height: 1.15;
}

.doctor-row-text small {
  color: var(--muted);
  font-weight: 700;
  line-height: 1.25;
}

.doctor-row-arrow {
  margin-left: auto;
  font-size: 1.8rem;
  line-height: 1;
  color: rgba(34, 34, 34, 0.45);
}

.info-page-slim .info-block {
  border-top: 0;
  padding-top: 0;
}

.info-page-slim .info-block + .info-block {
  border-top: 1px solid rgba(34, 34, 34, 0.08);
  padding-top: 0.85rem;
}

.info-directions-card {
  border: 1px solid rgba(34, 34, 34, 0.12) !important;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.82);
  padding: 1.05rem !important;
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.045);
}

@media (max-width: 700px) {
  .info-page-slim .download-list {
    grid-template-columns: 1fr;
  }

  .info-doctor-row {
    min-height: 62px;
  }
}

/* Design-Patch: Informationsseite flach statt Box-in-Box */
.test-action-panel.test-action-panel-flat {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
  gap: 1rem;
}

.test-action-panel-flat .test-action-heading {
  background: transparent;
  border: 0;
  padding: 0 0 .15rem;
}

.test-action-panel-flat .test-action-heading h2 {
  font-size: clamp(2rem, 7vw, 3.05rem);
  letter-spacing: -.055em;
}

.room-intro.info-page-slim {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
}

.info-page-slim {
  gap: 1.45rem;
}

.info-page-slim .info-section {
  border-top: 1px solid rgba(34, 34, 34, .12);
  padding: 1.25rem 0 0;
}

.info-page-slim .info-section:first-child {
  border-top: 0;
  padding-top: 0;
}

.info-page-slim h2 {
  font-size: clamp(1.28rem, 4.4vw, 1.72rem);
  letter-spacing: -.035em;
  margin-bottom: .65rem;
}

.info-page-slim .opening-hours-card,
.info-page-slim .info-alert-list,
.info-page-slim .info-directions-card {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0;
  box-shadow: none;
  padding: 0 !important;
}

.info-doctor-list {
  gap: 0;
  border-top: 1px solid rgba(34, 34, 34, .08);
}

.info-doctor-row {
  min-height: 64px;
  border: 0;
  border-bottom: 1px solid rgba(34, 34, 34, .08);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: .72rem 0;
}

.info-doctor-row:hover {
  background: rgba(255, 255, 255, .55);
}

.info-doctor-row .doctor-photo {
  width: 48px;
  height: 48px;
}

.info-doctor-row .doctor-photo-placeholder {
  background: rgba(244, 196, 0, .26);
  border: 1px solid rgba(194, 139, 0, .2);
}

.info-page-slim .info-block-list,
.info-page-slim .info-faq-list,
.info-page-slim .download-list {
  gap: 0;
}

.info-page-slim .info-block,
.info-page-slim .info-faq,
.info-page-slim .download-card,
.info-page-slim .info-alert {
  background: transparent;
  border-radius: 0;
  box-shadow: none;
}

.info-page-slim .download-card,
.info-page-slim .info-faq {
  border: 0;
  border-top: 1px solid rgba(34, 34, 34, .08);
  padding: .9rem 0;
}

.info-page-slim .info-alert {
  border-left: 0;
  border-top: 1px solid rgba(34, 34, 34, .08);
  margin: 0;
  padding: .9rem 0 0;
}

.info-page-slim .info-alert.important {
  border-left: 0;
}

.info-page-slim .osm-box {
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(34, 34, 34, .12);
  box-shadow: none;
}

.test-announcement-strip {
  box-shadow: none;
  border-left-width: 4px;
  background: rgba(255, 255, 255, .72);
}

.test-section-button {
  box-shadow: none;
  background: rgba(255, 255, 255, .86);
}

.test-section-button:hover {
  box-shadow: 0 8px 20px rgba(32, 32, 32, .055);
}

/* /test BMP-Rezept: Medikamente zuerst bewusst auswählen */
.test-medplan-selection-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.test-medplan-selection-actions span {
  font-weight: 800;
  color: #555;
}

.test-medplan-select-row {
  grid-template-columns: auto 1fr;
  align-items: start;
  cursor: pointer;
}

.test-medplan-select-row input {
  margin-top: 3px;
  width: 20px;
  height: 20px;
  accent-color: var(--pzfp-yellow-dark);
}

.test-medplan-select-row > span {
  display: grid;
  grid-gap: 3px;
  gap: 3px;
}

/* /test BMP-Rezept UX: Anforderung zuerst, Diagnose eingeklappt */
.test-prescription-medplan-panel {
  display: grid;
  grid-gap: 14px;
  gap: 14px;
  margin-top: 14px;
}

.test-medplan-patient-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  font-weight: 800;
  color: #3a3a3a;
}

.test-medplan-text-preview {
  margin: 0;
  white-space: pre-wrap;
  border: 1px solid rgba(70,70,70,.12);
  border-radius: 12px;
  padding: 10px 12px;
  background: #fafafa;
  font: inherit;
  font-size: .95rem;
}

.test-draft-notice-compact {
  align-items: center;
  padding: 10px 12px;
}

.test-draft-notice-compact p {
  margin: 0;
}

.test-medplan-diagnostics {
  border: 1px dashed rgba(70,70,70,.22);
  border-radius: 12px;
  padding: 8px 10px;
  background: #fffdf4;
}

.test-medplan-diagnostics summary {
  cursor: pointer;
  font-weight: 800;
}

/* Rezept-Wizard v2: Schritt ersetzt Schritt, klare BMP-Optionen und Geburtsdatum */
.test-prescription-medplan-panel-step {
  margin-top: 0;
  display: grid;
  grid-gap: 1rem;
  gap: 1rem;
}
.compact-notice-card {
  margin-bottom: 0.25rem;
}
.test-select-card-full {
  width: 100%;
  text-align: left;
}
.medplan-skip-card {
  border-style: solid;
  background: #fff;
}
.birth-date-input-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-gap: 0.5rem;
  gap: 0.5rem;
  align-items: center;
}
.birth-date-input-row input[type="text"] {
  min-width: 0;
}
.birth-date-picker {
  width: 3rem;
  min-width: 3rem;
  padding: 0;
  color: transparent;
  cursor: pointer;
  background-color: #fff;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1.35rem 1.35rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23252525' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4.5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 2.5v4M8 2.5v4M3 9h18'/%3E%3C/svg%3E");
}
.birth-date-picker::-webkit-datetime-edit {
  display: none;
}
.birth-date-picker::-webkit-calendar-picker-indicator {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  opacity: 0;
  cursor: pointer;
}

/* /test: Online-Anfragen bei Urlaub/Vertretung sperren */
.test-request-lock {
  background: rgba(255, 248, 225, .95);
  border: 1px solid rgba(226, 190, 90, .45);
  border-left: 6px solid var(--pzfp-yellow);
  border-radius: 18px;
  padding: 18px;
  display: grid;
  grid-gap: 10px;
  gap: 10px;
  box-shadow: 0 14px 30px rgba(32, 32, 32, .055);
}

.test-request-lock h3,
.test-request-lock p {
  margin: 0;
}

.test-request-lock h3 {
  font-size: clamp(1.35rem, 5vw, 1.8rem);
  line-height: 1.12;
}

.test-request-lock p {
  color: #454545;
  line-height: 1.45;
}

/* /test: Vertretungskarten in Formularsperre */
.request-lock-representative-list {
  display: grid;
  grid-gap: 12px;
  gap: 12px;
  margin-top: 4px;
}

.request-lock-representative-card {
  background: rgba(255, 255, 255, .86);
  border: 1px solid rgba(80, 80, 80, .12);
  border-radius: 16px;
  padding: 14px;
  box-shadow: 0 10px 22px rgba(32, 32, 32, .045);
}

.request-lock-representative-card h4,
.request-lock-representative-card p {
  margin: 0;
}

.request-lock-representative-card h4 {
  font-size: 1.18rem;
  line-height: 1.15;
}

.request-lock-representative-card > div {
  display: grid;
  grid-gap: 8px;
  gap: 8px;
}

/* Patch 2026-06-29: Ruhiger Vertretungshinweis in der Info-Statusbox. */
.info-representative-link {
  display: inline-flex;
  align-items: center;
  margin: -0.35rem 0 1rem;
  font-weight: 800;
  color: #1f1a12;
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

/* Patch 2026-06-29: Vertreter in Urlaubs-/Vertretungsblöcken mobil ruhiger bearbeiten */
.coverage-assignment-title {
  margin-top: 22px;
  margin-bottom: 8px;
}

.coverage-assignment-card {
  touch-action: manipulation;
}

.coverage-assignment-summary {
  min-height: 64px;
}

.coverage-assignment-summary:hover,
.coverage-assignment-summary:focus-visible {
  background: rgba(255, 199, 38, .12);
}

.coverage-assignment-handle {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: rgba(92, 58, 33, .08);
  touch-action: none;
}

.coverage-assignment-card-actions .secondary,
.coverage-assignment-add {
  min-height: 44px;
}

@media (max-width: 720px) {
  .coverage-assignment-title {
    margin-top: 18px;
  }

  .coverage-assignment-overview {
    gap: 4px;
  }

  .coverage-assignment-card {
    border-radius: 18px;
  }

  .coverage-assignment-summary {
    padding: 14px 12px;
  }

  .coverage-assignment-row {
    padding: 0 12px 14px;
  }
}

/* Urlaubs-/Vertretungsplanung: einheitlicher gelber Plus-Button unten rechts */
.coverage-fab > summary {
  background: var(--pzfp-yellow) !important;
  color: #272727 !important;
  border: 1px solid var(--pzfp-yellow-dark);
  box-shadow: 0 16px 38px rgba(75, 75, 75, 0.28);
}

.coverage-fab-menu {
  width: min(48rem, calc(100vw - 2rem));
  max-height: min(78vh, 42rem);
  overflow: auto;
  align-content: start;
}

.coverage-fab-menu > details > summary {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  background: var(--pzfp-yellow-soft);
  border: 1px solid rgba(215, 169, 0, 0.35);
  color: #272727;
}

.coverage-fab-section {
  display: grid;
  grid-gap: 0.85rem;
  gap: 0.85rem;
  margin-top: 0.75rem;
}

@media (max-width: 760px) {
  .coverage-fab {
    right: 0.85rem;
    bottom: 0.85rem;
  }
  .coverage-fab-menu {
    position: fixed;
    left: 0.65rem;
    right: 0.65rem;
    bottom: 4.75rem;
    width: auto;
    max-height: 76vh;
    border-radius: 1.1rem;
  }
}

/* Urlaubsplanung: PZFP-Floating-Plus */
.coverage-fab {
  right: max(1.4rem, env(safe-area-inset-right, 0rem) + 1.4rem);
  bottom: max(1.4rem, env(safe-area-inset-bottom, 0rem) + 1.4rem);
  z-index: 60;
}

.coverage-fab > summary {
  width: 3.75rem;
  height: 3.75rem;
  border: 1px solid rgba(215, 169, 0, 0.78);
  background: linear-gradient(135deg, var(--pzfp-yellow), #ffd966) !important;
  color: #2f2a12;
  font-size: 2.35rem;
  font-weight: 850;
  line-height: 0.9;
  box-shadow: 0 16px 36px rgba(138, 109, 0, 0.28), 0 4px 10px rgba(15, 23, 42, 0.12);
  transition: transform 0.16s ease, box-shadow 0.16s ease, filter 0.16s ease;
}

.coverage-fab[open] > summary,
.coverage-fab > summary:hover,
.coverage-fab > summary:focus-visible {
  transform: translateY(-2px) scale(1.05);
  box-shadow: 0 20px 44px rgba(138, 109, 0, 0.34), 0 6px 14px rgba(15, 23, 42, 0.14);
  filter: saturate(1.05);
  outline: none;
}

.coverage-fab-menu {
  bottom: 4.9rem;
  border-radius: 1.35rem 1.35rem 1.15rem 1.15rem;
  border-color: rgba(215, 169, 0, 0.35);
  box-shadow: 0 22px 55px rgba(15, 23, 42, 0.24);
}

.coverage-fab-menu > details > summary span {
  background: var(--pzfp-yellow-soft);
}

@media (max-width: 760px) {
  .coverage-fab {
    right: max(1rem, env(safe-area-inset-right, 0rem) + 1rem);
    bottom: max(1rem, env(safe-area-inset-bottom, 0rem) + 1rem);
  }

  .coverage-fab > summary {
    width: 3.6rem;
    height: 3.6rem;
  }

  .coverage-fab-menu {
    right: 0;
    bottom: 4.75rem;
    width: min(22rem, calc(100vw - 2rem));
  }
}

/* Vertretungen UX v2: getrennte Anlage Block/Vertreter + PZFP-FAB */
.coverage-action-shell {
  position: fixed;
  right: max(1.2rem, env(safe-area-inset-right, 0rem) + 1.2rem);
  bottom: max(1.2rem, env(safe-area-inset-bottom, 0rem) + 1.2rem);
  z-index: 80;
  display: grid;
  justify-items: end;
  grid-gap: 0.8rem;
  gap: 0.8rem;
}

.coverage-action-button {
  display: grid;
  place-items: center;
  width: 3.75rem;
  height: 3.75rem;
  min-width: 3.75rem;
  min-height: 3.75rem;
  padding: 0;
  border-radius: 999px;
  border: 1px solid rgba(215, 169, 0, 0.78);
  background: linear-gradient(135deg, var(--pzfp-yellow), #ffd966);
  color: #2f2a12;
  box-shadow: 0 18px 40px rgba(138, 109, 0, 0.30), 0 5px 12px rgba(15, 23, 42, 0.14);
  cursor: pointer;
}

.coverage-action-button span {
  display: block;
  font-size: 3rem;
  font-weight: 850;
  line-height: 0.78;
  transform-origin: 50% 50%;
  transform: translateY(-1px) rotate(0deg);
  transition: transform 0.18s ease;
}

.coverage-action-shell.is-open .coverage-action-button span {
  transform: translateY(-1px) rotate(45deg);
}

.coverage-action-button:hover,
.coverage-action-button:focus-visible {
  box-shadow: 0 22px 48px rgba(138, 109, 0, 0.36), 0 7px 16px rgba(15, 23, 42, 0.16);
  outline: none;
}

.coverage-action-sheet {
  width: min(46rem, calc(100vw - 2rem));
  max-height: min(78vh, 44rem);
  overflow: auto;
  padding: 0.9rem;
  border: 1px solid rgba(215, 169, 0, 0.35);
  border-radius: 1.35rem;
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.24);
  -webkit-backdrop-filter: blur(14px);
          backdrop-filter: blur(14px);
}

.coverage-action-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 0.55rem;
  gap: 0.55rem;
  margin-bottom: 0.85rem;
}

.coverage-action-tabs button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  min-height: 2.85rem;
  border-radius: 0.95rem;
  border: 1px solid rgba(15, 23, 42, 0.10);
  background: #fff;
  color: #2f2a12;
  font-weight: 850;
}

.coverage-action-tabs button.is-active {
  border-color: rgba(215, 169, 0, 0.65);
  background: var(--pzfp-yellow-soft);
}

.coverage-action-panel {
  display: grid;
  grid-gap: 0.9rem;
  gap: 0.9rem;
}

.coverage-action-panel > .stack-form,
.coverage-action-panel .coverage-fab-section > .stack-form,
.coverage-action-panel .coverage-fab-section > .doctor-edit-card {
  margin: 0;
}

.representative-selected-form {
  border-color: rgba(215, 169, 0, 0.42);
  background: linear-gradient(180deg, rgba(255, 248, 214, 0.62), #fff 46%);
}

@media (max-width: 760px) {
  .coverage-action-shell {
    right: max(0.9rem, env(safe-area-inset-right, 0rem) + 0.9rem);
    bottom: max(0.9rem, env(safe-area-inset-bottom, 0rem) + 0.9rem);
  }

  .coverage-action-button {
    width: 3.6rem;
    height: 3.6rem;
    min-width: 3.6rem;
    min-height: 3.6rem;
  }

  .coverage-action-button span {
    font-size: 2.95rem;
  }

  .coverage-action-sheet {
    width: min(25rem, calc(100vw - 1.3rem));
    max-height: 76vh;
    border-radius: 1.15rem;
  }
}

/* Vertretungssuche UX-Fix: kompakte Karten und stabile Mobile-Aktionen */
.representative-search-results .representative-search-card {
  overflow: hidden;
}

.representative-search-results .doctor-edit-summary {
  align-items: flex-start;
}

.representative-search-results .doctor-edit-summary > span:first-child {
  min-width: 0;
}

.representative-search-results .doctor-edit-summary > button {
  flex: 0 0 auto;
  white-space: nowrap;
}

@media (max-width: 760px) {
  .representative-search-results .doctor-edit-summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-gap: 0.85rem;
    gap: 0.85rem;
  }

  .representative-search-results .doctor-edit-summary > button {
    justify-self: start;
    max-width: 100%;
  }
}

/* Urlaubsplanung: Formular-Overlay stärker abdunkeln, damit Fokus klar auf dem Pop-up liegt. */
.coverage-action-shell,
.coverage-fab {
  isolation: isolate;
}

.coverage-action-shell.is-open::before,
.coverage-fab[open]::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  background: rgba(0, 0, 0, 0.42);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}

.coverage-action-sheet,
.coverage-action-button,
.coverage-fab-menu,
.coverage-fab > summary {
  position: relative;
  z-index: 2;
}

.coverage-action-sheet,
.coverage-fab-menu {
  box-shadow: 0 28px 70px rgba(15, 23, 42, 0.34), 0 8px 20px rgba(15, 23, 42, 0.16);
}

.test-network-status {
  margin: 0 0 14px;
  padding: 12px 14px;
  border: 1px solid rgba(122, 74, 0, .22);
  border-radius: 16px;
  background: rgba(255, 244, 214, .92);
  color: #3f3326;
  box-shadow: 0 10px 24px rgba(32, 32, 32, .06);
}

.test-network-status strong {
  font-weight: 800;
}

.test-network-status-offline {
  border-color: rgba(132, 42, 42, .28);
  background: rgba(255, 235, 230, .94);
}


/* Patch 2026-07-05: mobile Formular-/Vertretungsseite stabilisieren */
.app-shell.test-shell .compact-choice-grid {
  grid-template-columns: 1fr !important;
  gap: 12px;
}

.app-shell.test-shell .compact-choice-grid .choice {
  min-height: 68px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 14px;
  padding: 14px 16px;
  line-height: 1.2;
  overflow-wrap: normal;
  word-break: normal;
}

.app-shell.test-shell .compact-choice-grid .choice input[type="radio"] {
  width: 24px !important;
  max-width: 24px !important;
  min-width: 24px !important;
  height: 24px !important;
  flex: 0 0 24px;
  margin: 0;
  accent-color: #ffcb05;
}

.app-shell.test-shell .field input,
.app-shell.test-shell .field textarea,
.app-shell.test-shell .field select {
  font-size: 16px;
}

.app-shell.test-shell .field:focus-within {
  scroll-margin-top: 118px;
  scroll-margin-bottom: 42vh;
}

.app-shell.test-shell .test-form-step:focus-within {
  scroll-margin-top: 96px;
}

.detail-shell {
  overflow-x: hidden;
}

.detail-shell .content,
.detail-shell .info-grid,
.detail-shell .info-card {
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.detail-shell .osm-box {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
}

.detail-shell .osm-box iframe {
  width: 100% !important;
  max-width: 100%;
  min-width: 0;
  display: block;
}

.public-section-nav.coverage-public-nav {
  width: min(100%, 920px);
  margin: 0 auto 14px;
  padding: 0 16px;
  display: flex;
  gap: 10px;
  overflow-x: auto;
  scrollbar-width: thin;
}

.public-section-nav.coverage-public-nav a {
  flex: 0 0 auto;
  border: 1px solid rgba(34,34,34,.12);
  border-radius: 999px;
  padding: 10px 14px;
  background: #fff;
  color: inherit;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 8px 20px rgba(0,0,0,.05);
}

.public-section-nav.coverage-public-nav a:first-child {
  background: #ffcb05;
  border-color: #e4b500;
}

@media (max-width: 760px) {
  .detail-shell .content {
    width: calc(100% - 24px);
    margin-left: 12px;
    margin-right: 12px;
  }

  .detail-shell .info-grid {
    width: 100%;
  }

  .public-section-nav.coverage-public-nav {
    padding: 0 12px;
  }
}


/* Patch 2026-07-05: Android-Tastatur und Bestätigungsnavigation */
.app-shell.test-shell .test-step-scroll-wrap,
.app-shell.test-shell .test-department-scroll-wrap {
  overflow: hidden !important;
}

.app-shell.test-shell .test-step-tabs,
.app-shell.test-shell .test-department-grid {
  overflow-y: hidden !important;
  scroll-behavior: auto;
}

.app-shell.test-shell .test-confirmation-nav {
  display: flex;
  gap: 10px;
  margin: 0 0 16px;
  padding: 0 2px 4px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.app-shell.test-shell .test-confirmation-nav .test-department-button {
  flex: 0 0 auto;
  text-decoration: none;
}

/* Patch 2026-07-06: ruhige öffentliche Info-Seite als Kartenlayout */
.room-intro.info-page-cards {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
}

.info-page-cards {
  display: grid;
  grid-gap: 1rem;
  gap: 1rem;
}

.info-card-grid {
  display: grid;
  grid-gap: 1rem;
  gap: 1rem;
}

.info-card {
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid rgba(34, 34, 34, 0.09);
  border-radius: 22px;
  box-shadow: 0 12px 28px rgba(24, 24, 24, 0.055);
  padding: 1rem;
}

.info-card h2 {
  margin: 0 0 0.75rem;
  font-size: clamp(1.25rem, 4.3vw, 1.75rem);
  letter-spacing: -0.04em;
}

.info-card h3 {
  margin: 0 0 0.35rem;
  font-size: 1rem;
}

.info-card-heading-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.info-card-heading-row h2 {
  margin-bottom: 0.35rem;
}

.info-status-card .opening-status {
  width: auto;
  border-radius: 999px;
  padding: 0.38rem 0.7rem;
  font-size: 0.9rem;
  white-space: nowrap;
}

.info-action-card {
  display: grid;
  grid-gap: 0.2rem;
  gap: 0.2rem;
  margin: 0.75rem 0;
  padding: 0.85rem;
  border: 1px solid rgba(194, 139, 0, 0.22);
  border-radius: 18px;
  background: rgba(244, 196, 0, 0.16);
  color: inherit;
  text-decoration: none;
}

.info-action-card span {
  color: var(--muted);
  font-weight: 750;
}

.calm-details {
  margin-top: 0.85rem;
}

.calm-details summary {
  cursor: pointer;
  font-weight: 850;
}

.info-quick-actions {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  grid-gap: 0.6rem;
  gap: 0.6rem;
  margin-bottom: 0.85rem;
}

.info-quick-action {
  display: grid;
  grid-gap: 0.15rem;
  gap: 0.15rem;
  padding: 0.75rem;
  border: 1px solid rgba(34, 34, 34, 0.09);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.68);
  color: inherit;
  text-decoration: none;
}

.info-quick-action span {
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.info-quick-action strong {
  overflow-wrap: anywhere;
}

.info-contact-list {
  display: grid;
  grid-template-columns: max-content 1fr;
  grid-gap: 0.35rem 0.9rem;
  gap: 0.35rem 0.9rem;
  margin: 0;
}

.info-contact-list dt {
  color: var(--muted);
  font-weight: 850;
}

.info-contact-list dd {
  margin: 0;
  font-weight: 750;
  overflow-wrap: anywhere;
}

.info-page-cards .info-doctor-list {
  border-top: 0;
  gap: 0.65rem;
}

.info-page-cards .info-doctor-row {
  border: 1px solid rgba(34, 34, 34, 0.09);
  border-radius: 18px;
  padding: 0.7rem 0.8rem;
  background: rgba(255, 255, 255, 0.68);
}

.info-page-cards .doctor-row-arrow {
  font-size: 0.86rem;
  font-weight: 900;
  color: #7a5a00;
  background: rgba(244, 196, 0, 0.22);
  border-radius: 999px;
  padding: 0.35rem 0.55rem;
}

.info-page-cards .info-block,
.info-page-cards .info-alert,
.info-page-cards .info-faq,
.info-page-cards .download-card {
  background: transparent;
  box-shadow: none;
}

.info-directions-card .osm-box {
  border-radius: 18px;
  border: 1px solid rgba(34, 34, 34, 0.1);
  overflow: hidden;
  margin: 0.75rem 0;
}

.info-directions-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(185px, 1fr));
  grid-gap: 0.75rem;
  gap: 0.75rem;
  margin-top: 0.75rem;
}

.info-directions-grid > div {
  border: 1px solid rgba(34, 34, 34, 0.08);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.58);
  padding: 0.75rem;
}

.info-directions-grid ul {
  margin: 0;
  padding-left: 1.05rem;
  color: #3f3f3f;
}

.info-map-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-top: 0.85rem;
}

.department-profile-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  grid-gap: 1rem;
  gap: 1rem;
}

.department-profile-card {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 0.8rem;
  gap: 0.8rem;
  border: 1px solid rgba(34, 34, 34, 0.1);
  border-radius: 18px;
  padding: 1rem;
}

.department-profile-card legend {
  padding: 0 0.35rem;
  font-weight: 900;
}

.department-profile-card label,
.department-profile-card .wide {
  min-width: 0;
}

.department-profile-card .wide {
  grid-column: 1 / -1;
}

@media (max-width: 700px) {
  .info-card {
    border-radius: 20px;
    padding: 0.95rem;
  }

  .info-contact-list {
    grid-template-columns: 1fr;
    gap: 0.15rem;
  }

  .info-contact-list dd + dt {
    margin-top: 0.45rem;
  }

  .department-profile-card {
    grid-template-columns: 1fr;
  }
}

/* Admin-Formulare: ruhige Accordions, kein Box-in-Box, Speichern ohne Reload */
.admin-flat-section .admin-collapsible-card,
.admin-form > .admin-collapsible-card {
  background: #fff;
}

.department-profile-list {
  display: grid;
  grid-gap: 8px;
  gap: 8px;
}

.flat-accordion {
  border-bottom: 1px solid #ece6dc;
  padding: 0;
}

.flat-accordion:last-of-type {
  border-bottom: 0;
}

.flat-accordion-summary {
  align-items: center;
  cursor: pointer;
  display: grid;
  grid-gap: 4px;
  gap: 4px;
  grid-template-columns: 1fr;
  list-style: none;
  padding: 14px 0;
}

.flat-accordion-summary::-webkit-details-marker { display: none; }

.flat-accordion-title {
  font-size: 1.05rem;
  font-weight: 850;
}

.flat-accordion-meta {
  color: #69645b;
  font-size: .92rem;
  font-weight: 650;
}

.flat-accordion-body {
  padding: 0 0 18px;
}

.compact-form-grid {
  display: grid;
  grid-gap: 12px;
  gap: 12px;
}

.compact-form-grid label {
  display: grid;
  grid-gap: 6px;
  gap: 6px;
  font-weight: 800;
}

.compact-form-grid input,
.compact-form-grid select {
  width: 100%;
}

.small-note {
  margin-top: 14px;
}

.async-form-footer {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  padding-top: 18px;
}

.async-form-footer .primary[disabled] {
  cursor: wait;
  opacity: .72;
}

.async-form-status {
  border-radius: 999px;
  font-weight: 800;
  padding: 8px 12px;
}

.async-form-status.success {
  background: #e7f6e8;
  color: #2d5f33;
}

.async-form-status.error {
  background: #fdeaea;
  color: #8a2525;
}

@media (min-width: 720px) {
  .flat-accordion-summary {
    grid-template-columns: minmax(180px, 1fr) auto;
  }

  .compact-form-grid {
    grid-template-columns: minmax(120px, 180px) minmax(220px, 1fr) minmax(220px, 1fr) minmax(260px, 1fr);
  }
}

/* Patch 2026-07-06: Stammdaten-Formulare und Info-Seite beruhigen */
.admin-plain-section {
  overflow: hidden;
}

.admin-plain-details {
  margin: 0;
}

.admin-plain-summary {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .85rem;
  padding: .25rem 0 1rem;
  list-style: none;
}

.admin-plain-summary::-webkit-details-marker { display: none; }
.admin-plain-summary::after {
  content: "▾";
  font-weight: 900;
  transform: rotate(-90deg);
  transition: transform .16s ease;
}
.admin-plain-details[open] > .admin-plain-summary::after { transform: rotate(0); }

.admin-plain-summary span {
  display: grid;
  grid-gap: .25rem;
  gap: .25rem;
  min-width: 0;
}

.admin-plain-summary strong {
  font-size: 1.15rem;
  letter-spacing: -0.02em;
}

.admin-plain-summary small {
  color: var(--muted);
  font-weight: 750;
  line-height: 1.25;
}

.admin-plain-body {
  display: grid;
  grid-gap: 1rem;
  gap: 1rem;
  padding: .25rem 0 0;
}

.department-profile-list {
  display: grid;
  grid-gap: 0;
  gap: 0;
}

.department-form-accordion {
  border-top: 1px solid rgba(34, 34, 34, .09);
  margin: 0;
}

.department-form-accordion:last-of-type {
  border-bottom: 1px solid rgba(34, 34, 34, .09);
}

.department-form-summary {
  align-items: center;
  cursor: pointer;
  display: grid;
  grid-gap: .2rem .75rem;
  gap: .2rem .75rem;
  grid-template-columns: minmax(0, 1fr) auto;
  list-style: none;
  padding: .9rem 0;
}

.department-form-summary::-webkit-details-marker { display: none; }
.department-form-summary::after {
  content: "›";
  font-size: 1.3rem;
  font-weight: 900;
  line-height: 1;
  grid-row: 1 / span 2;
  grid-column: 2;
  align-self: center;
  transition: transform .16s ease;
}
.department-form-accordion[open] > .department-form-summary::after { transform: rotate(90deg); }

.department-form-title {
  font-size: 1.05rem;
  font-weight: 900;
  min-width: 0;
}

.department-form-meta {
  color: var(--muted);
  font-size: .92rem;
  font-weight: 750;
  min-width: 0;
}

.department-form-fields {
  display: grid;
  grid-gap: .8rem;
  gap: .8rem;
  padding: 0 0 1rem;
}

.admin-field {
  display: grid;
  grid-gap: .35rem;
  gap: .35rem;
  min-width: 0;
}

.admin-field > span {
  font-weight: 850;
}

.admin-field input,
.admin-field select,
.admin-plain-body input,
.admin-plain-body select,
.admin-plain-body textarea {
  box-sizing: border-box;
  max-width: 100%;
  min-width: 0;
  width: 100%;
}

.admin-plain-body .async-form-footer {
  border-top: 1px solid rgba(34, 34, 34, .08);
  margin-top: .25rem;
  padding-top: 1rem;
}

.admin-plain-body .async-form-footer .primary {
  width: min(100%, 26rem);
}

.info-directions-card {
  overflow: hidden;
}

.info-directions-card .osm-box {
  aspect-ratio: 4 / 3;
  max-width: 100%;
  min-height: 0;
  width: 100%;
}

.info-directions-card .osm-box iframe {
  height: 100% !important;
  min-height: 0 !important;
  max-width: 100%;
  width: 100% !important;
}

.info-directions-list {
  display: grid;
  grid-gap: .65rem;
  gap: .65rem;
  margin-top: .85rem;
}

.info-directions-item {
  border-top: 1px solid rgba(34, 34, 34, .08);
  padding-top: .7rem;
}

.info-directions-item:first-child {
  border-top: 0;
  padding-top: 0;
}

.info-directions-item h3 {
  margin: 0 0 .25rem;
}

.info-directions-item ul {
  margin: 0;
  padding-left: 1.05rem;
  color: #3f3f3f;
}


.info-floor-note {
  align-items: center;
  display: inline-flex;
  gap: .5rem;
  margin: 0 0 .75rem;
  color: #5f5b54;
  font-weight: 750;
}

.info-floor-note span {
  color: #706b63;
  font-weight: 650;
}

.info-floor-note strong {
  border-radius: 999px;
  background: rgba(244, 196, 0, .18);
  padding: .25rem .6rem;
}

.info-status-card .opening-status {
  max-width: 100%;
  white-space: normal;
}

.info-representative-card {
  margin-top: .85rem;
}

.info-representative-card strong {
  font-size: 1.05rem;
}

.info-page-cards .info-doctor-row {
  grid-template-columns: auto minmax(0, 1fr);
}

.direction-link-list {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin-top: .45rem;
}

.direction-link-list a {
  border: 1px solid rgba(34, 34, 34, .1);
  border-radius: 999px;
  color: inherit;
  font-weight: 850;
  padding: .42rem .68rem;
  text-decoration: none;
}

.direction-link-list a:hover,
.direction-link-list a:focus-visible {
  background: rgba(244, 196, 0, .18);
}

@media (max-width: 719px) {
  .admin-form.content,
  .admin-plain-section.content {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .department-form-summary {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .department-form-fields {
    grid-template-columns: 1fr;
  }

  .admin-plain-body .async-form-footer,
  .admin-plain-body .async-form-footer .primary {
    width: 100%;
  }

  .info-card-heading-row .inline-action {
    width: 100%;
    justify-content: center;
  }

  .info-directions-grid {
    display: none;
  }
}

@media (min-width: 720px) {
  .department-form-fields {
    grid-template-columns: minmax(120px, 160px) minmax(180px, 1fr) minmax(180px, 1fr) minmax(220px, 1.2fr);
    align-items: end;
  }
}

/* Patch 2026-07-06: Vertreter-Standorte prüfen und Marker nur bei Bedarf korrigieren */
.admin-inline-details {
  width: 100%;
  border: 0;
  padding: 0.35rem 0 0;
}
.admin-inline-details > summary {
  cursor: pointer;
  font-weight: 700;
  color: var(--text, #24324a);
  padding: 0.35rem 0;
}
.admin-inline-details .form-grid {
  margin-top: 0.65rem;
}
.coverage-location-actions {
  align-items: center;
  justify-content: flex-start;
  gap: 0.55rem;
  flex-wrap: wrap;
}
.coverage-location-actions .muted {
  margin: 0;
}

/* Admin: mobile Debug-Ausgabe für fehlgeschlagene fetch()-Aufrufe */
.admin-fetch-debug-toast {
  position: fixed;
  left: 1rem;
  right: 1rem;
  bottom: 1rem;
  z-index: 10020;
  display: grid;
  grid-gap: 0.7rem;
  gap: 0.7rem;
  max-width: 34rem;
  margin-inline: auto;
  padding: 1rem;
  border: 1px solid rgba(127, 29, 29, 0.18);
  border-radius: 1rem;
  background: rgba(254, 242, 242, 0.98);
  color: #451a1a;
  box-shadow: 0 18px 55px rgba(15, 23, 42, 0.24);
}
.admin-fetch-debug-toast__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.admin-fetch-debug-toast__header strong { font-size: 1rem; }
.admin-fetch-debug-toast__header button {
  border: 0;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  background: rgba(127, 29, 29, 0.1);
  color: #451a1a;
  font-size: 1.4rem;
  line-height: 1;
}
.admin-fetch-debug-toast dl {
  display: grid;
  grid-gap: 0.4rem;
  gap: 0.4rem;
  margin: 0;
}
.admin-fetch-debug-toast dl > div { display: grid; grid-gap: 0.1rem; gap: 0.1rem; }
.admin-fetch-debug-toast dt {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(69, 26, 26, 0.62);
}
.admin-fetch-debug-toast dd {
  margin: 0;
  overflow-wrap: anywhere;
  font-weight: 750;
}
.admin-fetch-debug-toast pre {
  max-height: 8rem;
  overflow: auto;
  margin: 0;
  padding: 0.7rem;
  border-radius: 0.75rem;
  background: rgba(69, 26, 26, 0.08);
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font-size: 0.78rem;
}
.admin-fetch-debug-toast__actions button {
  border: 0;
  border-radius: 999px;
  padding: 0.7rem 1rem;
  background: #7f1d1d;
  color: #fff;
  font-weight: 850;
}
@media (min-width: 760px) {
  .admin-fetch-debug-toast { left: auto; right: 1rem; }
}

/* Patch 2026-07-07: mobile Formulare dürfen nicht rechts herauslaufen */
.app-shell,
.content,
.admin-form,
.staff-card-list,
.doctor-edit-card,
.admin-collapsible-body,
.form-grid {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.admin-form,
.doctor-edit-card,
.admin-collapsible-card,
.admin-plain-section {
  overflow-x: hidden;
}

.form-grid > *,
.field,
.field-wide,
.check-row,
.admin-inline-details,
.coverage-location-actions,
.wizard-actions,
.async-form-footer {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.field input,
.field textarea,
.field select,
.admin-inline-details input,
.admin-inline-details textarea,
.admin-inline-details select {
  box-sizing: border-box;
  display: block;
  max-width: 100%;
  min-width: 0;
  width: 100%;
}

.field input,
.field textarea,
.field select,
.admin-field input,
.admin-field select {
  border: 2px solid #d7d7d7;
  border-radius: 14px;
  background: #fff;
  font: inherit;
  min-height: 50px;
  padding: 13px 14px;
}

.doctor-edit-card .form-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(230px, 100%), 1fr));
}

.doctor-edit-card .admin-collapsible-body,
.doctor-edit-card .stack-form {
  overflow: hidden;
}

.doctor-edit-card .async-form-footer .primary {
  width: min(100%, 26rem);
}

@media (max-width: 719px) {
  .doctor-edit-card .form-grid,
  .admin-collapsible-body .form-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .doctor-edit-card .async-form-footer,
  .doctor-edit-card .async-form-footer .primary,
  .coverage-location-actions .inline-action {
    width: 100%;
  }
}

/* Öffnungszeiten: einheitliche Accordion-/Kartenlogik ohne horizontales Scrollen */
.opening-admin-department-list,
.opening-admin-day-list,
.opening-day-entry-list {
  display: grid;
  grid-gap: 14px;
  gap: 14px;
}

.opening-department-card {
  background: #fffdf7;
}

.opening-department-card[open] .admin-collapsible-summary > span:last-child {
  transform: rotate(90deg);
}

.opening-admin-department-body {
  display: grid;
  grid-gap: 16px;
  gap: 16px;
}

.opening-day-card {
  border: 1px solid #e2dccf;
  border-radius: 18px;
  padding: 16px;
  background: #fffaf0;
}

.opening-day-card h3 {
  margin: 0 0 12px;
}

.opening-time-card {
  border: 1px solid #e2dccf;
  border-radius: 16px;
  padding: 14px;
  margin: 0;
  background: #fffdf8;
  display: grid;
  grid-gap: 10px;
  gap: 10px;
}

.opening-time-card legend {
  padding: 0 6px;
  font-weight: 800;
}

.opening-time-card label {
  display: grid;
  grid-template-columns: minmax(95px, 150px) minmax(0, 1fr);
  grid-gap: 12px;
  gap: 12px;
  align-items: center;
  margin: 0;
}

.opening-time-card label > span {
  font-weight: 800;
  color: #5f594f;
}

.opening-time-card input,
.opening-time-card select {
  width: 100%;
  min-width: 0;
}

.opening-time-card .checkbox-row {
  grid-template-columns: auto 1fr;
  justify-content: start;
}

.opening-time-card .checkbox-row input {
  width: 20px;
  height: 20px;
}

.opening-add-button {
  width: 100%;
  margin-top: 12px;
}

@media (min-width: 860px) {
  .opening-admin-day-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .opening-time-card label {
    grid-template-columns: 1fr;
    gap: 5px;
  }

  .opening-day-card,
  .opening-time-card {
    padding: 12px;
  }
}


/* Admin mobile form safety: no field may widen cards beyond the viewport. */
.admin-form,
.admin-form *,
.admin-collapsible-body,
.admin-collapsible-body *,
.doctor-edit-card,
.doctor-edit-card *,
.coverage-fab-section,
.coverage-fab-section * {
  box-sizing: border-box;
}

.admin-form .form-grid,
.admin-collapsible-body .form-grid,
.coverage-fab-section .form-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(230px, 100%), 1fr));
  min-width: 0;
  max-width: 100%;
}

.admin-form .field,
.admin-collapsible-body .field,
.coverage-fab-section .field {
  min-width: 0;
  max-width: 100%;
}

.admin-form .field input,
.admin-form .field select,
.admin-form .field textarea,
.admin-collapsible-body .field input,
.admin-collapsible-body .field select,
.admin-collapsible-body .field textarea,
.coverage-fab-section .field input,
.coverage-fab-section .field select,
.coverage-fab-section .field textarea {
  width: 100%;
  min-width: 0;
  max-width: 100%;
}

.admin-form input,
.admin-form select,
.admin-form textarea,
.admin-collapsible-body input,
.admin-collapsible-body select,
.admin-collapsible-body textarea,
.coverage-fab-section input,
.coverage-fab-section select,
.coverage-fab-section textarea {
  overflow-wrap: anywhere;
}

@media (max-width: 760px) {
  .admin-form .form-grid,
  .admin-collapsible-body .form-grid,
  .coverage-fab-section .form-grid {
    grid-template-columns: 1fr;
  }

  .admin-inline-details .form-grid {
    grid-template-columns: 1fr;
  }
}

.public-department-nav {
  width: min(100%, 920px);
  margin: 0 auto 18px;
  padding: 0 16px;
  display: flex;
  gap: 10px;
  overflow-x: auto;
  scrollbar-width: thin;
}

.public-department-nav a {
  flex: 0 0 auto;
  border: 1px solid rgba(34,34,34,.12);
  border-radius: 999px;
  padding: 11px 16px;
  background: #fff;
  color: inherit;
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 10px 24px rgba(0,0,0,.055);
  white-space: nowrap;
}

.public-department-nav a.is-active {
  background: var(--pzfp-yellow, #ffcb05);
  border-color: var(--pzfp-yellow-dark, #e4b500);
}

@media (max-width: 760px) {
  .public-department-nav {
    width: 100%;
    margin-bottom: 14px;
    padding: 0 12px 2px;
  }

  .public-department-nav a {
    padding: 10px 13px;
    font-size: .96rem;
  }
}

.admin-dashboard-shell .admin-dashboard-intro {
  margin-bottom: 14px;
}

.admin-today {
  background: #fff8dc;
  border: 1px solid #f1d889;
  border-radius: 20px;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .07);
}

.admin-section-heading h2 {
  margin: 0 0 12px;
}

.admin-today-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  grid-gap: 12px;
  gap: 12px;
}

.admin-today-card {
  display: flex;
  min-height: 92px;
  flex-direction: column;
  justify-content: space-between;
  gap: 10px;
  padding: 16px;
  border-radius: 16px;
  border: 1px solid #e3d19a;
  background: #fff;
  color: #1f2933;
  text-decoration: none;
  box-shadow: 0 8px 22px rgba(0, 0, 0, .06);
}

.admin-today-card span {
  font-size: .88rem;
  font-weight: 800;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.admin-today-card strong {
  font-size: 1.05rem;
}

.admin-today-card.urgent { border-left: 8px solid #d14343; }
.admin-today-card.warning { border-left: 8px solid #d97706; }
.admin-today-card.ok { border-left: 8px solid #14804a; }
.admin-today-card.neutral { border-left: 8px solid #2f6fed; }

.admin-dashboard-groups {
  display: grid;
  grid-gap: 12px;
  gap: 12px;
}

.admin-dashboard-group {
  overflow: hidden;
  border: 1px solid #e1e1e1;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(0, 0, 0, .06);
}

.admin-dashboard-group summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 18px;
  cursor: pointer;
  list-style: none;
}

.admin-dashboard-group summary::-webkit-details-marker {
  display: none;
}

.admin-dashboard-group summary strong {
  display: block;
  font-size: 1.08rem;
}

.admin-dashboard-group summary small {
  display: block;
  margin-top: 4px;
  color: #5d6673;
  line-height: 1.35;
}

.admin-dashboard-group summary em {
  min-width: 32px;
  height: 32px;
  border-radius: 999px;
  background: #f4f0df;
  color: #473f1d;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-style: normal;
  font-weight: 800;
}

.admin-module-list {
  display: grid;
  grid-gap: 10px;
  gap: 10px;
  padding: 0 14px 14px;
}

.admin-module-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px;
  border: 1px solid #ebebeb;
  border-radius: 14px;
  background: #fbfbfb;
  color: inherit;
  text-decoration: none;
}

.admin-module-row strong,
.admin-module-row small {
  display: block;
}

.admin-module-row small {
  margin-top: 3px;
  color: #5d6673;
  line-height: 1.35;
}

.admin-module-row b {
  white-space: nowrap;
  color: #695200;
}

@media (max-width: 640px) {
  .admin-dashboard-shell .content {
    width: min(100% - 20px, 980px);
  }

  .admin-today-grid {
    grid-template-columns: 1fr;
  }

  .admin-dashboard-group summary,
  .admin-module-row {
    align-items: flex-start;
  }

  .admin-module-row {
    flex-direction: column;
  }
}

/* Reise-Logbuch */
.travel-shell .travel-hero { position: relative; overflow: hidden; }
.travel-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-gap: 12px; gap: 12px; margin-top: 18px; }
.travel-kpis div { border: 1px solid #e7dfd0; border-radius: 16px; background: #fffaf0; padding: 14px; display: grid; grid-gap: 4px; gap: 4px; }
.travel-kpis strong { font-size: 1.6rem; }
.travel-kpis span { color: #665f53; font-size: .9rem; }
.travel-layout { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(280px, .9fr); grid-gap: 20px; gap: 20px; align-items: start; }
.travel-main, .travel-sidebar { display: grid; grid-gap: 18px; gap: 18px; }
.travel-sidebar { position: -webkit-sticky; position: sticky; top: 18px; }
.travel-section summary { cursor: pointer; display: flex; justify-content: space-between; gap: 16px; align-items: center; }
.travel-section summary small { display: block; color: #726b60; font-weight: 500; margin-top: 4px; }
.travel-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-gap: 14px; gap: 14px; margin-top: 16px; }
.travel-form-grid .field-wide { grid-column: 1 / -1; }
.travel-gps-box { border: 1px dashed #d7c7a8; border-radius: 16px; background: #fffaf0; padding: 14px; display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
.travel-gps-box span { color: #6d6253; }
.travel-entry-list, .travel-destination-list { display: grid; grid-gap: 14px; gap: 14px; }
.travel-entry { display: grid; grid-template-columns: 180px minmax(0, 1fr); grid-gap: 16px; gap: 16px; border: 1px solid #ece2d2; border-radius: 18px; padding: 12px; background: #fff; }
.travel-entry h3 { margin: 2px 0 8px; }
.travel-photo, .travel-photo-placeholder { width: 100%; height: 135px; border-radius: 14px; object-fit: cover; background: #f2eadc; display: grid; place-items: center; color: #796f61; }
.travel-destination { border: 1px solid #ece2d2; border-radius: 16px; padding: 14px; background: #fff; display: grid; grid-gap: 8px; gap: 8px; }
.travel-destination strong { display: block; }
.travel-destination small { color: #71685c; }
.travel-destination.besucht { background: #f1faef; border-color: #cfe7c9; }
.travel-destination.uebersprungen { background: #f7f7f7; opacity: .72; }
.travel-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 8px; }
.travel-actions a, .travel-actions button { border: 1px solid #d7d7d7; border-radius: 999px; background: #fff; color: #4c4030; padding: 7px 10px; text-decoration: none; font: inherit; cursor: pointer; }
.travel-actions span { color: #71685c; font-size: .9rem; }
@media (max-width: 840px) {
  .travel-layout { grid-template-columns: 1fr; }
  .travel-sidebar { position: static; }
  .travel-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .travel-form-grid { grid-template-columns: 1fr; }
  .travel-entry { grid-template-columns: 1fr; }
  .travel-photo, .travel-photo-placeholder { height: 220px; }
}

.travel-share-box {
  margin: 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(87, 64, 39, 0.16);
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.72);
  display: grid;
  grid-gap: 0.5rem;
  gap: 0.5rem;
}

.travel-share-box p,
.travel-share-box small {
  margin: 0;
  color: var(--muted-text, #6f675e);
}

.travel-form-grid .checkbox-row {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 700;
}

.travel-form-grid .checkbox-row input {
  width: auto;
  min-width: 20px;
}

.travel-route-list {
  margin: 0;
  padding-left: 1.3rem;
  display: grid;
  grid-gap: 8px;
  gap: 8px;
}

.travel-route-list li {
  line-height: 1.45;
}

/* Reise Unterwegs: schnelle Erfassung mit Kamera, Standort und Tags */
.travel-underway-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 12px;
  gap: 12px;
}
.travel-big-action {
  min-height: 104px;
  border: 0;
  border-radius: 24px;
  padding: 18px;
  display: grid;
  place-items: center;
  grid-gap: 6px;
  gap: 6px;
  font-size: 2.4rem;
  cursor: pointer;
  box-shadow: 0 12px 28px rgba(49, 43, 34, .12);
}
.travel-big-action span {
  font-size: 1.05rem;
  font-weight: 800;
}
.travel-big-action.camera { background: #ffd84d; color: #3a2f15; }
.travel-big-action.location { background: #eaf4ff; color: #173d63; border: 1px solid #c9dff5; }
.travel-big-action:disabled { opacity: .6; cursor: progress; }
.travel-chip-panel {
  border: 1px solid #eadfcd;
  border-radius: 20px;
  padding: 14px;
  background: #fffaf3;
  display: grid;
  grid-gap: 12px;
  gap: 12px;
}
.travel-chip-heading {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: baseline;
}
.travel-chip-heading small { color: #776b5d; }
.travel-chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.travel-chip-wrap { position: relative; display: inline-flex; }
.travel-chip {
  border: 1px solid #dccdb6;
  background: #fff;
  border-radius: 999px;
  padding: 9px 12px;
  font: inherit;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  touch-action: manipulation;
}
.travel-chip.favorite { border-color: #d7b24f; background: #fff7dc; }
.travel-chip.active { background: #293241; color: #fff; border-color: #293241; }
.travel-chip-delete {
  position: absolute;
  top: -7px;
  right: -7px;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  border: 1px solid #e2b4a8;
  background: #fff2ef;
  color: #8a2f1e;
  cursor: pointer;
  line-height: 18px;
}
.travel-custom-tag-row { display: flex; gap: 8px; }
.travel-custom-tag-row input { flex: 1 1; min-width: 0; }
.travel-custom-tag-row button {
  border: 1px solid #d6c8b3;
  border-radius: 999px;
  background: #fff;
  padding: 8px 12px;
  cursor: pointer;
}
.travel-tag-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 6px 0 8px;
}
.travel-tag-row span {
  border-radius: 999px;
  background: #fff5dd;
  color: #4d3e22;
  padding: 5px 9px;
  font-size: .86rem;
}
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
@media (max-width: 720px) {
  .travel-underway-actions { grid-template-columns: 1fr; }
  .travel-big-action { min-height: 96px; }
  .travel-chip-heading { display: grid; }
}
.travel-kpis { grid-template-columns: repeat(5, minmax(0, 1fr)); }
@media (max-width: 900px) { .travel-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Reise: mobile-first Feed nach Nutzerwunsch: erst Aktion, dann Chips, dann 3er-Fotogrid */
.travel-instagram-shell .content {
  max-width: 980px;
}
.travel-top-actions {
  padding-top: 18px;
  display: grid;
  grid-gap: 14px;
  gap: 14px;
}
.travel-title-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}
.travel-title-row h1 { margin: 0; }
.travel-title-row a {
  border: 1px solid #e4d8c4;
  border-radius: 999px;
  padding: 8px 12px;
  text-decoration: none;
  color: inherit;
  background: #fff;
}
.travel-quick-form {
  display: grid;
  grid-gap: 12px;
  gap: 12px;
}
.travel-action-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 10px;
  gap: 10px;
}
.travel-primary-action,
.travel-secondary-action {
  min-height: 86px;
  border-radius: 22px;
  border: 1px solid #eadfcd;
  padding: 16px;
  font: inherit;
  font-weight: 850;
  font-size: 1.05rem;
  display: grid;
  place-items: center;
  grid-gap: 4px;
  gap: 4px;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(49, 43, 34, .10);
}
.travel-primary-action { background: #ffd84d; color: #2d240b; border-color: #f0c931; }
.travel-secondary-action { background: #fff; color: #25211a; }
.travel-primary-action:disabled,
.travel-secondary-action:disabled { opacity: .6; cursor: progress; }
.travel-capture-panel {
  display: grid;
  grid-gap: 12px;
  gap: 12px;
}
.travel-capture-title {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
}
.travel-capture-title small { display: block; color: #746959; margin-top: 2px; }
.travel-capture-title button {
  border: 0;
  border-radius: 999px;
  background: #f5efe4;
  padding: 8px 12px;
  font: inherit;
  cursor: pointer;
}
.travel-capture-panel .travel-chip-panel {
  border: 0;
  padding: 0;
  background: transparent;
}
.travel-capture-panel .travel-chip-heading { display: none; }
.travel-note-compact textarea,
.travel-note-compact input { min-height: 42px; }
.travel-photo-feed {
  padding-top: 10px;
  display: grid;
  grid-gap: 10px;
  gap: 10px;
}
.travel-feed-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.travel-feed-heading h2 { margin: 0; }
.travel-feed-heading span {
  border-radius: 999px;
  background: #fff5dc;
  color: #5d4713;
  padding: 6px 10px;
  font-size: .9rem;
}
.travel-photo-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-gap: 3px;
  gap: 3px;
}
.travel-photo-tile,
.travel-gallery-upload-form,
.travel-photo-upload-tile {
  aspect-ratio: 1 / 1;
  min-width: 0;
}
.travel-gallery-upload-form { display: block; }
.travel-photo-upload-tile {
  width: 100%;
  border: 1.5px dashed #d6c7b0;
  background: #fffaf0;
  border-radius: 0;
  display: grid;
  place-items: center;
  align-content: center;
  grid-gap: 5px;
  gap: 5px;
  color: #2b2418;
  cursor: pointer;
}
.travel-photo-upload-tile span { font-size: 2.4rem; line-height: 1; }
.travel-photo-upload-tile strong { font-size: .85rem; text-align: center; }
.travel-gallery-capture-form {
  grid-column: 1 / -1;
  background: #fffaf0;
  border-radius: 18px;
  padding: 12px;
}
.travel-photo-tile {
  position: relative;
  overflow: hidden;
  background: #eee7da;
}
.travel-grid-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.travel-photo-overlay {
  position: absolute;
  inset: auto 0 0 0;
  display: grid;
  grid-gap: 2px;
  gap: 2px;
  padding: 22px 7px 7px;
  color: #fff;
  font-size: .78rem;
  background: linear-gradient(to top, rgba(0,0,0,.58), rgba(0,0,0,0));
  text-shadow: 0 1px 2px rgba(0,0,0,.5);
}
.travel-photo-overlay strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.travel-unassigned-badge {
  position: absolute;
  top: 5px;
  left: 5px;
  right: 5px;
  border-radius: 999px;
  background: rgba(255, 245, 220, .94);
  color: #5d4713;
  padding: 4px 7px;
  font-size: .72rem;
  font-weight: 800;
  text-align: center;
}
.travel-waypoint-strip,
.travel-lower-tools {
  display: grid;
  grid-gap: 14px;
  gap: 14px;
  padding-top: 18px;
}
.travel-waypoint-strip h2 { margin: 0; }
.travel-waypoint-list {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(210px, 1fr);
  grid-gap: 10px;
  gap: 10px;
  overflow-x: auto;
  padding-bottom: 4px;
}
.travel-waypoint-card {
  border: 1px solid #eadfcd;
  border-radius: 18px;
  padding: 12px;
  background: #fff;
  display: grid;
  grid-gap: 6px;
  gap: 6px;
}
.travel-waypoint-card small { color: #766b5f; }
.travel-lower-tools .travel-kpis { margin-top: 12px; }
@media (max-width: 720px) {
  .travel-instagram-shell .content { padding-inline: 16px; }
  .travel-action-row { grid-template-columns: 1fr 1fr; }
  .travel-primary-action,
  .travel-secondary-action { min-height: 78px; padding: 12px 8px; font-size: .98rem; }
  .travel-photo-grid { gap: 2px; margin-inline: -16px; }
  .travel-feed-heading { padding-inline: 0; }
  .travel-gallery-capture-form { margin-inline: 16px; }
}
.travel-clickable-entry {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}
.travel-clickable-entry:focus-visible {
  outline: 3px solid rgba(255, 210, 63, .9);
  outline-offset: 2px;
}
.travel-map-link {
  text-decoration: underline;
}
.travel-edit-box:target {
  outline: 3px solid rgba(255, 210, 63, .7);
  outline-offset: 6px;
}


/* Reise: Mitreisende als kleine App statt reinem Upload-Formular */
.travel-guest-app {
  display: grid;
  grid-gap: 14px;
  gap: 14px;
}
.travel-gallery-action {
  grid-column: 1 / -1;
  min-height: 58px;
}
.travel-invite-actions .travel-invite-primary {
  background: #ffd84d;
  border-color: #f0c931;
  color: #2d240b;
  font-weight: 850;
}
.travel-invite-box {
  border: 1px dashed #d6c7b0;
  border-radius: 16px;
  padding: 10px;
  display: grid;
  grid-gap: 5px;
  gap: 5px;
  background: #fffaf0;
}
.travel-invite-box code {
  white-space: normal;
  word-break: break-all;
  background: rgba(255,255,255,.7);
  border-radius: 10px;
  padding: 7px 9px;
}
@media (max-width: 720px) {
  .travel-gallery-action { grid-column: 1 / -1; }
}

/* Reise: Foto-Popup, Swipe und QR-Einladung */
.travel-photo-tile {
  border: 0;
  padding: 0;
  border-radius: 0;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  color: inherit;
  text-align: left;
}
.travel-photo-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  background: #fff;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  overflow: hidden;
}
.travel-photo-modal-bar,
.travel-photo-modal-topbar {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: max(10px, env(safe-area-inset-top)) 14px 10px;
  border-bottom: 1px solid #eee6d8;
  background: rgba(255,255,255,.96);
}
.travel-photo-modal-bar button,
.travel-photo-modal-topbar button {
  border: 0;
  background: transparent;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}
.travel-photo-modal-image {
  position: relative;
  min-height: 0;
  background: #000;
  display: grid;
  place-items: center;
  touch-action: pan-y;
}
.travel-detail-photo {
  width: 100%;
  height: 100%;
  max-height: 72vh;
  object-fit: contain;
  background: #000;
}
.travel-swipe-button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  width: 42px;
  height: 56px;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,.72);
  color: #1d1a15;
  font-size: 2.4rem;
  line-height: 1;
  cursor: pointer;
}
.travel-swipe-button:disabled { opacity: .25; cursor: default; }
.travel-swipe-button.previous,
.travel-swipe-prev { left: 8px; }
.travel-swipe-button.next,
.travel-swipe-next { right: 8px; }
.travel-photo-modal-body,
.travel-photo-detail-content {
  overflow-y: auto;
  padding: 14px 16px max(20px, env(safe-area-inset-bottom));
  background: #fff;
  display: grid;
  grid-gap: 10px;
  gap: 10px;
}
.travel-photo-detail-content h2,
.travel-photo-detail-content h1 { margin: 0; }
.travel-unassigned-panel {
  border: 1px solid #f1d186;
  border-radius: 16px;
  background: #fff8e6;
  padding: 12px;
  display: grid;
  grid-gap: 8px;
  gap: 8px;
}
.travel-candidate-button {
  width: 100%;
  border: 1px solid #e5d6bd;
  border-radius: 14px;
  background: #fff;
  padding: 10px 12px;
  text-align: left;
  font: inherit;
  cursor: pointer;
}
.travel-candidate-button:disabled { opacity: .6; }
.travel-qr-box img {
  width: 180px;
  height: 180px;
  max-width: 100%;
  border-radius: 12px;
  background: #fff;
  padding: 8px;
  justify-self: start;
}
@media (min-width: 760px) {
  .travel-photo-modal {
    inset: 24px max(24px, calc((100vw - 880px) / 2));
    border-radius: 22px;
    box-shadow: 0 24px 80px rgba(0,0,0,.28);
  }
  .travel-photo-modal::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    background: rgba(0,0,0,.42);
  }
}

/* Reise Stabilisierung: Foto-Detail, Standort-Zuweisung und kompaktes Bearbeiten */
.travel-location-assign-panel {
  border: 1px solid #f1d186;
  border-radius: 16px;
  background: #fff8e6;
  padding: 12px;
  display: grid;
  grid-gap: 8px;
  gap: 8px;
}
.travel-candidate-list { display: grid; grid-gap: 8px; gap: 8px; }
.travel-candidate-button { display: grid; grid-gap: 3px; gap: 3px; }
.travel-candidate-button small { color: #756958; font-size: .85rem; }
.travel-edit-toggle { justify-self: start; }
.travel-edit-sheet {
  border: 1px solid #eadfcd;
  border-radius: 18px;
  background: #fffaf0;
  padding: 12px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 10px;
  gap: 10px;
}
.travel-edit-sheet .field-wide { grid-column: 1 / -1; }
.travel-edit-chip-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 6px; }
.travel-edit-chip-row button {
  border: 1px solid #e1d5c3;
  border-radius: 999px;
  background: #fff;
  padding: 7px 10px;
  font: inherit;
}
.travel-edit-chip-row button.active {
  background: #fff0bd;
  border-color: #f3cd48;
  font-weight: 800;
}
@media (max-width: 720px) {
  .travel-edit-sheet { grid-template-columns: 1fr; }
}


/* Reise Detail Fix: Foto darf Vorschläge nicht überdecken */
.travel-photo-modal {
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  overflow-x: hidden;
}
.travel-photo-modal-bar,
.travel-photo-modal-topbar {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 20;
  flex: 0 0 auto;
}
.travel-photo-modal-image {
  flex: 0 0 auto;
  min-height: 0;
  max-height: 58vh;
  overflow: hidden;
  z-index: 1;
}
.travel-detail-photo {
  width: 100%;
  height: auto;
  max-height: 58vh;
  object-fit: contain;
}
.travel-photo-modal-body,
.travel-photo-detail-content {
  overflow: visible;
  flex: 0 0 auto;
  position: relative;
  z-index: 2;
}
.travel-location-assign-panel {
  scroll-margin-top: 72px;
}
.travel-panel-hint {
  margin: 0;
  color: #756958;
  font-size: .9rem;
}
.travel-candidate-list {
  max-height: none;
  overflow: visible;
}
.travel-swipe-button {
  z-index: 6;
}
@media (max-width: 720px) {
  .travel-photo-modal-image { max-height: 52vh; }
  .travel-detail-photo { max-height: 52vh; }
}

/* Kommunikationscenter: mobile Verdichtung und klare Interaktionen 2026-07-10 */
.communication-dev-tools > summary {
  cursor: pointer;
  font-weight: 900;
  list-style-position: inside;
}
.communication-dev-tools-content {
  display: grid;
  grid-gap: 0.65rem;
  gap: 0.65rem;
  padding-top: 0.75rem;
}
.communication-list-row:active {
  transform: scale(0.992);
  background: rgba(254, 190, 0, 0.16);
}
.communication-empty-message {
  border: 1px solid rgba(180, 83, 9, 0.22);
  border-radius: 16px;
  padding: 0.85rem;
  background: #fffbeb;
}
.communication-empty-message p { margin-bottom: 0; }
.communication-inline-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-top: 1rem;
}
.communication-inline-actions form { flex: 1 1 13rem; }
.communication-inline-actions button { width: 100%; }
.bulk-select-all {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-weight: 800;
}
.bulk-select-all input { width: 1.15rem; height: 1.15rem; }
.text-button {
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--primary);
  font: inherit;
  font-weight: 800;
  text-decoration: underline;
}
.admin-fetch-debug-toast__details summary {
  cursor: pointer;
  font-weight: 800;
  margin: 0.5rem 0;
}
@media (max-width: 720px) {
  .communication-admin-header { padding: 1rem; }
  .view-tabs.compact-tabs,
  .status-filter-tabs {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: thin;
    padding-bottom: 0.25rem;
  }
  .view-tabs.compact-tabs > *,
  .status-filter-tabs > * { flex: 0 0 auto; }
  .communication-filter-form {
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
  }
  .communication-filter-form .choice { min-width: 0; }
  .communication-filter-form button { grid-column: 1 / -1; width: 100%; }
  .communication-bulk-toolbar {
    position: static;
    padding: 0.65rem;
    box-shadow: none;
  }
  .bulk-select-actions { justify-content: space-between; }
  .bulk-status-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
  }
  .bulk-status-actions button { width: 100%; }
  .communication-row-preview { padding: 0.85rem; }
  .communication-side-panel { display: none; }
}
@media (max-width: 720px) {
  .communication-filter-form { grid-template-columns: 1fr; }
}

/* Patch 2026-07-11: zentrale, kompakte Abteilungsnavigation */
.public-department-nav {
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 8px;
  width: calc(100% - 32px);
  margin: 0 auto 16px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.public-department-nav::-webkit-scrollbar {
  display: none;
}

.public-department-nav__item {
  flex: 0 0 auto;
  min-height: 48px;
  padding: 10px 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(35, 35, 35, .16);
  border-radius: 8px;
  background: rgba(255, 255, 255, .9);
  color: #222;
  font-weight: 800;
  font-size: clamp(.82rem, 2.7vw, 1rem);
  line-height: 1.05;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
}

.public-department-nav__item.is-active {
  border-color: var(--pzfp-yellow);
  background: var(--pzfp-yellow);
}

@media (max-width: 480px) {
  .public-department-nav {
    justify-content: flex-start;
    width: calc(100% - 24px);
    gap: 6px;
  }
  .public-department-nav__item {
    min-height: 44px;
    padding: 8px 13px;
    border-radius: 7px;
  }
}

/* Patch 2026-07-11: Abteilungsmenü zentriert und passend zu den Karten gerundet */
.public-department-nav {
  display: block;
  width: calc(100% - 32px);
  margin: 0 auto 16px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.public-department-nav__track {
  display: flex;
  width: max-content;
  min-width: min-content;
  margin-inline: auto;
  gap: 8px;
}

.public-department-nav__item {
  border-radius: 18px;
}

@media (max-width: 480px) {
  .public-department-nav {
    width: calc(100% - 24px);
  }

  .public-department-nav__track {
    gap: 6px;
  }

  .public-department-nav__item {
    border-radius: 18px;
  }
}

/* Korrektur 2026-07-11: Navigation zentriert, weich gerundet ohne Pillenform */
.public-department-nav__track {
  justify-content: center;
}

.public-department-nav__item,
.public-department-nav__item.is-active {
  border-radius: 10px;
}

@media (max-width: 480px) {
  .public-department-nav__item,
  .public-department-nav__item.is-active {
    border-radius: 10px;
  }
}


/* Patch 2026-07-11: Navigation konsistent, Profilkarten und mobiler Wizard */
/* Die spezifischere Altregel `.public-department-nav a` darf keine Pillenform mehr erzwingen. */
.public-department-nav a.public-department-nav__item,
.public-department-nav a.public-department-nav__item.is-active {
  border-radius: 16px;
}

/* Formularschritte mobil vollständig erreichbar, ohne abgeschnittenen ersten/letzten Tab. */
.test-step-scroll-wrap {
  margin-inline: 0 !important;
}

.test-step-scroll-wrap::after {
  width: 18px;
}

.test-step-tabs {
  gap: 6px;
  padding: 0 10px 5px !important;
  scroll-padding-inline: 10px;
}

.test-step-tabs button {
  border-radius: 14px;
}

/* Gespeicherte Person und Löschen bilden eine gemeinsame Karte. */
.local-profile-card {
  position: relative;
}

.local-profile-select {
  padding-right: 78px !important;
}

.local-profile-delete {
  position: absolute;
  right: 14px;
  bottom: 14px;
  margin: 0 !important;
  z-index: 1;
}

.new-person-card {
  border-style: dashed;
}

@media (max-width: 760px) {
  .public-department-nav a.public-department-nav__item,
  .public-department-nav a.public-department-nav__item.is-active {
    border-radius: 16px;
  }

  .test-step-tabs {
    gap: 5px;
    padding-inline: 8px !important;
  }

  .test-step-tabs button {
    min-height: 34px;
    padding: 7px 10px;
    font-size: .84rem;
  }

  .local-profile-select {
    padding-right: 72px !important;
  }

  .local-profile-delete {
    right: 12px;
    bottom: 12px;
  }
}

/* Kommunikationszentrale: Herkunft und Thema von Homepage-Anfragen */
.homepage-request-context {
  display: grid;
  grid-gap: .55rem;
  gap: .55rem;
  margin: 0 0 1rem;
  padding: .9rem 1rem;
  border: 1px solid var(--line, #d9d9d9);
  border-radius: 1rem;
  background: color-mix(in srgb, var(--accent, #f3c51f) 7%, white);
}
.homepage-request-context div {
  display: grid;
  grid-gap: .12rem;
  gap: .12rem;
}
.homepage-request-context span:not(.homepage-topic-chip) {
  color: var(--muted, #666);
  font-size: .82rem;
}
.homepage-request-context strong {
  overflow-wrap: anywhere;
}
.homepage-topic-chip {
  justify-self: start;
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  padding: .3rem .7rem;
  border: 1px solid color-mix(in srgb, var(--accent, #f3c51f) 65%, #9a7b00);
  border-radius: 999px;
  background: color-mix(in srgb, var(--accent, #f3c51f) 22%, white);
  font-weight: 700;
}
.communication-message-block {
  margin-bottom: 1rem;
  padding: 1rem;
  border: 1px solid var(--line, #e3e3e3);
  border-radius: 1rem;
  background: #fff;
}
.communication-message-block h3 {
  margin: 0 0 .65rem;
}
.communication-message-block .communication-preline {
  margin: 0;
}

/* Kommunikationszentrale: kompakte Nachricht, Reaktionschips und Verlauf */
.communication-message-block {
  padding: .8rem 1rem;
}
.communication-message-block h3 {
  margin-bottom: .35rem;
  font-size: 1rem;
}
.communication-message-block .communication-preline {
  min-height: 0 !important;
  white-space: pre-wrap;
}
.communication-reaction-area {
  margin: 1rem 0;
}
.communication-reaction-chips {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
}
.action-chip {
  width: auto;
  min-height: 2.35rem;
  padding: .45rem .8rem;
  border: 1px solid color-mix(in srgb, var(--accent, #f3c51f) 60%, #8d7600);
  border-radius: 999px;
  background: #fff;
  font-weight: 750;
}
.action-chip.active {
  background: color-mix(in srgb, var(--accent, #f3c51f) 24%, white);
}
.communication-reaction-panel {
  margin-top: .75rem;
  padding: .85rem;
  border: 1px solid var(--line, #ddd);
  border-radius: 1rem;
  background: color-mix(in srgb, var(--surface, #fff) 92%, #f4f4f4);
}
.callback-contact-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .6rem;
  margin-bottom: .8rem;
}
.callback-contact-row > div {
  display: grid;
  margin-right: auto;
}
.callback-contact-row span {
  color: var(--muted, #666);
  font-size: .8rem;
}
.compact-activity-form textarea {
  min-height: 5.5rem;
}
.communication-done-check {
  display: flex;
  align-items: flex-start;
  gap: .55rem;
  font-weight: 650;
}
.communication-history {
  margin: 1rem 0;
}
.communication-history > h3 {
  margin: 0 0 .65rem;
}
.communication-history-entry {
  padding: .8rem 0;
  border-top: 1px solid var(--line, #ddd);
}
.communication-history-entry > div {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}
.communication-history-entry time,
.communication-history-entry small {
  color: var(--muted, #666);
  font-size: .8rem;
}
.communication-history-entry p {
  margin: .45rem 0;
}
.communication-reaction-panel .communication-inline-reply,
.communication-reaction-panel .communication-bridge-inline {
  margin: 0;
  padding: 0;
  border: 0;
  box-shadow: none;
  background: transparent;
}
@media (max-width: 760px) {
  .communication-reaction-chips {
    gap: .4rem;
  }
  .action-chip {
    font-size: .9rem;
  }
  .callback-contact-row > div {
    width: 100%;
  }
  .communication-history-entry > div {
    display: grid;
    grid-gap: .15rem;
    gap: .15rem;
  }
}

.communication-personal-tools {
  display: flex;
  align-items: center;
  gap: .65rem;
  flex-wrap: wrap;
  margin-top: .65rem;
}
.assigned-task-notifications {
  display: flex;
  align-items: center;
  gap: .5rem;
  flex-wrap: wrap;
}
.assigned-task-notifications small { color: var(--muted, #666); }
.notification-state { font-weight: 700; font-size: .92rem; }
@media (max-width: 720px) {
  .communication-personal-tools,
  .assigned-task-notifications { align-items: stretch; width: 100%; }
  .communication-personal-tools > a,
  .assigned-task-notifications > button { width: 100%; text-align: center; }
}

/* Kommunikationszentrale: durchgängiger Aufgaben-Workflow */
.communication-assignment-bar {
  display: grid;
  grid-template-columns: minmax(12rem, 1fr) minmax(14rem, 1.4fr) auto;
  grid-gap: .65rem;
  gap: .65rem;
  align-items: end;
  padding: .8rem 0;
  border-top: 1px solid var(--border, #ddd);
  border-bottom: 1px solid var(--border, #ddd);
}
.communication-assignment-bar label {
  display: grid;
  grid-gap: .3rem;
  gap: .3rem;
  font-weight: 700;
}
.communication-assignment-bar select,
.communication-assignment-bar input,
.communication-final-step input {
  width: 100%;
  min-width: 0;
}
.communication-final-step {
  display: grid;
  grid-gap: .75rem;
  gap: .75rem;
  margin-top: .9rem;
  padding-top: .9rem;
  border-top: 1px solid var(--border, #ddd);
}
.communication-final-step p {
  margin: .25rem 0 0;
  color: var(--muted, #666);
}
.communication-final-step form {
  display: grid;
  grid-template-columns: minmax(12rem, 1fr) auto;
  grid-gap: .65rem;
  gap: .65rem;
}
.communication-archive-action {
  margin-top: .65rem;
}
@media (max-width: 700px) {
  .communication-assignment-bar,
  .communication-final-step form {
    grid-template-columns: 1fr;
  }
  .communication-assignment-bar button,
  .communication-final-step button,
  .communication-archive-action button {
    width: 100%;
  }
}

/* Kommunikationszentrale: zentrale Formularfelder, flaches mobiles Layout */
.communication-assignment-bar .field,
.communication-final-step .field {
  margin: 0;
  min-width: 0;
}
.communication-assignment-bar .field input,
.communication-assignment-bar .field select,
.communication-final-step .field input {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
@media (max-width: 700px) {
  .communication-row-wrap:has(.communication-list-row.active),
  .communication-row-wrap,
  .communication-side-panel,
  .communication-row-preview {
    border-radius: 10px;
  }
  .communication-row-wrap:has(.communication-list-row.active) {
    padding: 0;
    border: 0;
    box-shadow: none;
    background: transparent;
  }
  .communication-row-preview {
    padding: .7rem .15rem;
    border: 0;
    box-shadow: none;
    background: transparent;
  }
  .homepage-request-context,
  .communication-message-block,
  .communication-reaction-panel,
  .communication-history-entry {
    border-radius: 9px;
  }
  .communication-assignment-bar {
    padding-inline: 0;
  }
}

/* Kommunikationszentrale: alle Aktionen kompakt in einer Leiste */
.communication-inline-action-form {
  display: grid;
  grid-gap: .7rem;
  gap: .7rem;
  margin: 0;
}
.communication-inline-action-form .field {
  margin: 0;
  min-width: 0;
}
.communication-inline-action-form input,
.communication-inline-action-form select,
.communication-inline-action-form textarea {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
.communication-inline-action-form button {
  width: 100%;
}
@media (max-width: 700px) {
  .communication-reaction-panel {
    padding: .65rem 0 0;
    border: 0;
    border-radius: 0;
    background: transparent;
  }
  .communication-reaction-chips {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .action-chip {
    width: 100%;
    padding-inline: .55rem;
    white-space: nowrap;
  }
  .communication-inline-action-form .field-label-text {
    display: block;
    margin-bottom: .25rem;
  }
}

/* Kommunikationscenter: Filter auf kleinen und großen Ansichten standardmäßig kompakt */
.communication-filters-panel {
  margin-top: .75rem;
  border: 1px solid var(--line, #d9d9d9);
  border-radius: 1rem;
  background: rgba(255, 255, 255, .58);
  overflow: hidden;
}
.communication-filters-panel > summary {
  cursor: pointer;
  padding: .85rem 1rem;
  font-weight: 750;
  list-style-position: inside;
}
.communication-filters-panel[open] > summary {
  border-bottom: 1px solid var(--line, #d9d9d9);
}
.communication-filters-content {
  display: grid;
  grid-gap: .75rem;
  gap: .75rem;
  padding: .85rem;
}
.communication-filters-content .communication-filter-form,
.communication-filters-content .status-filter-tabs {
  margin: 0;
}

/* Kommunikationscenter: kompakter, flüssiger Aufgaben-Workflow */
.communication-inline-fieldset {
  border: 0;
  padding: 0;
  margin: 0;
  min-width: 0;
  display: contents;
}
.communication-doctor-response-form {
  gap: .75rem;
}
.communication-doctor-response-form .primary {
  margin-top: .15rem;
  width: -moz-fit-content;
  width: fit-content;
}
.request-floor-head {
  align-items: center;
}
.request-floor-head > div {
  width: 100%;
}
.communication-filters-content .view-tabs {
  margin: 0 0 .75rem;
}

/* Kommunikationscenter: mobile Kartenbreite stabilisieren 2026-07-13 */
@media (max-width: 700px) {
  .communication-list,
  .communication-row-wrap,
  .communication-list-row {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  .communication-list-row {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    overflow: hidden;
    padding: .78rem .85rem;
  }

  .communication-row-main {
    width: 100%;
    min-width: 0;
    padding-right: 0;
  }

  .communication-row-side {
    grid-column: 1;
    width: 100%;
    min-width: 0;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .35rem .6rem;
    text-align: left;
  }

  .communication-row-side time {
    min-width: 0;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .communication-row-side .status-pill {
    flex: 0 0 auto;
    max-width: 100%;
    white-space: normal;
    text-align: center;
  }
}

/* Live-Verbindungstest */
.admin-live-test-grid {
  display: grid;
  grid-gap: 1rem;
  gap: 1rem;
}

.admin-live-test-card {
  border: 1px solid var(--line, #d9d9d9);
  border-radius: 1rem;
  background: var(--surface, #fff);
  padding: 1.25rem;
}

.admin-live-test-card h2 {
  margin-top: 0;
}

.admin-live-test-result {
  margin-top: 1rem;
}

.admin-live-test-card .field {
  display: grid;
  grid-gap: .4rem;
  gap: .4rem;
  margin: 1rem 0;
}

.admin-live-test-card .field input {
  width: 100%;
  min-width: 0;
}

@media (min-width: 900px) {
  .admin-live-test-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Zentraler Live-Status für Kommunikation, Bridge und System */
.live-system-status { position: fixed; right: 1rem; bottom: 1rem; z-index: 80; width: min(34rem, calc(100vw - 2rem)); padding: .85rem; border: 1px solid var(--line, #d8d8d8); border-radius: 1rem; background: color-mix(in srgb, var(--surface, #fff) 96%, transparent); box-shadow: 0 .7rem 2rem rgba(0,0,0,.14); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.live-system-status-head { display:flex; align-items:center; justify-content:space-between; gap:.75rem; margin-bottom:.65rem; }
.live-connection-dot { display:inline-flex; align-items:center; gap:.35rem; font-size:.78rem; color:var(--muted, #666); }
.live-connection-dot::before { content:""; width:.55rem; height:.55rem; border-radius:50%; background:#a6a6a6; }
.live-connection-dot.connected::before { background:#2f9e44; }
.live-connection-dot.connecting::before { background:#e0a800; }
.live-connection-dot.offline::before { background:#c92a2a; }
.live-system-status-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); grid-gap:.45rem; gap:.45rem; }
.live-system-status-grid a { min-width:0; display:flex; flex-direction:column; gap:.12rem; padding:.55rem; border-radius:.7rem; background:var(--surface-soft, #f5f5f5); text-decoration:none; color:inherit; }
.live-system-status-grid span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.72rem; color:var(--muted, #666); }
.live-system-status-grid strong { font-size:1.05rem; }
.live-system-status-grid a.warning { background:#fff3bf; }
.live-system-status-grid a.urgent { background:#ffe3e3; }
.live-system-status-grid a.ok { background:#d3f9d8; }
.live-system-event { display:block; margin-top:.55rem; padding-top:.55rem; border-top:1px solid var(--line, #ddd); }
.live-system-event.error { color:#c92a2a; }
.live-system-event.warning { color:#8f5b00; }
@media (max-width: 760px) {
  .live-system-status { left:.6rem; right:.6rem; bottom:.6rem; width:auto; padding:.65rem; }
  .live-system-status-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .live-system-status-grid a { padding:.45rem; }
}

/* Patientenstatus */
.status-page { padding-bottom: 5rem; }
.status-login-card, .status-content-card { margin-top: 1.75rem; }
.status-birthdate-row { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 4.5rem; grid-gap: .65rem; gap: .65rem; }
.status-birthdate-row > input:first-child { width: 100%; }
.status-picker-button { min-height: 3.5rem; border: 2px solid var(--line, #d6d6d6); border-radius: 1rem; background: #fff; font-size: 1.45rem; cursor: pointer; }
.status-native-date { position: absolute; right: 0; bottom: 0; width: 1px !important; height: 1px; opacity: 0; pointer-events: none; }
.status-access-hint { margin-top: 1rem; font-size: .92rem; }
.status-highlight { display: grid; grid-gap: .4rem; gap: .4rem; padding: 1.25rem; margin-bottom: 1.4rem; border: 2px solid #ddb213; border-radius: 1.15rem; background: #fff8d9; }
.status-highlight > span { font-size: .82rem; letter-spacing: .12em; text-transform: uppercase; }
.status-highlight > strong { font-size: clamp(1.45rem, 5vw, 2rem); line-height: 1.15; }
.status-highlight > small { color: #555; line-height: 1.5; }
.status-progress { display: grid; grid-gap: .8rem; gap: .8rem; list-style: none; padding: 0; margin: 0 0 2rem; }
.status-progress li { display: grid; grid-template-columns: 2.25rem 1fr; align-items: center; grid-gap: .75rem; gap: .75rem; color: #777; }
.status-progress li > span { display: grid; place-items: center; width: 2.25rem; height: 2.25rem; border: 2px solid #d2d2d2; border-radius: 50%; font-weight: 800; }
.status-progress li.done { color: #2d6d3d; }
.status-progress li.done > span { border-color: #2d6d3d; background: #e3f5e7; }
.status-progress li.current { color: #222; }
.status-progress li.current > span { border-color: #d4aa00; background: #f7c934; }
.status-section { margin-top: 2.2rem; padding-top: 1.6rem; border-top: 1px solid #dedede; }
.status-section h2 { margin: 0 0 1rem; }
.status-section p { margin: .75rem 0; line-height: 1.55; }
.appointment-proposal-card { padding: 1.3rem; border: 2px solid #d4aa00; border-radius: 1rem; background: #fffdf4; }
.appointment-time { font-size: 1.12rem; }
@media (max-width: 520px) {
  .status-content-card { padding: 1.2rem; }
  .status-section { margin-top: 1.75rem; padding-top: 1.3rem; }
}

/* Patientenstatus: flacher Aufbau und klare Abstände */
.status-login-card .primary { margin-top: 1.35rem; width: 100%; }
.status-current { display:grid; grid-gap:.35rem; gap:.35rem; margin:2rem 0 1.5rem; padding:0 0 1.25rem; border-bottom:2px solid #e1c23a; }
.status-current > span { font-size:.82rem; letter-spacing:.12em; text-transform:uppercase; color:#666; }
.status-current > strong { font-size:clamp(1.55rem,5vw,2.15rem); line-height:1.15; }
.status-current > small { color:#555; line-height:1.5; }
.status-content-card { background:transparent; border:0; box-shadow:none; padding:0; }
.callback-status strong { font-size:1.08rem; }
.callback-presets { display:flex; flex-wrap:wrap; gap:.5rem; margin:.25rem 0 1rem; }

/* Kommunikationszentrale: lange Mailtexte und Links dürfen mobil nie aus der Karte laufen. */
.communication-history,
.communication-history-entry,
.communication-history-entry > div,
.communication-history-entry p,
.communication-history-entry a,
.communication-preline {
  min-width: 0;
  max-width: 100%;
}
.communication-history-entry p,
.communication-history-entry a,
.communication-preline {
  overflow-wrap: anywhere;
  word-break: break-word;
  white-space: pre-wrap;
}
.communication-history-entry a {
  display: inline;
}

/* Kommunikationscenter: E-Mail-Karten und geöffnete Inhalte mobil strikt begrenzen. */
.communication-row-wrap,
.communication-list-row,
.communication-row-main,
.communication-row-preview,
.communication-row-preview > *,
.communication-message-block,
.communication-message-block > *,
.communication-history,
.communication-history-entry,
.communication-history-entry > *,
.attachment-chip-row,
.attachment-chip-row > *,
.communication-reaction-area,
.communication-reaction-panel,
.communication-inline-actions,
.communication-inline-actions > *,
.communication-quick-meta,
.communication-quick-meta > * {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.communication-row-title,
.communication-row-meta,
.communication-row-subject {
  display: block;
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.communication-row-subject {
  color: var(--muted, #666);
  font-size: .92rem;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.communication-list-row.active .communication-row-subject {
  -webkit-line-clamp: unset;
}

.communication-message-block img,
.communication-history-entry img,
.communication-message-block table,
.communication-history-entry table,
.communication-message-block iframe,
.communication-history-entry iframe {
  max-width: 100% !important;
  height: auto !important;
}

.attachment-chip-row a,
.attachment-chip-row button {
  flex: 1 1 16rem;
  width: auto;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
  text-align: left;
}

@media (max-width: 700px) {
  .communication-row-preview {
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
  }

  .communication-row-preview p,
  .communication-row-preview a,
  .communication-row-preview strong,
  .communication-row-preview small,
  .communication-row-preview span,
  .communication-row-preview pre,
  .communication-row-preview code {
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .attachment-chip-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .attachment-chip-row a,
  .attachment-chip-row button {
    width: 100%;
    min-width: 0;
  }

  .communication-reaction-chips,
  .communication-inline-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    overflow: hidden;
  }

  .communication-reaction-chips > *,
  .communication-inline-actions > * {
    min-width: 0;
    max-width: 100%;
  }
}

/* Live-Status dauerhaft manuell einklappbar; Zustand wird im Browser gespeichert. */
.live-system-status-head {
  width: 100%;
  border: 0;
  padding: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
  text-align: left;
}
.live-system-status-toggle { flex: 0 0 auto; color: var(--muted, #666); font-size: .72rem; }
.live-system-status-content { min-width: 0; }
.live-system-status.is-collapsed { width: min(22rem, calc(100vw - 2rem)); padding: .7rem .85rem; }
.live-system-status.is-collapsed .live-system-status-head { margin-bottom: 0; }
.live-system-status.is-collapsed .live-system-status-content { display: none; }
@media (max-width: 760px) {
  .live-system-status.is-collapsed { left: auto; right: .6rem; width: min(18rem, calc(100vw - 1.2rem)); }
}

.doctor-profile-download-list {
  display: grid;
  grid-gap: 0.75rem;
  gap: 0.75rem;
}

.doctor-profile-download {
  display: grid;
  grid-gap: 0.2rem;
  gap: 0.2rem;
  padding: 1rem;
  border: 1px solid var(--border, #d8d8d8);
  border-radius: 1rem;
  color: inherit;
  text-decoration: none;
  overflow-wrap: anywhere;
}

.doctor-profile-download:hover,
.doctor-profile-download:focus-visible {
  border-color: currentColor;
}

.doctor-profile-download span {
  color: var(--muted, #666);
}


.info-doctor-profile {
  border: 1px solid rgba(34,34,34,.1);
  border-radius: 18px;
  overflow: hidden;
  background: rgba(255,255,255,.72);
}
.info-doctor-profile + .info-doctor-profile { margin-top: .75rem; }
.info-doctor-profile > summary { list-style: none; cursor: pointer; }
.info-doctor-profile > summary::-webkit-details-marker { display: none; }
.info-doctor-toggle { margin-left: auto; font-size: .86rem; font-weight: 800; color: #6f5a00; }
.info-doctor-details { padding: 0 1rem 1rem; display: grid; grid-gap: 1rem; gap: 1rem; }
.info-doctor-details section { border-top: 1px solid rgba(34,34,34,.1); padding-top: .9rem; }
.info-doctor-details h3 { margin: 0 0 .45rem; }
.info-doctor-details p { white-space: pre-line; }
.info-doctor-details ul { margin: .35rem 0 0; padding-left: 1.25rem; }
@media (max-width: 640px) {
  .info-doctor-toggle { font-size: .78rem; }
  .info-doctor-details { padding-inline: .85rem; }
}

/* Arztteam: komplette Zeile als Accordion, ohne separate Profilseite */
.info-doctor-profile {
  overflow: hidden;
  border: 1px solid rgba(34, 34, 34, 0.1);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.68);
}

.info-doctor-profile + .info-doctor-profile {
  margin-top: 0.75rem;
}

.info-doctor-profile .info-doctor-row {
  width: 100%;
  border: 0;
  border-radius: 0;
  background: transparent;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.info-doctor-profile.is-open .info-doctor-row {
  border-bottom: 1px solid rgba(34, 34, 34, 0.1);
}

.info-doctor-chevron {
  margin-left: auto;
  font-size: 1.3rem;
  line-height: 1;
  transition: transform 0.18s ease;
}

.info-doctor-profile.is-open .info-doctor-chevron {
  transform: rotate(180deg);
}

.info-doctor-details {
  padding: 1rem;
  display: grid;
  grid-gap: 1rem;
  gap: 1rem;
}

.info-doctor-hero {
  width: 100%;
  max-height: 420px;
  overflow: hidden;
  border-radius: 14px;
  background: rgba(34, 34, 34, 0.05);
}

.info-doctor-hero img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 420px;
  object-fit: cover;
  object-position: center top;
}

.info-doctor-hero-placeholder {
  display: grid;
  min-height: 220px;
  place-items: center;
  font-size: 3rem;
  font-weight: 850;
}

.info-doctor-details section {
  border-top: 1px solid rgba(34, 34, 34, 0.1);
  padding-top: 0.9rem;
}

.info-doctor-details section:first-of-type {
  border-top: 0;
  padding-top: 0;
}

.info-doctor-details h3 {
  margin: 0 0 0.45rem;
}

.info-doctor-details p {
  white-space: pre-line;
}

.info-doctor-details ul {
  margin: 0.35rem 0 0;
  padding-left: 1.25rem;
}

@media (max-width: 700px) {
  .info-doctor-details {
    padding: 0.85rem;
  }

  .info-doctor-hero,
  .info-doctor-hero img {
    max-height: 360px;
  }
}

/* Informationsseite: bevorzugter Online-Kontakt und ruhiges Arzt-Accordion */
.info-quick-action-preferred {
  grid-column: 1 / -1;
  border-color: rgba(111, 90, 0, 0.34) !important;
  background: rgba(244, 196, 0, 0.2) !important;
}

.info-quick-action-preferred span {
  color: #6f5a00;
  font-weight: 800;
}

.info-quick-action-preferred strong {
  font-size: 1.05rem;
}

.info-doctor-profile .info-doctor-row {
  grid-template-columns: auto minmax(0, 1fr) !important;
}


/* Informationsseite: Öffnungszeiten im Kartenstil des Kontaktbereichs */
.opening-summary-cards {
  display: grid;
  grid-gap: 0.6rem;
  gap: 0.6rem;
  margin-bottom: 0.85rem;
}

.opening-summary-card {
  min-width: 0;
}

.opening-summary-card-primary {
  border-color: rgba(111, 90, 0, 0.34);
  background: rgba(244, 196, 0, 0.2);
}

.opening-summary-card-primary span {
  color: #6f5a00;
}

.opening-summary-card strong {
  font-size: 1.05rem;
  line-height: 1.3;
}

.opening-hours-details.calm-details {
  margin-top: 0.1rem;
}

.opening-hours-details.calm-details summary {
  display: block;
  padding: 0.72rem 0.1rem 0.2rem;
  list-style: none;
}

.opening-hours-details.calm-details summary::-webkit-details-marker {
  display: none;
}

.opening-hours-details.calm-details summary::marker {
  content: "";
}

/* Psychopathologischer Befundgenerator */
.ppb-page-shell { max-width: 1500px; }
.ppb-intro { padding-bottom: 1rem; }
.ppb-content { padding-top: 0; }
.ppb-generator { display: grid; grid-gap: 1rem; gap: 1rem; }
.ppb-toolbar,
.ppb-template-section,
.ppb-section,
.ppb-additional,
.ppb-output { background: var(--surface, #fff); border: 1px solid rgba(28, 43, 50, .12); border-radius: 10px; }
.ppb-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 1rem; padding: 1rem; }
.ppb-toolbar-label { display: block; margin-bottom: .45rem; font-size: .82rem; font-weight: 700; color: var(--muted, #5f6d72); }
.ppb-segmented { display: inline-flex; padding: .2rem; border-radius: 8px; background: rgba(31, 55, 63, .07); }
.ppb-segmented button { border: 0; background: transparent; border-radius: 6px; padding: .62rem .9rem; font: inherit; font-weight: 700; cursor: pointer; color: inherit; }
.ppb-segmented button.active { background: #fff; box-shadow: 0 1px 5px rgba(20, 40, 46, .13); }
.ppb-progress { min-width: 190px; text-align: right; font-size: .82rem; color: var(--muted, #5f6d72); }
.ppb-progress > div { height: 6px; margin-top: .45rem; overflow: hidden; background: rgba(31, 55, 63, .1); border-radius: 999px; }
.ppb-progress i { display: block; height: 100%; background: currentColor; border-radius: inherit; transition: width .2s ease; }
.ppb-template-section { padding: 1rem; }
.ppb-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: .85rem; }
.ppb-section-heading h2 { margin: .05rem 0 0; }
.ppb-section-heading > p { max-width: 560px; margin: 0; color: var(--muted, #5f6d72); font-size: .9rem; }
.ppb-template-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(205px, 1fr)); grid-gap: .55rem; gap: .55rem; }
.ppb-template-grid button { min-height: 88px; padding: .75rem; text-align: left; border: 1px solid rgba(28, 43, 50, .14); border-radius: 8px; background: rgba(255, 255, 255, .75); cursor: pointer; color: inherit; }
.ppb-template-grid button:hover,
.ppb-template-grid button.active { border-color: rgba(32, 87, 91, .55); background: rgba(32, 87, 91, .07); }
.ppb-template-grid strong,
.ppb-template-grid span { display: block; }
.ppb-template-grid span { margin-top: .28rem; color: var(--muted, #5f6d72); font-size: .82rem; line-height: 1.35; }
.ppb-workspace { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(330px, .75fr); grid-gap: 1rem; gap: 1rem; align-items: start; }
.ppb-fields { display: grid; grid-gap: .65rem; gap: .65rem; min-width: 0; }
.ppb-section { overflow: hidden; }
.ppb-section summary { display: flex; align-items: center; justify-content: space-between; gap: .8rem; padding: .9rem 1rem; cursor: pointer; list-style: none; }
.ppb-section summary::-webkit-details-marker { display: none; }
.ppb-section summary span { min-width: 0; }
.ppb-section summary strong,
.ppb-section summary small { display: block; }
.ppb-section summary small { margin-top: .18rem; color: var(--muted, #5f6d72); font-weight: 400; }
.ppb-section summary em { flex: 0 0 auto; min-width: 42px; padding: .3rem .45rem; border-radius: 999px; background: rgba(31, 55, 63, .08); text-align: center; font-style: normal; font-size: .78rem; }
.ppb-section[open] summary { border-bottom: 1px solid rgba(28, 43, 50, .1); }
.ppb-field-list { display: grid; grid-gap: 1rem; gap: 1rem; padding: 1rem; }
.ppb-field-list fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
.ppb-field-list legend { width: 100%; margin-bottom: .5rem; font-weight: 750; }
.ppb-field-list fieldset.required legend { color: #8a3b31; }
.ppb-chip-list { display: flex; flex-wrap: wrap; gap: .42rem; }
.ppb-chip-list button { border: 1px solid rgba(28, 43, 50, .18); border-radius: 999px; background: #fff; padding: .48rem .68rem; color: inherit; font: inherit; font-size: .88rem; cursor: pointer; }
.ppb-chip-list button:hover { border-color: rgba(32, 87, 91, .6); }
.ppb-chip-list button.selected { border-color: #245b5f; background: #245b5f; color: #fff; }
.ppb-additional { padding: 1rem; }
.ppb-additional label strong,
.ppb-additional label span { display: block; }
.ppb-additional label span { margin-top: .15rem; color: var(--muted, #5f6d72); font-size: .84rem; }
.ppb-additional textarea { width: 100%; margin-top: .65rem; resize: vertical; }
.ppb-output { position: -webkit-sticky; position: sticky; top: 1rem; padding: 1rem; }
.ppb-output-heading { display: flex; align-items: start; justify-content: space-between; gap: .75rem; }
.ppb-output-heading h2 { margin: .05rem 0 0; }
.ppb-reset { border: 0; background: transparent; color: inherit; text-decoration: underline; cursor: pointer; }
.ppb-warning { display: grid; grid-gap: .15rem; gap: .15rem; margin-top: .8rem; padding: .7rem .8rem; border-radius: 7px; background: #fff2d9; color: #6f4a00; font-size: .86rem; }
.ppb-preview { min-height: 260px; margin-top: .85rem; padding: 1rem; border: 1px solid rgba(28, 43, 50, .12); border-radius: 8px; background: rgba(247, 249, 249, .95); white-space: pre-wrap; line-height: 1.65; }
.ppb-preview.empty { color: var(--muted, #5f6d72); }
.ppb-output-actions { display: flex; align-items: center; justify-content: space-between; gap: .7rem; margin-top: .8rem; }
.ppb-output-actions span { color: var(--muted, #5f6d72); font-size: .8rem; }
.ppb-output-actions button:disabled { opacity: .5; cursor: not-allowed; }
.ppb-disclaimer { margin: .7rem 0 0; color: var(--muted, #5f6d72); font-size: .78rem; line-height: 1.45; }

@media (max-width: 980px) {
  .ppb-workspace { grid-template-columns: 1fr; }
  .ppb-output { position: static; }
}

@media (max-width: 640px) {
  .ppb-toolbar,
  .ppb-section-heading,
  .ppb-output-heading,
  .ppb-output-actions { align-items: stretch; flex-direction: column; }
  .ppb-progress { min-width: 0; text-align: left; }
  .ppb-segmented { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
  .ppb-template-grid { grid-template-columns: 1fr; }
  .ppb-section summary { align-items: flex-start; }
  .ppb-chip-list { display: grid; grid-template-columns: 1fr; }
  .ppb-chip-list button { text-align: left; border-radius: 7px; }
  .ppb-preview { min-height: 220px; }
}

/* Fragebogen-Center und öffentlicher Patientenbogen */
.questionnaire-center { display:grid; grid-gap:1rem; gap:1rem; }
.questionnaire-create-card,.questionnaire-share-card,.questionnaire-results,.patient-questionnaire-section,.patient-questionnaire-form>header,.patient-questionnaire-done { background:#fff; border:1px solid rgba(28,43,50,.12); border-radius:10px; padding:1rem; }
.questionnaire-create-card { display:grid; grid-gap:1rem; gap:1rem; }
.questionnaire-reference span { display:block; font-weight:750; margin-bottom:.4rem; }
.questionnaire-reference input,.questionnaire-link input { width:100%; }
.questionnaire-module-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-gap:.6rem; gap:.6rem; }
.questionnaire-module-grid button { text-align:left; border:1px solid rgba(28,43,50,.16); border-radius:8px; background:#fff; padding:.8rem; color:inherit; cursor:pointer; }
.questionnaire-module-grid button.selected { border-color:#245b5f; background:rgba(36,91,95,.08); }
.questionnaire-module-grid strong,.questionnaire-module-grid span { display:block; }
.questionnaire-module-grid span { margin-top:.25rem; color:var(--muted,#5f6d72); font-size:.84rem; line-height:1.35; }
.questionnaire-share-card { display:grid; grid-template-columns:minmax(0,1fr) 190px; grid-gap:1rem; gap:1rem; align-items:center; }
.questionnaire-share-card img { width:190px; height:190px; }
.questionnaire-link { display:flex; gap:.5rem; margin-top:.7rem; }
.questionnaire-link button { flex:0 0 auto; }
.questionnaire-result-list { display:grid; grid-gap:.6rem; gap:.6rem; }
.questionnaire-result-list details { border:1px solid rgba(28,43,50,.14); border-radius:8px; overflow:hidden; }
.questionnaire-result-list summary { display:flex; justify-content:space-between; gap:1rem; padding:.85rem; cursor:pointer; list-style:none; }
.questionnaire-result-list summary::-webkit-details-marker{display:none}.questionnaire-result-list summary span,.questionnaire-result-list summary small{display:block}.questionnaire-result-list summary small{margin-top:.2rem;color:var(--muted,#5f6d72)}
.questionnaire-result-list details.completed summary { background:rgba(36,91,95,.06); }
.questionnaire-result-body { padding:1rem; border-top:1px solid rgba(28,43,50,.1); }
.questionnaire-score-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-gap:.7rem; gap:.7rem; margin-bottom:1rem; }
.questionnaire-score-grid article { padding:.8rem; border-radius:8px; background:rgba(31,55,63,.06); }
.questionnaire-score-grid span,.questionnaire-score-grid strong,.questionnaire-score-grid small{display:block}.questionnaire-score-grid strong{font-size:1.35rem;margin:.15rem 0}
.questionnaire-safety-note,.patient-urgent-note { padding:.7rem .8rem; border-radius:7px; background:#fff2d9; color:#6f4a00; }
.public-questionnaire-shell { max-width:900px; margin:0 auto; padding:1rem; }
.patient-questionnaire-form { display:grid; grid-gap:1rem; gap:1rem; }
.patient-questionnaire-form h1,.patient-questionnaire-form h2 { margin-top:0; }
.patient-questionnaire-section { display:grid; grid-gap:1rem; gap:1rem; }
.patient-questionnaire-section fieldset { margin:0; padding:1rem 0 0; border:0; border-top:1px solid rgba(28,43,50,.11); }
.patient-questionnaire-section fieldset:first-of-type { border-top:0; padding-top:0; }
.patient-questionnaire-section legend { width:100%; font-weight:750; margin-bottom:.65rem; }
.patient-questionnaire-section legend small { display:block; margin-top:.2rem; font-weight:400; color:var(--muted,#5f6d72); }
.patient-answer-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); grid-gap:.45rem; gap:.45rem; }
.patient-answer-grid.function { grid-template-columns:repeat(5,minmax(0,1fr)); }
.patient-answer-grid button { min-height:54px; border:1px solid rgba(28,43,50,.16); border-radius:7px; background:#fff; padding:.55rem; color:inherit; cursor:pointer; }
.patient-answer-grid button.selected { background:#245b5f; border-color:#245b5f; color:#fff; }
.patient-questionnaire-section textarea { width:100%; min-height:78px; margin-top:.55rem; }
.patient-submit { width:100%; min-height:54px; }
.patient-questionnaire-done { margin-top:3rem; text-align:center; }
@media(max-width:760px){.questionnaire-module-grid,.questionnaire-score-grid{grid-template-columns:1fr}.questionnaire-share-card{grid-template-columns:1fr}.questionnaire-share-card img{justify-self:center}.patient-answer-grid,.patient-answer-grid.function{grid-template-columns:1fr}.questionnaire-link{flex-direction:column}.public-questionnaire-shell{padding:.5rem}.patient-questionnaire-section,.patient-questionnaire-form>header{padding:.85rem}}

/* Fragebogen-Center: vollständige Auswertung, Basisanamnese und AU-Verlauf */
.patient-skip-row{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.55rem}.patient-skip-row button{border:1px solid rgba(28,43,50,.18);background:#fff;border-radius:7px;padding:.55rem .7rem}.patient-skip-row button.selected{border-color:#245b5f;background:rgba(36,91,95,.1)}
.patient-text-question{display:grid;grid-gap:.4rem;gap:.4rem;padding-top:1rem;border-top:1px solid rgba(28,43,50,.11)}.patient-text-question:first-of-type{border-top:0;padding-top:0}.patient-text-question input{max-width:320px}.patient-text-question small{color:var(--muted,#5f6d72)}
.questionnaire-conversation{padding:.9rem;border:1px solid rgba(36,91,95,.18);background:rgba(36,91,95,.055);border-radius:8px;margin:1rem 0}.questionnaire-conversation h3{margin-top:0}.questionnaire-conversation li+li{margin-top:.4rem}
.questionnaire-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin:1rem 0}.questionnaire-actions a{text-decoration:none}.questionnaire-complete-view{border:1px solid rgba(28,43,50,.14);border-radius:8px;overflow:hidden}.questionnaire-complete-view>summary{padding:.8rem;font-weight:750;cursor:pointer;background:rgba(31,55,63,.04)}
.questionnaire-full-section{padding:1rem;border-top:1px solid rgba(28,43,50,.1)}.questionnaire-full-section:first-of-type{border-top:0}.questionnaire-full-section h4{margin:0 0 .7rem}.questionnaire-full-section ol{margin:0;padding-left:1.3rem}.questionnaire-full-section li{padding:.45rem 0}.questionnaire-full-section li span,.questionnaire-full-section li strong{display:block}.questionnaire-full-section li strong{margin-top:.15rem;color:#245b5f}.questionnaire-full-section dl{margin:0}.questionnaire-full-section dl div{padding:.55rem 0;border-top:1px solid rgba(28,43,50,.08)}.questionnaire-full-section dl div:first-child{border-top:0}.questionnaire-full-section dt{font-weight:750}.questionnaire-full-section dd{margin:.2rem 0 0}.questionnaire-full-section dd span{color:var(--muted,#5f6d72)}
@media(max-width:760px){.patient-skip-row{display:grid}.questionnaire-actions{display:grid}.questionnaire-actions>*{width:100%;text-align:center}}

/* Live-Status: im Ruhezustand nur ein kompakter grüner Punkt rechts unten. */
.live-status-orb { width: .9rem; height: .9rem; border-radius: 50%; background: #2f9e44; box-shadow: 0 0 0 .25rem rgba(47,158,68,.16); flex: 0 0 auto; }
.live-status-orb.connecting { background:#e0a800; box-shadow:0 0 0 .25rem rgba(224,168,0,.16); }
.live-status-orb.offline { background:#c92a2a; box-shadow:0 0 0 .25rem rgba(201,42,42,.16); }
.live-system-status.is-collapsed { width: 2.8rem; height: 2.8rem; padding: 0; border: 0; border-radius: 50%; background: var(--surface,#fff); }
.live-system-status.is-collapsed .live-system-status-head { width:100%; height:100%; display:grid; place-items:center; margin:0; border-radius:50%; }
.live-system-status.is-collapsed .live-status-title,
.live-system-status.is-collapsed .live-system-status-toggle { display:none; }
.live-system-status:not(.is-collapsed) .live-system-status-head { justify-content:flex-start; }
.live-system-status:not(.is-collapsed) .live-system-status-toggle { margin-left:auto; }
@media (max-width:760px){.live-system-status.is-collapsed{left:auto;right:.75rem;bottom:.75rem;width:2.8rem;height:2.8rem}.live-system-status:not(.is-collapsed){left:.6rem;right:.6rem;width:auto}}
.questionnaire-json-view { white-space:pre-wrap; overflow-wrap:anywhere; max-height:28rem; overflow:auto; padding:.75rem; background:var(--surface-soft,#f5f5f5); border-radius:.5rem; font-size:.78rem; }
.questionnaire-score-grid article.warning { background:#fff3bf; }
.questionnaire-intro{margin:.25rem 0 1rem;padding:.8rem 1rem;background:rgba(0,0,0,.035);border-left:3px solid currentColor}.questionnaire-intro p{margin:0 0 .35rem}.questionnaire-intro small{opacity:.7}.questionnaire-routing{display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:1rem 0}.questionnaire-routing label{display:grid;grid-gap:.35rem;gap:.35rem}.questionnaire-routing select,.questionnaire-routing input{min-height:44px;padding:.65rem}

/* Fragebogenverwaltung 2.0 */
.questionnaire-center-v2{display:grid;grid-gap:1rem;gap:1rem}.questionnaire-center-v2 .admin-panel{background:#fff;border:1px solid rgba(28,43,50,.12);border-radius:6px;padding:1rem}.questionnaire-center-v2 .admin-panel>header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}.questionnaire-center-v2 h2{margin:.1rem 0}.questionnaire-template-row{display:grid;grid-template-columns:9rem 1fr;grid-gap:.7rem;gap:.7rem;align-items:start;margin-bottom:1rem}.questionnaire-template-row>span{font-weight:750;padding-top:.55rem}.questionnaire-template-row>div{display:flex;gap:.4rem;flex-wrap:wrap}.questionnaire-template-row button{padding:.5rem .7rem;border-radius:5px}.questionnaire-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.75rem;gap:.75rem;margin-bottom:1rem}.questionnaire-form-grid label{display:grid;grid-gap:.35rem;gap:.35rem}.questionnaire-form-grid label>span{font-weight:700}.questionnaire-form-grid input,.questionnaire-form-grid select,.questionnaire-form-grid textarea{width:100%;min-height:42px;padding:.6rem}.questionnaire-form-grid textarea{min-height:88px;resize:vertical}.questionnaire-form-grid .wide{grid-column:1/-1}.questionnaire-compact-list{border-top:1px solid rgba(28,43,50,.1);margin-bottom:1rem}.questionnaire-compact-list label{display:grid;grid-template-columns:auto 1fr;grid-gap:.7rem;gap:.7rem;align-items:start;padding:.65rem .15rem;border-bottom:1px solid rgba(28,43,50,.08);cursor:pointer}.questionnaire-compact-list input{margin-top:.2rem}.questionnaire-compact-list span,.questionnaire-compact-list small{display:block}.questionnaire-compact-list small{color:var(--muted,#5f6d72);margin-top:.1rem}.questionnaire-config-list{border-top:1px solid rgba(28,43,50,.1)}.questionnaire-config-row{border-bottom:1px solid rgba(28,43,50,.1)}.questionnaire-config-row>summary{display:flex;justify-content:space-between;gap:1rem;padding:.8rem .15rem;cursor:pointer;list-style:none}.questionnaire-config-row>summary::-webkit-details-marker{display:none}.questionnaire-config-row>summary span,.questionnaire-config-row>summary small{display:block}.questionnaire-config-row>summary small{color:var(--muted,#5f6d72);margin-top:.15rem}.questionnaire-config-row>summary b{font-size:.8rem;white-space:nowrap;color:#245b5f}.questionnaire-config-form{padding:.25rem 0 1rem}.questionnaire-config-actions{display:flex;gap:.5rem;flex-wrap:wrap}.questionnaire-simple-results>div{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 0;border-top:1px solid rgba(28,43,50,.08)}.questionnaire-simple-results>div:first-child{border-top:0}.questionnaire-simple-results span,.questionnaire-simple-results small{display:block}.questionnaire-simple-results small{color:var(--muted,#5f6d72);margin-top:.15rem}
@media(max-width:760px){.questionnaire-center-v2 .admin-panel{padding:.8rem}.questionnaire-center-v2 .admin-panel>header{display:block}.questionnaire-template-row{grid-template-columns:1fr}.questionnaire-template-row>span{padding:0}.questionnaire-form-grid{grid-template-columns:1fr}.questionnaire-form-grid .wide{grid-column:auto}.questionnaire-config-row>summary{align-items:flex-start}.questionnaire-config-row>summary b{white-space:normal;text-align:right}.questionnaire-config-actions{display:grid}.questionnaire-config-actions>*{width:100%}.questionnaire-simple-results>div{align-items:flex-start}}

.questionnaire-simple-results a{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line,#e4e4e4);color:inherit;text-decoration:none}.questionnaire-simple-results a:hover strong{text-decoration:underline}.questionnaire-result-page{max-width:1050px}.questionnaire-result-section{margin:1rem auto}.questionnaire-result-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));grid-gap:1rem;gap:1rem}.questionnaire-result-meta div{display:flex;flex-direction:column;gap:.25rem}.questionnaire-result-meta span{font-size:.85rem;color:var(--muted,#697077)}.questionnaire-answer-list{display:grid;grid-gap:0;gap:0}.questionnaire-answer-list>div{display:grid;grid-template-columns:minmax(0,2fr) minmax(160px,1fr);grid-gap:1rem;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--line,#e4e4e4)}.questionnaire-answer-list span{font-weight:600}.questionnaire-json-result{white-space:pre-wrap;overflow-wrap:anywhere;background:transparent;font:inherit;margin:0}.questionnaire-critical-alert{border-left:5px solid #b42318;background:#fff4f2}.questionnaire-critical-alert strong{color:#8f160d}.questionnaire-result-links a b{white-space:nowrap}@media(max-width:700px){.questionnaire-answer-list>div{grid-template-columns:1fr;gap:.35rem}.questionnaire-result-links a{align-items:flex-start}.questionnaire-result-links a b{font-size:.9rem}}

/* Fragebogenauftrag: eindeutige Auswahl und Live-Fortschritt in der Kommunikationszentrale */
.questionnaire-selection-summary{margin:14px 0 18px;padding:14px 16px;border:1px solid var(--line,#d9d9d9);border-radius:10px;background:rgba(255,255,255,.55)}
.questionnaire-selection-summary ul{display:flex;flex-wrap:wrap;gap:7px;list-style:none;padding:0;margin:10px 0 0}
.questionnaire-selection-summary li{padding:5px 9px;border-radius:999px;background:rgba(28,101,101,.1);font-size:.9rem;font-weight:700}
.active-questionnaires-panel{border-left:4px solid #2ca85f}
.active-questionnaires-head{display:flex;justify-content:space-between;gap:16px;align-items:end;margin-bottom:12px}
.active-questionnaires-head h2{margin:0}.active-questionnaires-head h2 span{font-size:.8em}
.active-questionnaire-list{display:grid;grid-gap:10px;gap:10px}.active-questionnaire-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:16px;gap:16px;padding:12px 0;border-top:1px solid var(--line,#ddd)}
.active-questionnaire-row:first-child{border-top:0}.active-questionnaire-row>div:first-child{display:grid;grid-gap:3px;gap:3px}.active-questionnaire-row span,.active-questionnaire-row small{color:var(--muted,#687176)}
.active-questionnaire-progress{min-width:130px;display:grid;grid-template-columns:auto minmax(70px,110px) auto;align-items:center;grid-gap:8px;gap:8px}.active-questionnaire-progress>span{height:8px;border-radius:999px;background:#e3e7e4;overflow:hidden}.active-questionnaire-progress i{display:block;height:100%;background:#2ca85f;border-radius:inherit}
.questionnaire-communication-result{padding:14px;border-left:4px solid #2ca85f;background:rgba(44,168,95,.07);display:grid;grid-gap:8px;gap:8px}.questionnaire-communication-result p{margin:0}
.questionnaire-overall-summary small{display:block;margin-top:8px;color:var(--muted,#687176)}
@media(max-width:700px){.active-questionnaires-head{display:block}.active-questionnaires-head small{display:block;margin-top:5px}.active-questionnaire-row{grid-template-columns:1fr}.active-questionnaire-progress{grid-template-columns:auto 1fr auto;min-width:0}}

/* Inbox V2 – kompakter, rein visueller Arbeitslisten-Entwurf */
.inbox-v2-shell{width:min(100%,980px);margin:0 auto;padding:0 0 5rem;background:#fff;min-height:calc(100vh - 65px);color:#1f292e}
.inbox-v2-toolbar{position:-webkit-sticky;position:sticky;top:65px;z-index:30;background:rgba(255,255,255,.96);border-bottom:1px solid #dfe4e6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.inbox-v2-toolbar-main{min-height:58px;display:flex;align-items:center;gap:.35rem;padding:.35rem .6rem}
.inbox-v2-title{min-width:0;flex:1 1;display:flex;flex-direction:column;padding-left:.2rem}.inbox-v2-title strong{font-size:1.08rem;line-height:1.2}.inbox-v2-title span{font-size:.76rem;color:#68767c;margin-top:.08rem}
.inbox-v2-icon-button,.inbox-v2-search button,.inbox-v2-filter-sheet header button{width:42px;height:42px;display:grid;place-items:center;flex:0 0 auto;border:0;border-radius:50%;background:transparent;color:#26363b;cursor:pointer}
.inbox-v2-icon-button:hover,.inbox-v2-icon-button:focus-visible,.inbox-v2-icon-button.active{background:#eef3f3}.inbox-v2-icon-button.active{color:#176765}
.inbox-v2-icon-button svg,.inbox-v2-search button svg,.inbox-v2-filter-sheet header button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.inbox-v2-search{display:flex;align-items:center;flex:1 1;min-width:0;border:1px solid #cfd8da;border-radius:22px;background:#f7f9f9;overflow:hidden}.inbox-v2-search input{min-width:0;flex:1 1;height:42px;padding:0 .85rem;border:0;background:transparent;font:inherit;outline:0}.inbox-v2-search button{width:38px;height:38px}
.inbox-v2-active-filter{margin:0 .75rem .45rem;padding:.28rem .5rem .28rem .65rem;border:0;border-radius:999px;background:#e7f1f0;color:#175f5d;font-size:.78rem;font-weight:750}.inbox-v2-active-filter span{margin-left:.45rem;font-size:1rem}
.inbox-v2-list{border-top:1px solid #eef1f2}.inbox-v2-row{position:relative;border-bottom:1px solid #e2e7e8;background:#fff}.inbox-v2-row.is-open{background:#fbfcfc}
.inbox-v2-row-summary{position:relative;width:100%;display:grid;grid-template-columns:4px minmax(0,1fr) 12px;grid-gap:.75rem;gap:.75rem;padding:.7rem .8rem .68rem .55rem;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}
.inbox-v2-type-rail{width:4px;height:100%;min-height:62px;border-radius:4px;background:#668087}.inbox-v2-row.type-appointment .inbox-v2-type-rail{background:#7356a8}.inbox-v2-row.type-prescription .inbox-v2-type-rail{background:#d17a1c}.inbox-v2-row.type-questionnaire .inbox-v2-type-rail{background:#298754}.inbox-v2-row.type-message .inbox-v2-type-rail{background:#3076a7}.inbox-v2-row.type-callback .inbox-v2-type-rail{background:#a44d67}
.inbox-v2-row-copy{min-width:0;display:block}.inbox-v2-row-topline{display:flex;align-items:baseline;justify-content:space-between;gap:.7rem}.inbox-v2-type-label{font-size:.73rem;line-height:1.2;font-weight:760;letter-spacing:.025em;text-transform:uppercase;color:#65747a}.inbox-v2-row-topline time{font-size:.74rem;color:#68767c;white-space:nowrap}.inbox-v2-row-copy>strong{display:block;margin:.13rem 0 .12rem;font-size:.98rem;line-height:1.22;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inbox-v2-row.is-unread .inbox-v2-row-copy>strong,.inbox-v2-row.is-unread .inbox-v2-patient-line b{font-weight:820}
.inbox-v2-patient-line{display:flex;align-items:center;gap:.35rem;min-width:0}.inbox-v2-patient-line b{font-size:.84rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inbox-v2-badge{padding:.12rem .35rem;border-radius:4px;background:#edf1f2;color:#536268;font-size:.65rem;font-style:normal;font-weight:750;white-space:nowrap}.inbox-v2-badge.urgent{background:#fee9e7;color:#a4241d}.inbox-v2-badge.waiting{background:#fff1cf;color:#795500}
.inbox-v2-meta{display:block;margin-top:.12rem;font-size:.73rem;color:#718086;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inbox-v2-preview{display:block;margin-top:.22rem;font-size:.82rem;line-height:1.28;color:#4f5e64;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inbox-v2-unread-dot{align-self:center;width:8px;height:8px;border-radius:50%;background:#197a78}
.inbox-v2-detail{margin-left:1.3rem;padding:0 .9rem 1rem .85rem;border-left:4px solid transparent}.inbox-v2-message{padding:.8rem 0;border-top:1px solid #e1e6e7}.inbox-v2-message span{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#748187}.inbox-v2-message p{margin:.35rem 0 0;line-height:1.5}
.inbox-v2-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.45rem;gap:.45rem}.inbox-v2-actions button{min-height:42px;padding:.5rem;border:1px solid #cfd8da;border-radius:6px;background:#fff;color:#26363b;font-weight:720;cursor:pointer}.inbox-v2-actions button.primary{border-color:#1d6664;background:#1d6664;color:#fff}
.inbox-v2-history{display:grid;grid-template-columns:1fr;grid-gap:.35rem;gap:.35rem;margin-top:.9rem;padding-top:.75rem;border-top:1px solid #e1e6e7}.inbox-v2-history strong{font-size:.78rem}.inbox-v2-history span{font-size:.76rem;color:#647278}.inbox-v2-history time{display:inline-block;width:4rem;color:#879196}.inbox-v2-demo-note{margin:.85rem 0 0;font-size:.72rem;color:#7b878b}
.inbox-v2-empty{padding:4rem 1rem;text-align:center;color:#68767c}
.inbox-v2-sheet-backdrop{position:fixed;inset:0;z-index:100;background:rgba(18,27,30,.35);display:flex;align-items:flex-end;justify-content:center}.inbox-v2-filter-sheet{width:min(100%,560px);max-height:80vh;padding:.35rem .8rem calc(1rem + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;background:#fff;box-shadow:0 -8px 30px rgba(0,0,0,.14)}.inbox-v2-sheet-handle{width:42px;height:4px;margin:.15rem auto .45rem;border-radius:99px;background:#cfd5d7}.inbox-v2-filter-sheet header{display:flex;align-items:center;justify-content:space-between;padding:.25rem .2rem .5rem}.inbox-v2-filter-sheet header strong{font-size:1.05rem}.inbox-v2-filter-list{display:grid}.inbox-v2-filter-list button{min-height:50px;display:flex;align-items:center;justify-content:space-between;padding:0 .7rem;border:0;border-top:1px solid #edf0f1;background:#fff;color:inherit;font:inherit;text-align:left}.inbox-v2-filter-list button.selected{color:#176765;font-weight:800;background:#f0f7f6}.inbox-v2-filter-list b{min-width:1.8rem;padding:.15rem .4rem;border-radius:999px;background:#edf1f2;font-size:.72rem;text-align:center}
@media(min-width:760px){.inbox-v2-shell{margin-top:1rem;border:1px solid #dfe4e6;border-radius:8px;overflow:hidden;min-height:calc(100vh - 100px)}.inbox-v2-toolbar{top:0}.inbox-v2-row-summary{padding:.78rem 1rem}.inbox-v2-detail{padding-right:1.2rem}.inbox-v2-actions{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:520px){.inbox-v2-toolbar{top:61px}.inbox-v2-row-summary{gap:.62rem;padding-left:.45rem;padding-right:.65rem}.inbox-v2-row-copy>strong{font-size:.94rem}.inbox-v2-preview{font-size:.79rem}.inbox-v2-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Leitstand V2 – Arbeitsbereiche, Initialen und Live-Ereignisse */
.inbox-v2-title{border:0;background:transparent;text-align:left;cursor:pointer;color:inherit}
.inbox-v2-active-chips{display:flex;gap:.35rem;padding:0 .75rem .45rem;overflow:auto}.inbox-v2-active-chips button{padding:.28rem .5rem .28rem .65rem;border:0;border-radius:999px;background:#e7f1f0;color:#175f5d;font-size:.78rem;font-weight:750;white-space:nowrap}.inbox-v2-active-chips span{margin-left:.45rem;font-size:1rem}
.inbox-v2-row-summary{grid-template-columns:4px 36px minmax(0,1fr) 12px;gap:.65rem}
.inbox-v2-avatar{align-self:start;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#edf2f2;color:#40575d;font-size:.72rem;font-weight:820;letter-spacing:-.02em}.inbox-v2-avatar.large{width:44px;height:44px;font-size:.78rem;flex:0 0 auto}
.inbox-v2-row.type-substitution .inbox-v2-type-rail{background:#c43a32}.inbox-v2-row.type-system .inbox-v2-type-rail{background:#59656a}.inbox-v2-row.type-substitution .inbox-v2-avatar{background:#fff0ee;color:#9b2d27}
.inbox-v2-row.is-live{background:#fffdfc}.inbox-v2-row.is-live .inbox-v2-type-label{color:#9e2f29}.inbox-v2-badge.live{background:#fce3df;color:#9f2922}
.inbox-v2-detail-person{display:flex;align-items:center;gap:.7rem;padding:.8rem 0;border-top:1px solid #e1e6e7}.inbox-v2-detail-person div{display:grid;grid-gap:.1rem;gap:.1rem}.inbox-v2-detail-person strong{font-size:.95rem}.inbox-v2-detail-person span{font-size:.75rem;color:#6c797e}
.inbox-v2-detail .inbox-v2-actions{margin-bottom:.2rem}
@media(max-width:520px){.inbox-v2-row-summary{grid-template-columns:4px 32px minmax(0,1fr) 10px;gap:.55rem}.inbox-v2-avatar{width:32px;height:32px;font-size:.65rem}.inbox-v2-patient-line{flex-wrap:wrap;row-gap:.18rem}}

/* Leitstand V2: Anrufbeantworter direkt in der Liste */
.inbox-v2-row.type-voicemail .inbox-v2-type-rail{background:#a44d67}.inbox-v2-row.type-voicemail .inbox-v2-avatar{background:#f8edf1;color:#7e3b51}
.leitstand-audio{margin:-.15rem .75rem .7rem 3.85rem;padding:.55rem .65rem;border:1px solid #e0e5e6;border-radius:7px;background:#f8faf9}
.leitstand-audio-heading{display:flex;align-items:baseline;justify-content:space-between;gap:.7rem;margin-bottom:.35rem}.leitstand-audio-heading strong{font-size:.78rem}.leitstand-audio-heading span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;color:#6c797e}
.leitstand-audio audio{display:block;width:100%;height:34px}.leitstand-audio-rates{display:flex;gap:.3rem;margin-top:.4rem;overflow-x:auto}.leitstand-audio-rates button{min-width:44px;padding:.28rem .45rem;border:1px solid #ccd5d7;border-radius:999px;background:#fff;color:#43545a;font-size:.7rem;font-weight:720}.leitstand-audio-rates button.active{border-color:#1d6664;background:#e5f1ef;color:#155b59}
@media(max-width:520px){.leitstand-audio{margin-left:2.95rem;margin-right:.55rem}.leitstand-audio audio{height:32px}}

/* Leitstand Kommunikation V1 */
.inbox-v2-action-dialog{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:min(680px,100%);max-height:88vh;overflow:auto;background:#fff;border-radius:12px 12px 0 0;padding:1rem;box-shadow:0 -12px 40px rgba(0,0,0,.18);z-index:1001}.inbox-v2-action-dialog>header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.8rem}.inbox-v2-action-dialog>header div{display:grid;grid-gap:.15rem;gap:.15rem}.inbox-v2-action-dialog>header span{font-size:.82rem;color:#657276}.inbox-v2-action-dialog>header button{width:38px;height:38px;border:0;background:#f2f5f5;border-radius:50%;padding:.55rem}.inbox-v2-action-dialog svg{fill:none;stroke:currentColor;stroke-width:2}.inbox-v2-action-dialog form{display:grid;grid-gap:.8rem;gap:.8rem}.inbox-v2-action-dialog label{display:grid;grid-gap:.3rem;gap:.3rem;font-weight:700;font-size:.88rem}.inbox-v2-action-dialog input,.inbox-v2-action-dialog select,.inbox-v2-action-dialog textarea{width:100%;padding:.72rem;border:1px solid #cbd4d6;border-radius:6px;background:#fff;font:inherit}.inbox-v2-action-dialog button.primary{border:0;border-radius:6px;background:#1d6664;color:#fff;font-weight:800;padding:.78rem}.inbox-v2-form-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-gap:.55rem;gap:.55rem}.inbox-v2-danger-actions{display:grid;grid-gap:.65rem;gap:.65rem}.inbox-v2-danger-actions button,.inbox-v2-danger-actions a{display:block;text-align:center;padding:.75rem;border:1px solid #ccd5d7;border-radius:6px;background:#fff;color:#26363b;font-weight:750;text-decoration:none}.inbox-v2-danger-actions .danger{border-color:#b73535;color:#a32222;background:#fff7f7}@media(max-width:520px){.inbox-v2-form-grid{grid-template-columns:1fr 1fr}.inbox-v2-form-grid label:first-child{grid-column:1/-1}}

/* Leitstand V2: echter Verlauf und vollständig eingebettete Aktionen */
.inbox-v2-history details { border-top: 1px solid rgba(31,55,55,.12); padding: 10px 0; }
.inbox-v2-history details:first-of-type { margin-top: 8px; }
.inbox-v2-history summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
.inbox-v2-history summary::-webkit-details-marker { display: none; }
.inbox-v2-history summary span { display: grid; grid-template-columns: 82px 1fr; grid-gap: 8px; gap: 8px; min-width: 0; }
.inbox-v2-history summary time { color: #748080; font-size: .82rem; font-weight: 600; }
.inbox-v2-history summary b { font-size: .92rem; }
.inbox-v2-history summary em { color: #687575; font-size: .78rem; font-style: normal; text-align: right; }
.inbox-v2-history details p { margin: 8px 0 0 90px; white-space: pre-wrap; line-height: 1.45; }
.inbox-v2-history details small { display: block; margin: 6px 0 0 90px; color: #687575; }
@media (max-width: 560px) {
  .inbox-v2-history summary span { grid-template-columns: 70px 1fr; }
  .inbox-v2-history details p, .inbox-v2-history details small { margin-left: 0; }
}

/* Leitstand V2: mobile Wischaktionen */
.inbox-v2-row{overflow:hidden}
.inbox-v2-swipe-foreground{position:relative;z-index:2;background:inherit;transform:translateX(0);transition:transform .18s ease;touch-action:pan-y;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.inbox-v2-row.is-swiped .inbox-v2-swipe-foreground{transition:none}
.inbox-v2-swipe-actions{position:absolute;z-index:1;inset:0;display:flex;align-items:stretch;justify-content:space-between;background:#edf1f2}
.inbox-v2-swipe-actions button{border:0;border-radius:0;padding:.65rem .72rem;font:inherit;font-size:.74rem;font-weight:800;line-height:1.12;color:#fff;cursor:pointer}
.inbox-v2-swipe-actions>.complete{width:82px;background:#25834e}
.inbox-v2-swipe-actions .right-actions{margin-left:auto;display:flex;height:100%}
.inbox-v2-swipe-actions .right-actions button{width:84px}
.inbox-v2-swipe-actions .defer{background:#b67916}
.inbox-v2-swipe-actions .assign{background:#346f86}
.inbox-v2-row.is-open .inbox-v2-swipe-foreground{transform:none!important;transition:none}
@media(hover:hover) and (pointer:fine){.inbox-v2-swipe-actions{display:none}.inbox-v2-swipe-foreground{touch-action:auto}}

/* Leitstand: strukturierte Nachrichten und fachlicher Verlauf */
.inbox-v2-mail-viewer{padding-top:1rem}.inbox-v2-mail-meta{display:grid;grid-gap:.42rem;gap:.42rem;margin:.55rem 0 .9rem;padding:.72rem .78rem;background:#f6f8f8;border:1px solid #e2e7e7;border-radius:10px}.inbox-v2-mail-meta>div{display:grid;grid-template-columns:4.2rem minmax(0,1fr);grid-gap:.5rem;gap:.5rem;align-items:start}.inbox-v2-mail-meta b{font-size:.74rem;color:#718080}.inbox-v2-mail-meta strong,.inbox-v2-mail-meta a{font-size:.88rem;color:#243232;overflow-wrap:anywhere}.inbox-v2-mail-body{font-size:1rem;line-height:1.58;overflow-wrap:anywhere}.inbox-v2-mail-body p{margin:0 0 .75rem}.inbox-v2-mail-fold{border-top:1px solid #e1e6e7;padding:.65rem 0}.inbox-v2-mail-fold summary{font-weight:750;cursor:pointer;color:#526363}.inbox-v2-mail-fold pre{margin:.65rem 0 0;white-space:pre-wrap;font:inherit;font-size:.86rem;line-height:1.45;color:#556363;overflow-wrap:anywhere}
.inbox-v2-history{display:block}.inbox-v2-history>strong{display:block;margin-bottom:.45rem}.inbox-v2-history-day{margin:.8rem 0 0}.inbox-v2-history-day h4{position:-webkit-sticky;position:sticky;top:0;margin:0 0 .25rem;padding:.35rem 0;font-size:.76rem;text-transform:uppercase;letter-spacing:.04em;color:#758282;background:#fff;z-index:1}.inbox-v2-history-entry{display:grid;grid-template-columns:3.35rem 1.65rem minmax(0,1fr);grid-gap:.35rem;gap:.35rem;padding:.72rem 0;border-top:1px solid rgba(31,55,55,.1)}.inbox-v2-history-entry>time{font-size:.78rem;font-weight:700;color:#7a8787;padding-top:.12rem}.inbox-v2-history-icon{display:grid;place-items:center;width:1.55rem;height:1.55rem;border-radius:50%;background:#eef3f3;font-size:.72rem;font-weight:800}.inbox-v2-history-heading{display:flex;justify-content:space-between;gap:.6rem;align-items:baseline}.inbox-v2-history-heading b{font-size:.91rem}.inbox-v2-history-heading em{font-size:.75rem;font-style:normal;color:#6f7c7c;text-align:right}.inbox-v2-history-entry small{display:block;margin:.18rem 0;color:#687676}.inbox-v2-history-entry p{margin:.35rem 0 0;white-space:pre-wrap;line-height:1.48;overflow-wrap:anywhere}.inbox-v2-history-entry details{margin-top:.28rem}.inbox-v2-history-entry details summary{font-size:.8rem;font-weight:750;color:#596969;cursor:pointer}.inbox-v2-history-entry details p{font-size:.9rem}.inbox-v2-history-entry.event-completed .inbox-v2-history-icon{background:#e8f6ec}.inbox-v2-history-entry.event-spam .inbox-v2-history-icon,.inbox-v2-history-entry.event-unwanted .inbox-v2-history-icon{background:#faecec}.inbox-v2-history-entry.event-appointment_proposed .inbox-v2-history-icon{background:#f1ebf8}
@media(max-width:560px){.inbox-v2-mail-meta>div{grid-template-columns:3.6rem minmax(0,1fr)}.inbox-v2-history-entry{grid-template-columns:2.85rem 1.45rem minmax(0,1fr)}.inbox-v2-history-heading{display:block}.inbox-v2-history-heading em{display:block;margin-top:.1rem;text-align:left}}

/* Leitstand communication renderer/editor */
.inbox-v2-phone-inline{display:inline-flex;align-items:center;gap:.35rem;flex-wrap:wrap}.inbox-v2-phone-inline>a{font-weight:750;text-decoration:underline;text-underline-offset:2px}.inbox-v2-phone-inline>button{border:1px solid #bfd2cf;background:#edf6f4;border-radius:999px;padding:.18rem .52rem;font:inherit;font-size:.74rem;font-weight:750;color:#175f59}.inbox-v2-attachments{display:grid;grid-gap:.45rem;gap:.45rem;margin:1rem 0;padding-top:.8rem;border-top:1px solid #e1e7e7}.inbox-v2-attachments>a{display:grid;grid-template-columns:1.5rem minmax(0,1fr) auto;grid-gap:.5rem;gap:.5rem;align-items:center;padding:.62rem .7rem;border:1px solid #dfe6e6;border-radius:9px;text-decoration:none;color:#263434;background:#fafcfc}.inbox-v2-attachments a b{overflow-wrap:anywhere}.inbox-v2-attachments a em{font-style:normal;font-size:.78rem;color:#286c67}.inbox-v2-file-label input{display:block;margin-top:.45rem;width:100%}.inbox-v2-file-list{margin:.1rem 0 .6rem;padding-left:1.2rem;font-size:.82rem;color:#546363}.inbox-v2-check{display:flex!important;align-items:center;gap:.5rem}.inbox-v2-check input{width:auto!important}.inbox-v2-signature-settings{border-top:1px solid #e2e7e7;padding-top:.65rem}.inbox-v2-signature-settings summary{cursor:pointer;font-weight:750}.inbox-v2-signature-settings textarea{width:100%;margin:.55rem 0}.inbox-v2-signature-settings button{width:100%}

/* Leitstand: lesbare Nachrichtentexte und Hinweise in Aktionsdialogen */
.inbox-v2-mail-body span {
  font: inherit;
  text-transform: none;
  letter-spacing: normal;
  color: inherit;
}
.inbox-v2-dialog-hint {
  margin: 0 0 .8rem;
  padding: .7rem .75rem;
  border-radius: 9px;
  background: #f3f7f7;
  color: #506060;
  font-size: .86rem;
  line-height: 1.45;
}

/* Leitstand: Nachrichtentext niemals wie ein Label darstellen */
.inbox-v2-message .inbox-v2-mail-body,
.inbox-v2-message .inbox-v2-mail-body p,
.inbox-v2-message .inbox-v2-mail-body span {
  text-transform: none !important;
  letter-spacing: normal !important;
  font-weight: 400 !important;
  font-feature-settings: normal !important;
  font-variant: normal !important;
}
.inbox-v2-intent-suggestion{margin:.15rem 0 .85rem;padding:.72rem .78rem;border:1px solid #d9e4e2;border-radius:10px;background:#f4f8f7;display:grid;grid-gap:.65rem;gap:.65rem}.inbox-v2-intent-suggestion>div:first-child{display:grid;grid-gap:.18rem;gap:.18rem}.inbox-v2-intent-suggestion strong{font-size:.88rem}.inbox-v2-intent-suggestion span{font-size:.78rem;line-height:1.35;color:#657575}.inbox-v2-intent-suggestion>div:last-child{display:flex;flex-wrap:wrap;gap:.45rem}.inbox-v2-intent-suggestion button{border:1px solid #8eb5ae;background:#fff;color:#1f6259;border-radius:999px;padding:.48rem .7rem;font-size:.78rem;font-weight:750}.inbox-v2-intent-suggestion button:disabled{opacity:.55}

/* Leitstand: lange Nachrichten kompakt und lesbar */
.inbox-v2-mail-body.is-collapsed {
  position: relative;
  max-height: 18rem;
  overflow: hidden;
}
.inbox-v2-mail-body.is-collapsed::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 4rem;
  background: linear-gradient(to bottom, transparent, var(--surface, #fff));
  pointer-events: none;
}
.inbox-v2-more-button {
  display: inline-flex;
  margin: .25rem 0 .75rem;
  padding: .55rem .8rem;
  border: 1px solid var(--border, #d9dedf);
  border-radius: .55rem;
  background: transparent;
  color: var(--accent-strong, #176b68);
  font: inherit;
  font-weight: 700;
}
.inbox-v2-intent-suggestion.marketing {
  border-color: #e6c56d;
  background: #fff9e8;
}
.inbox-v2-badge.waiting.overdue {
  background: #fee2d5;
  color: #9a3412;
}
.inbox-v2-mail-body,
.inbox-v2-mail-body p,
.inbox-v2-mail-body span {
  text-transform: none !important;
  letter-spacing: normal !important;
  font-weight: 400;
}

/* Leitstand V2: gebündelte Testaufträge, Live-Status und Medicus-Übergabe */
.inbox-v2-test-status{margin:12px 0;padding:12px;border:1px solid rgba(31,76,57,.16);background:rgba(246,250,247,.92);border-radius:12px}
.inbox-v2-test-status>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}
.inbox-v2-test-status>header div{display:grid;grid-gap:2px;gap:2px}.inbox-v2-test-status>header span{font-size:.82rem;color:var(--muted,#66756d)}
.inbox-v2-test-status>header>b{font-size:.82rem;color:#245d45;background:#e3f1e8;padding:3px 7px;border-radius:999px}
.inbox-v2-test-progress{height:6px;overflow:hidden;background:#dfe8e2;border-radius:999px}.inbox-v2-test-progress i{display:block;height:100%;background:#2f7355;border-radius:inherit;transition:width .25s ease}
.inbox-v2-test-modules{display:grid;grid-gap:6px;gap:6px;margin-top:10px}.inbox-v2-test-modules span{display:flex;align-items:center;gap:7px;font-size:.86rem}.inbox-v2-test-modules span b{width:20px;text-align:center}.inbox-v2-test-modules .done{color:#245d45}.inbox-v2-test-modules .running{font-weight:700}.inbox-v2-test-modules .open{color:#6d7872}
.inbox-v2-test-status-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.inbox-v2-test-status-actions button{border:1px solid rgba(31,76,57,.2);background:#fff;padding:8px 10px;border-radius:9px;font-weight:700}.inbox-v2-test-status-actions button:first-child{background:#245d45;color:#fff;border-color:#245d45}
@media(max-width:620px){.inbox-v2-test-status{margin-inline:-2px}.inbox-v2-test-status-actions button{flex:1 1 145px}}

/* Leitstand: neuer Vorgang + PDF aus Verlauf */
.inbox-v2-create-fab{position:fixed;right:1rem;bottom:1rem;z-index:70;display:flex;flex-direction:column;align-items:flex-end;gap:.55rem}.inbox-v2-create-fab>button{width:54px;height:54px;border:0;border-radius:50%;background:#176765;color:#fff;font-size:2rem;line-height:1;box-shadow:0 8px 24px rgba(20,55,58,.28);cursor:pointer;transition:transform .18s ease}.inbox-v2-create-fab.is-open>button{transform:rotate(45deg)}.inbox-v2-create-menu{display:grid;grid-gap:.4rem;gap:.4rem;padding:.45rem;border:1px solid #d9e2e2;border-radius:14px;background:#fff;box-shadow:0 12px 30px rgba(20,55,58,.18)}.inbox-v2-create-menu a{min-width:155px;display:flex;align-items:center;gap:.7rem;padding:.68rem .8rem;border-radius:10px;color:#1f292e;text-decoration:none;font-weight:750}.inbox-v2-create-menu a:hover,.inbox-v2-create-menu a:focus-visible{background:#edf5f4}.inbox-v2-create-menu span{width:1.5rem;text-align:center;color:#176765;font-size:1.15rem}.inbox-v2-history-document{display:inline-flex;margin-top:.45rem;padding:.45rem .7rem;border:1px solid #b7cecc;border-radius:8px;background:#edf6f5;color:#155b59;text-decoration:none;font-weight:750}.inbox-v2-history-document:hover{background:#dfeeed}
/* Platz für zwei getrennte Floating-Aktionen: Live-Status links, Plus rechts. */
.live-system-status{right:5.4rem!important}
@media(max-width:640px){.inbox-v2-create-fab{right:.75rem;bottom:.75rem}.live-system-status{right:4.9rem!important}.inbox-v2-create-menu a{min-width:145px}}

/* Klinische Testergebnis-Übersicht */
.questionnaire-action-grid{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem}
.questionnaire-action-grid a{display:inline-flex;align-items:center;min-height:42px;padding:.62rem .85rem;border:1px solid var(--line,#d9d9d9);border-radius:7px;text-decoration:none;line-height:1.2;background:#fff}
.questionnaire-clinical-flags{display:grid;grid-gap:.65rem;gap:.65rem;margin:0 0 1.1rem}
.questionnaire-flag{display:flex;flex-direction:column;gap:.2rem;padding:.8rem .9rem;border-left:4px solid #7a8790;background:#f6f7f7;border-radius:5px}
.questionnaire-flag.warning{border-left-color:#b56a00;background:#fff8eb}
.questionnaire-flag span{color:var(--muted,#59656a)}
.questionnaire-overall-summary h3{margin:1rem 0 .45rem;font-size:1.15rem}
@media(max-width:700px){.questionnaire-action-grid{display:grid;grid-template-columns:1fr 1fr}.questionnaire-action-grid a{justify-content:center;text-align:center}.questionnaire-action-grid a:last-child:nth-child(odd){grid-column:1/-1}}
.inbox-v2-filter-section-label{padding:.75rem .7rem .3rem;color:#637174;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}

/* Leitstand: klare Trennung von Arbeitsbereich und Vorgangsart */
.inbox-v2-filter-section-label{
  padding:1rem .7rem .38rem;
  color:#66777b;
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.inbox-v2-filter-section-label:first-child{padding-top:.55rem}

/* Verlaufsprotokolle / installierbare Patienten-PWA */
.patient-protocol-shell{min-height:100vh;background:#f3f6f4;padding:1rem}.patient-protocol{width:min(680px,100%);margin:auto;display:grid;grid-gap:.85rem;gap:.85rem}.patient-protocol>header{padding:1rem .2rem}.patient-protocol>header span{font-size:.78rem;font-weight:800;color:#27665b}.patient-protocol h1{margin:.25rem 0}.patient-protocol section{background:#fff;border:1px solid #dce5e1;border-radius:10px;overflow:hidden}.patient-protocol section.done{background:#f1f8f4}.protocol-section-button{width:100%;display:flex;gap:.9rem;align-items:center;text-align:left;border:0;background:transparent;padding:1rem;font:inherit}.protocol-section-button>span{font-size:1.5rem}.protocol-section-button div{display:grid;grid-gap:.15rem;gap:.15rem}.protocol-section-button small{color:#68756f}.protocol-form{display:grid;grid-gap:1rem;gap:1rem;padding:0 1rem 1rem}.protocol-form label{display:grid;grid-gap:.4rem;gap:.4rem;padding-top:.8rem;border-top:1px solid #edf0ee}.protocol-form label>span{font-weight:700}.protocol-form label small,.protocol-form em{font-size:.75rem;color:#738079;font-style:normal}.protocol-form input[type=time],.protocol-form input[type=number],.protocol-form textarea{font:inherit;padding:.7rem;border:1px solid #cbd7d2;border-radius:7px}.protocol-form textarea{min-height:90px}.protocol-form input[type=range]{width:calc(100% - 2.5rem);margin-right:.7rem}.protocol-choice{display:grid;grid-template-columns:1fr 1fr;grid-gap:.5rem;gap:.5rem}.protocol-choice button{padding:.7rem;border:1px solid #adc6bd;border-radius:7px;background:#fff}.protocol-choice button.active{background:#23695c;color:#fff}.protocol-success{padding:.8rem 1rem;border-radius:8px;background:#e8f5ed;color:#1d6048;font-weight:700}.protocol-settings{padding:.8rem 1rem;background:#fff;border:1px solid #dce5e1;border-radius:9px}.protocol-admin{display:grid;grid-gap:1rem;gap:1rem}.protocol-admin section{border:1px solid #dce2df;border-radius:9px;padding:1rem}.protocol-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.8rem;gap:.8rem}.protocol-admin-grid label{display:grid;grid-gap:.35rem;gap:.35rem}.protocol-admin-grid input{padding:.65rem;border:1px solid #cbd4d0;border-radius:6px}.protocol-check{display:flex;gap:.5rem;margin:1rem 0}.protocol-admin article{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 0;border-top:1px solid #e6ebe8}.protocol-admin article div{display:grid}.protocol-admin article small{color:#6b7771}@media(max-width:620px){.protocol-admin-grid{grid-template-columns:1fr}.protocol-admin article{display:grid}.patient-protocol-shell{padding:.6rem}}

/* Zentrale Patientenstammdaten */
.patient-registry,.patient-master{display:grid;grid-gap:1rem;gap:1rem}.patient-registry-toolbar,.patient-profile-head,.protocol-section-head{display:flex;gap:.75rem;align-items:center;justify-content:space-between;flex-wrap:wrap}.patient-registry-toolbar input{min-width:min(100%,28rem);flex:1 1}.patient-create-card,.patient-list,.patient-profile-module,.patient-master details{border:1px solid var(--border-color,#d9dfdc);background:var(--surface,#fff);padding:1.1rem;border-radius:1rem}.patient-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));grid-gap:.8rem;gap:.8rem;margin:.8rem 0}.patient-form-grid label,.patient-master>details>label{display:grid;grid-gap:.35rem;gap:.35rem}.patient-form-grid input,.patient-form-grid select,.patient-form-grid textarea,.patient-registry input,.patient-master textarea{width:100%}.patient-list-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;border-top:1px solid var(--border-color,#e4e8e6);color:inherit;text-decoration:none}.patient-list-row span{display:grid;grid-gap:.2rem;gap:.2rem}.patient-list-row>span:last-child{text-align:right}.patient-list-row small,.patient-profile-head p{color:var(--muted,#69736f)}.patient-profile-head h1{margin:.15rem 0}.patient-profile-tabs{display:flex;gap:.45rem;overflow:auto;padding-bottom:.25rem}.patient-profile-tabs a{white-space:nowrap;padding:.65rem .9rem;border-radius:999px;background:#f0f2f1;color:inherit;text-decoration:none;font-weight:700}.patient-master details summary{font-size:1.15rem;font-weight:800;cursor:pointer}.patient-master details[open] summary{margin-bottom:.8rem}.patient-check-row{display:flex;gap:.9rem;flex-wrap:wrap;margin:.8rem 0}.patient-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:.45rem!important}.patient-check input{width:auto}.identifier-list{display:grid;grid-gap:.45rem;gap:.45rem;margin:.6rem 0}.identifier-list article,.patient-profile-module article{display:flex;justify-content:space-between;gap:1rem;padding:.65rem 0;border-bottom:1px solid var(--border-color,#e4e8e6)}.patient-save-bar{position:-webkit-sticky;position:sticky;bottom:.75rem;display:flex;align-items:center;justify-content:flex-end;gap:1rem;background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:.75rem;border:1px solid var(--border-color,#d9dfdc);border-radius:1rem;z-index:5}.protocol-row-actions{display:flex;gap:.8rem;flex-wrap:wrap}
@media(max-width:700px){.patient-list-row{align-items:flex-start}.patient-list-row>span:last-child{text-align:left}.patient-save-bar{justify-content:space-between}.patient-profile-head{align-items:flex-start}}

/* Patienten-App: eigenständige Einrichtung und saubere mobile Formulare */
body.patient-app-mode .internal-topbar{display:none!important}
.patient-setup-shell{min-height:100svh;background:linear-gradient(180deg,#f4f8f6 0%,#eef4f1 100%);padding:clamp(1rem,4vw,2rem);display:grid;place-items:start center}
.patient-setup-card{width:min(34rem,100%);margin-top:clamp(1rem,8vh,5rem);background:#fff;border:1px solid #d8e3de;border-radius:1.1rem;padding:clamp(1.25rem,5vw,2rem);box-shadow:0 18px 50px rgba(36,73,61,.08);display:grid;grid-gap:1rem;gap:1rem}
.patient-setup-brand{font-weight:850;color:#27665b;letter-spacing:.01em}.patient-setup-card h1{font-size:clamp(2rem,9vw,3rem);line-height:1.02;margin:0}.patient-setup-card p{margin:0;line-height:1.5}.patient-step{font-size:.78rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em;color:#65756e}.patient-date-field{display:grid;grid-gap:.45rem;gap:.45rem;margin-top:.4rem}.patient-date-field>span{font-weight:800}.patient-date-field input{width:100%;font:inherit;font-size:1.2rem;padding:.9rem 1rem;border:1px solid #bfcfc8;border-radius:.65rem;background:#fff}.patient-date-field input:focus{outline:3px solid rgba(39,102,91,.16);border-color:#27665b}.patient-date-field small{color:#6d7974}.patient-wide-button{width:100%;justify-content:center;min-height:3.25rem}.patient-setup-error,.form-inline-error{padding:.8rem .9rem;border-radius:.65rem;background:#fff0ed;color:#9b2f1e;font-weight:700}.patient-setup-note{padding:1rem;border-radius:.75rem;background:#eef6f2;color:#315c50;line-height:1.45}.patient-install-steps{display:grid;grid-gap:.7rem;gap:.7rem}.patient-install-steps article{display:grid;grid-template-columns:2.2rem 1fr;align-items:center;grid-gap:.75rem;gap:.75rem;padding:.85rem;border:1px solid #dce6e1;border-radius:.75rem;background:#fbfcfb}.patient-install-steps article>b{display:grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:999px;background:#27665b;color:#fff}
.patient-app-admin-card{display:grid;grid-gap:1rem;gap:1rem}.patient-app-status{padding:.4rem .65rem;border-radius:999px;font-size:.78rem;font-weight:850;background:#eef1ef;color:#65716c}.patient-app-status.pending{background:#fff4d8;color:#805b00}.patient-app-status.connected{background:#e8f5ed;color:#1c6948}.patient-app-admin-actions{display:flex;gap:.65rem;flex-wrap:wrap}.patient-app-share{display:grid;grid-gap:1rem;gap:1rem;padding-top:.4rem}.patient-app-share>label{display:grid;grid-gap:.4rem;gap:.4rem}.patient-app-share>label>span{font-weight:800}.patient-app-link-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:.55rem;gap:.55rem}.patient-app-link-row input{min-width:0;width:100%;padding:.75rem;border:1px solid #cbd7d1;border-radius:.55rem;background:#f7f9f8}.patient-app-share-grid{display:grid;grid-template-columns:minmax(12rem,15rem) minmax(0,1fr);grid-gap:1rem;gap:1rem}.patient-app-qr,.patient-app-mail{border:1px solid #dce5e1;border-radius:.85rem;padding:1rem;background:#fbfcfb}.patient-app-qr{display:grid;place-items:center;grid-gap:.5rem;gap:.5rem;text-align:center}.patient-app-qr img{width:min(100%,13rem);aspect-ratio:1}.patient-app-mail{display:grid;align-content:start;grid-gap:.65rem;gap:.65rem}.patient-app-mail p,.patient-app-mail small{margin:0;color:#65716c}.patient-app-devices{display:grid;grid-gap:.45rem;gap:.45rem}.patient-app-devices article{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 0;border-top:1px solid #e3e9e6}.patient-app-devices article div{display:grid}.patient-app-devices small{color:#68756f}.form-success-note{padding:.75rem .85rem;border-radius:.65rem;background:#e8f5ed;color:#1c6948;font-weight:700}
@media(max-width:620px){.patient-app-share-grid{grid-template-columns:1fr}.patient-app-link-row{grid-template-columns:1fr}.patient-app-admin-actions>*{width:100%}.patient-setup-shell{padding:.75rem}.patient-setup-card{margin-top:.5rem;border-radius:.85rem}}

/* Patienten-App: Dashboard, Formulare, Mitteilungen und Verlauf */
.patient-app-mode{background:#f4f7f5}.patient-protocol-shell{padding:0;min-height:100dvh;background:#f4f7f5}.patient-app{min-height:100dvh;padding:0 0 6.5rem;color:#18201d;background:#f4f7f5}.patient-app-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem max(1rem,calc((100% - 680px)/2));background:rgba(244,247,245,.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid #dce6e1}.patient-app-header span{display:block;color:#27695d;font-size:.8rem;font-weight:800}.patient-app-header h1{margin:.2rem 0 0;font-size:clamp(1.8rem,8vw,2.7rem);line-height:1.05}.patient-bell{position:relative;width:3rem;height:3rem;border:1px solid #d4dfda;border-radius:50%;background:#fff;font-size:1.35rem}.patient-bell b{position:absolute;right:-.15rem;top:-.15rem;display:grid;place-items:center;min-width:1.25rem;height:1.25rem;padding:0 .25rem;border-radius:99px;background:#b42318;color:#fff;font-size:.7rem}.patient-app-content{width:min(680px,100%);margin:auto;padding:1rem}.patient-app-content h2{margin:1.4rem 0 .7rem;font-size:1.25rem}.patient-today-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:.7rem;gap:.7rem}.patient-today-summary>div{display:grid;grid-gap:.2rem;gap:.2rem;padding:1rem;border:1px solid #d7e2dd;border-radius:14px;background:#fff}.patient-today-summary strong{font-size:1.05rem}.patient-today-summary span{color:#68756f;font-size:.9rem}.patient-task-list{display:grid;grid-gap:.7rem;gap:.7rem}.patient-task{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:.9rem;gap:.9rem;padding:1rem;border:1px solid #d7e2dd;border-radius:14px;background:#fff;color:inherit;text-align:left;font:inherit}.patient-task.done{background:#edf7f1}.patient-task-icon{display:grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:50%;background:#f4f1d9;font-size:1.5rem}.patient-task>span:nth-child(2){display:grid;grid-gap:.15rem;gap:.15rem}.patient-task strong{font-size:1.05rem}.patient-task small{overflow:hidden;color:#69766f;text-overflow:ellipsis}.patient-task em{font-size:1.35rem;font-style:normal;color:#317265}.patient-success{padding:.9rem 1rem;border-radius:12px;background:#e6f5eb;color:#1f684e;font-weight:800}.patient-empty{padding:1.5rem;border:1px dashed #bdccc5;border-radius:14px;text-align:center;background:#fff}.patient-empty p{margin:.35rem 0;color:#6b7872}.patient-bottom-nav{position:fixed;left:50%;bottom:0;z-index:30;width:min(680px,100%);transform:translateX(-50%);display:grid;grid-template-columns:repeat(3,1fr);padding:.5rem max(.5rem,env(safe-area-inset-bottom));border-top:1px solid #d2ddd8;background:rgba(255,255,255,.96);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.patient-bottom-nav button{display:grid;grid-gap:.15rem;gap:.15rem;place-items:center;padding:.4rem;border:0;background:transparent;color:#6a7771;font:inherit;font-size:.75rem;font-weight:700}.patient-bottom-nav button span{font-size:1.3rem}.patient-bottom-nav button.active{color:#1f6d5e}.patient-fab{position:fixed;right:max(1rem,calc((100% - 660px)/2));bottom:5.2rem;z-index:35;width:3.7rem;height:3.7rem;border:0;border-radius:50%;background:#1f6d5e;color:#fff;box-shadow:0 10px 26px rgba(31,109,94,.32);font-size:2rem}.patient-notification-list,.patient-timeline{display:grid;grid-gap:.7rem;gap:.7rem}.patient-notification-list article,.patient-timeline article{display:grid;grid-template-columns:auto 1fr;grid-gap:.85rem;gap:.85rem;padding:1rem;border:1px solid #d8e2de;border-radius:14px;background:#fff}.patient-notification-list article>span,.patient-timeline article>span{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:50%;background:#e9f3ef;color:#21695c;font-weight:900}.patient-notification-list p,.patient-timeline p{margin:.25rem 0 0;color:#68756f}.patient-timeline article div{display:grid;grid-gap:.15rem;gap:.15rem}.patient-timeline time{color:#7a8680;font-size:.75rem}.patient-sheet-backdrop{position:fixed;inset:0;z-index:50;display:flex;align-items:flex-end;justify-content:center;background:rgba(13,24,20,.45)}.patient-sheet{width:min(680px,100%);padding:0 1rem calc(1rem + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;background:#fff;box-shadow:0 -15px 50px rgba(0,0,0,.18)}.patient-sheet-handle{width:3rem;height:.3rem;margin:.55rem auto 1rem;border-radius:99px;background:#c9d1cd}.patient-sheet header{display:flex;justify-content:space-between;align-items:center}.patient-sheet header h2{margin:.2rem 0 1rem}.patient-sheet header button{border:0;background:transparent;font-size:1.8rem}.patient-event-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:.7rem;gap:.7rem}.patient-event-grid button{display:flex;align-items:center;gap:.65rem;padding:1rem;border:1px solid #d6e0dc;border-radius:13px;background:#f8faf9;font:inherit;font-weight:800}.patient-event-grid button span{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:#e4f0eb;color:#21695c}.patient-event-form{display:grid;grid-gap:1rem;gap:1rem}.patient-event-form textarea{min-height:130px;padding:1rem;border:1px solid #bfcfc8;border-radius:12px;font:inherit}.patient-event-form .text-button{border:0;background:transparent;padding:.65rem;color:#56645e;font:inherit}.patient-form-screen{display:grid;grid-template-rows:auto auto 1fr auto;padding-bottom:0}.patient-form-head{display:flex;align-items:center;gap:1rem;padding:1rem;border-bottom:1px solid #d9e3df;background:#fff}.patient-form-head button{border:0;background:transparent;color:#27695d;font:inherit;font-weight:800}.patient-form-head span{font-weight:800}.patient-progress{height:.35rem;background:#dfe8e4}.patient-progress span{display:block;height:100%;background:#247061;transition:width .25s}.patient-question-card{width:min(680px,100%);margin:auto;padding:clamp(1.25rem,6vw,2.5rem) 1rem}.patient-question-card>small{color:#68756f;font-weight:700}.patient-question-card h1{margin:.65rem 0 1.5rem;font-size:clamp(1.8rem,7vw,2.6rem);line-height:1.12}.patient-optional,.patient-help{color:#6a7771}.patient-question-card textarea,.patient-question-card input[type=time]{width:100%;min-height:3.5rem;padding:.9rem;border:1px solid #b9cbc3;border-radius:12px;background:#fff;font:inherit;font-size:1.1rem}.patient-answer-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:.8rem;gap:.8rem}.patient-answer-grid button{min-height:4rem;border:1px solid #b6cbc2;border-radius:12px;background:#fff;font:inherit;font-weight:800}.patient-answer-grid button.active{background:#236f60;color:#fff}.patient-scale{display:grid;grid-gap:.7rem;gap:.7rem;padding:1rem;border:1px solid #d0ddd7;border-radius:14px;background:#fff}.patient-scale>strong{font-size:2.2rem;text-align:center;color:#21695c}.patient-scale input{width:100%;accent-color:#21695c}.patient-scale>div{display:flex;justify-content:space-between;color:#6c7973}.patient-number{display:grid;grid-template-columns:3.5rem 1fr 3.5rem;grid-gap:.5rem;gap:.5rem}.patient-number button,.patient-number input{min-height:3.7rem;border:1px solid #bdcec7;border-radius:12px;background:#fff;text-align:center;font:inherit;font-size:1.25rem}.patient-form-actions{position:-webkit-sticky;position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:.7rem;padding:1rem max(1rem,calc((100% - 680px)/2));border-top:1px solid #d5e0db;background:rgba(255,255,255,.96);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.patient-form-actions button{flex:1 1;max-width:330px;min-height:3.3rem}.patient-app-loading,.patient-app-error{width:min(680px,100%);margin:auto;padding:2rem 1rem}.patient-app-error{margin-top:2rem;border:1px solid #eccaca;border-radius:14px;background:#fff5f5;color:#8f2424}@media(max-width:480px){.patient-app-header{padding:.9rem 1rem}.patient-app-content{padding:.75rem}.patient-event-grid{grid-template-columns:1fr}.patient-fab{right:1rem}.patient-form-actions{padding:.75rem}.patient-task{padding:.9rem}}

/* Patienten-App: internen Mitarbeiterkopf bereits vor der Client-Hydrierung ausblenden. */
body:has(.patient-app-root) .internal-topbar { display: none !important; }
body:has(.patient-app-root) { background: #f4f7f5; }
.patient-app-root { min-height: 100dvh; }

/* Patch 119: reduziertes Patientendashboard, Tagebuchmodule und Protokollverlauf */
.patient-dashboard{display:grid;grid-gap:18px;gap:18px}.patient-dashboard-head{margin-bottom:0}.patient-dashboard-actions{display:flex;gap:10px;flex-wrap:wrap}.patient-dashboard-actions button{min-width:124px}.patient-master-embedded{border-top:1px solid var(--line,#dfe6e3);padding-top:12px}.patient-master-embedded .patient-save-bar{position:-webkit-sticky;position:sticky;bottom:10px;z-index:3}
.patient-chart-card,.patient-timeline-card,.patient-module-manager{background:var(--surface,#fff);border:1px solid var(--line,#dfe6e3);border-radius:10px;padding:18px}.patient-section-title{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}.patient-section-title h2{margin:2px 0 0}.patient-range-tabs{display:flex;gap:5px;flex-wrap:wrap}.patient-range-tabs button{border:0;background:transparent;padding:7px 9px;border-radius:6px;font-size:.84rem}.patient-range-tabs button.active{background:var(--accent-soft,#e9f3ef);font-weight:700}.patient-chart-scroll{overflow-x:auto}.patient-diary-chart{width:100%;min-width:620px;height:auto}.patient-diary-chart text{font-size:11px;fill:currentColor;opacity:.65}.chart-grid{stroke:currentColor;opacity:.1;stroke-width:1}.chart-series polyline{stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.chart-series circle{fill:var(--surface,#fff);stroke:currentColor;stroke-width:3;cursor:pointer}.chart-series-0{color:#3b7c68}.chart-series-1{color:#496f9d}.chart-series-2{color:#a35d4f}.chart-series-3{color:#8a6598}.chart-series-4{color:#706a42}.chart-series-5{color:#447b88}.chart-series-6{color:#9a6b36}.chart-series-7{color:#666}.patient-chart-legend{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px;font-size:.83rem}.patient-chart-empty,.patient-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:140px;color:var(--muted,#63716d);gap:5px}.patient-timeline-card select{max-width:180px}.patient-timeline{display:grid}.patient-timeline article{border-top:1px solid var(--line,#e1e6e4)}.patient-timeline article:first-child{border-top:0}.patient-timeline article>button{width:100%;display:grid;grid-template-columns:18px 1fr auto;grid-gap:10px;gap:10px;align-items:flex-start;text-align:left;background:transparent;border:0;padding:14px 4px}.patient-timeline article>button div{display:grid;grid-gap:3px;gap:3px}.patient-timeline article>button small{color:var(--muted,#63716d)}.patient-timeline article>button span:not(.patient-timeline-dot):not(.patient-timeline-chevron){color:var(--muted,#63716d)}.patient-timeline-dot{width:10px;height:10px;border-radius:50%;background:var(--accent,#397964);margin-top:7px}.patient-timeline-chevron{font-size:1.2rem}.patient-entry-details{margin:0 0 14px 28px;padding:12px;background:var(--surface-muted,#f5f7f6);border-radius:7px;display:grid;grid-gap:8px;gap:8px}.patient-entry-details div{display:flex;justify-content:space-between;gap:20px}.patient-entry-details span{color:var(--muted,#63716d)}
.patient-module-list{display:grid;grid-gap:8px;gap:8px}.patient-module-list article{display:grid;grid-template-columns:40px 1fr auto;align-items:center;grid-gap:10px;gap:10px;border:1px solid var(--line,#dfe6e3);border-radius:8px;padding:12px}.patient-module-list article>div:nth-child(2){display:grid;grid-gap:2px;gap:2px}.patient-module-list small{color:var(--muted,#63716d)}.patient-module-icon{display:grid;place-items:center;width:36px;height:36px;background:var(--surface-muted,#f3f6f5);border-radius:50%;font-size:1.1rem}.patient-module-row-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.patient-module-row-actions button{font-size:.82rem;padding:7px 9px}.danger-link{color:#9b3d35}.patient-add-module{margin-top:14px}.patient-add-module summary{cursor:pointer;font-weight:700}.patient-module-catalog{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:8px;gap:8px;margin-top:12px}.patient-module-catalog button{display:flex;align-items:center;gap:8px;text-align:left;padding:12px;background:var(--surface,#fff);border:1px solid var(--line,#dfe6e3);border-radius:8px}.patient-module-catalog button span{font-size:1.1rem}
@media(max-width:700px){.patient-section-title{display:grid}.patient-range-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px}.patient-range-tabs button{white-space:nowrap}.patient-chart-card,.patient-timeline-card,.patient-module-manager{padding:14px}.patient-module-list article{grid-template-columns:36px 1fr}.patient-module-row-actions{grid-column:1/-1;justify-content:flex-start}.patient-entry-details{margin-left:0}.patient-dashboard-actions button{flex:1 1}.patient-timeline-card select{width:100%;max-width:none}}

/* Tagebuchmodule: dynamische Ereignisse und substanzbezogene Konfiguration */
.patient-event-form label{display:grid;grid-gap:.4rem;gap:.4rem;color:#33423c;font-weight:750}.patient-event-form input:not([type=range]):not([type=checkbox]),.patient-event-form select{width:100%;min-height:3rem;padding:.7rem .8rem;border:1px solid #bfcfc8;border-radius:10px;background:#fff;color:inherit;font:inherit}.patient-event-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:.7rem;gap:.7rem}.patient-event-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:.65rem!important}.patient-event-check input{width:1.2rem;height:1.2rem}.patient-consumption-settings{grid-column:1/-1;display:grid;grid-gap:.65rem;gap:.65rem;margin-top:.4rem;padding:.9rem;border-top:1px solid #d8e2de}.patient-consumption-settings p{margin:0;color:#68756f;font-size:.88rem}.patient-substance-chips{display:flex;flex-wrap:wrap;gap:.45rem}.patient-substance-chips button{padding:.45rem .7rem;border:1px solid #c5d3cd;border-radius:999px;background:#fff;font:inherit;font-size:.85rem}.patient-substance-chips button.active{border-color:#246f60;background:#e7f3ee;color:#1c6255;font-weight:800}@media(max-width:480px){.patient-event-row{grid-template-columns:1fr}}

/* Tagebuchsystem 1.0 */
.patient-module-config{grid-column:1/-1;margin-top:.8rem;padding-top:.8rem;border-top:1px solid #dde3df;min-width:0}
.patient-module-config h3,.patient-module-config h4{margin:.25rem 0 .75rem}
.diary-item-list{display:grid;grid-gap:.55rem;gap:.55rem}
.diary-item-list>div{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem;border:1px solid #dfe5e1;border-radius:12px;min-width:0}
.diary-item-list>div.disabled{opacity:.55}
.diary-item-list strong,.diary-item-list small{display:block;overflow-wrap:anywhere}
.diary-item-list>div>div:last-child{display:flex;gap:.35rem;flex-wrap:wrap;justify-content:flex-end}
.diary-item-list button{min-height:36px}
.diary-add-item{display:grid;grid-gap:.65rem;gap:.65rem;margin-top:1rem;padding:1rem;background:#f7f9f8;border-radius:12px}
.diary-add-item label{display:grid;grid-gap:.3rem;gap:.3rem}
.diary-add-item input,.diary-add-item select{width:100%;min-width:0}
.patient-chart-card select{margin-top:.5rem;max-width:100%}
.patient-chart-caption{margin:.5rem 0 0;color:#66716c;font-size:.92rem}
.patient-timeline article{overflow:hidden;min-width:0}
.patient-timeline article>button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;width:100%;min-width:0;align-items:start;grid-gap:.75rem;gap:.75rem;text-align:left}
.patient-timeline-main{min-width:0}
.patient-timeline-main strong,.patient-timeline-main span{display:block;overflow-wrap:anywhere;word-break:break-word}
.patient-timeline-chevron{white-space:nowrap;font-size:.88rem}
.patient-entry-details{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:.65rem;gap:.65rem;min-width:0}
.patient-entry-details>div{min-width:0}
.patient-entry-details strong{overflow-wrap:anywhere;word-break:break-word}
@media(max-width:700px){
 .patient-module-row-actions{grid-column:1/-1;width:100%;display:flex;flex-wrap:wrap}
 .patient-module-config{padding-top:.65rem}
 .diary-item-list>div{align-items:flex-start;flex-direction:column}
 .diary-item-list>div>div:last-child{justify-content:flex-start;width:100%}
 .patient-section-title{align-items:flex-start}
 .patient-range-tabs{width:100%;overflow-x:auto;display:flex;flex-wrap:nowrap}
 .patient-range-tabs button{flex:0 0 auto}
 .patient-timeline article>button{grid-template-columns:auto minmax(0,1fr)}
 .patient-timeline-chevron{grid-column:2;justify-self:start}
 .patient-entry-details{grid-template-columns:1fr}
}

/* Tagebuchsystem 2.0 / teiltransparente Patientenakte */
.patient-therapy-card{margin:1rem 0;padding:1rem;background:var(--card,#fff);border:1px solid rgba(0,0,0,.09);border-radius:8px}
.patient-therapy-timeline{display:grid;grid-gap:.65rem;gap:.65rem}.patient-therapy-timeline article{display:grid;grid-template-columns:minmax(135px,180px) 1fr;grid-gap:1rem;gap:1rem;padding:.75rem 0;border-top:1px solid rgba(0,0,0,.08)}.patient-therapy-timeline time,.patient-therapy-timeline small{color:var(--muted,#64748b);font-size:.85rem}.patient-therapy-timeline div{display:grid;grid-gap:.2rem;gap:.2rem}
.patient-visibility{border:1px solid rgba(0,0,0,.12);border-radius:8px;padding:.75rem;display:grid;grid-gap:.5rem;gap:.5rem}.patient-visibility legend{font-weight:700;padding:0 .25rem}.patient-visibility label{display:flex;gap:.5rem;align-items:center}.patient-cost-input{display:flex;align-items:center;gap:.5rem}.patient-cost-input input{flex:1 1}.patient-cost-input span{font-weight:700}
@media(max-width:700px){.patient-therapy-timeline article{grid-template-columns:1fr;gap:.25rem}.patient-dashboard-actions{display:flex;flex-wrap:wrap;gap:.5rem}}

/* Patch: Patientenakte, kompaktes Patientenmenü und kontextbezogener PZFP-Aktionsbutton */
.patient-dashboard,.patient-dashboard *{min-width:0;box-sizing:border-box}
.patient-dashboard h1,.patient-dashboard h2,.patient-dashboard h3,.patient-dashboard h4,.patient-dashboard p,.patient-dashboard span,.patient-dashboard strong,.patient-dashboard small,.patient-dashboard a{overflow-wrap:anywhere;word-break:break-word}
.patient-mobile-nav{position:relative;display:flex;align-items:center;gap:.75rem;min-height:3rem;padding:.55rem .7rem;border:1px solid var(--line,#dfe6e3);border-radius:9px;background:var(--surface,#fff)}
.patient-mobile-nav>strong{font-size:1rem}.patient-nav-trigger{display:grid;place-items:center;width:2.35rem;height:2.35rem;padding:0;border:0;border-radius:7px;background:var(--surface-muted,#f1f5f3);font-size:1.15rem}
.patient-nav-menu{position:absolute;z-index:35;top:calc(100% + .4rem);left:0;width:min(19rem,calc(100vw - 2rem));display:grid;padding:.45rem;border:1px solid #d7e1dc;border-radius:10px;background:#fff;box-shadow:0 16px 40px rgba(24,48,40,.16)}
.patient-nav-menu button,.patient-nav-menu a{display:block;width:100%;padding:.75rem .8rem;border:0;border-radius:7px;background:transparent;text-align:left;color:inherit;font:inherit;text-decoration:none}.patient-nav-menu button:hover,.patient-nav-menu a:hover{background:#eef4f1}
.patient-record{display:grid;grid-gap:.8rem;gap:.8rem}.patient-record-title{display:flex;justify-content:space-between;align-items:end}.patient-record-title h2{margin:.1rem 0}.patient-record-title small{color:var(--muted,#65736d)}
.patient-record-tools{position:-webkit-sticky;position:sticky;z-index:18;top:0;display:grid;grid-template-columns:minmax(0,1fr) 2.8rem;grid-gap:.55rem;gap:.55rem;padding:.55rem;background:rgba(244,247,245,.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid #dce5e1;border-radius:10px}
.patient-record-search{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;grid-gap:.45rem;gap:.45rem;padding:0 .7rem;border:1px solid #cbd7d1;border-radius:8px;background:#fff}.patient-record-search input{width:100%;min-height:2.65rem;border:0;outline:0;background:transparent;font:inherit}.patient-record-tools>button{border:1px solid #cbd7d1;border-radius:8px;background:#fff;font-size:1.05rem}.patient-record-tools>button.active{background:#e6f1ec;border-color:#2d6e5c}
.patient-filter-sheet{display:grid;grid-gap:.8rem;gap:.8rem;padding:1rem;border:1px solid #d9e3de;border-radius:10px;background:#fff;box-shadow:0 14px 34px rgba(35,65,55,.1)}.patient-filter-sheet-head,.diary-panel-head{display:flex;justify-content:space-between;align-items:center;gap:.8rem}.patient-filter-sheet-head button,.diary-panel-head button{width:2rem;height:2rem;border:0;border-radius:6px;background:#eef3f1;font-size:1.2rem}.patient-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));grid-gap:.5rem;gap:.5rem}.patient-filter-grid label{display:flex;align-items:center;gap:.5rem;padding:.6rem;border:1px solid #e0e7e3;border-radius:8px}.patient-filter-grid input{width:1.05rem;height:1.05rem}
.patient-record-list{display:grid;grid-gap:.55rem;gap:.55rem}.patient-record-card{--record-accent:#55766b;display:grid;grid-template-columns:2.6rem minmax(0,1fr) 2rem;align-items:center;grid-gap:.7rem;gap:.7rem;padding:.8rem;border:1px solid #dce5e1;border-left:4px solid var(--record-accent);border-radius:9px;background:#fff}.patient-record-card>div{display:grid;grid-gap:.15rem;gap:.15rem}.patient-record-card small{color:#68756f;font-size:.78rem}.patient-record-card strong{font-size:.96rem}.patient-record-card>div>span{color:#50605a;font-size:.88rem}.patient-record-card>button{width:2rem;height:2rem;border:0;border-radius:6px;background:#f0f4f2;font-size:1.3rem}.patient-record-icon{display:grid;place-items:center;width:2.45rem;height:2.45rem;border-radius:50%;background:#eef4f1;font-size:1.05rem}.category-diary{--record-accent:#397964}.category-module{--record-accent:#6a5b91}.category-medicus{--record-accent:#2e6d74}.category-note{--record-accent:#59666f}.category-sharing{--record-accent:#9a7433}
.patient-module-list article{overflow:hidden}.patient-module-row-actions{flex-wrap:nowrap}.patient-icon-button{display:grid;place-items:center;width:2.35rem;height:2.35rem;padding:0!important;border:1px solid #ced9d4;border-radius:7px;background:#fff;font-size:1rem!important}.patient-icon-button:hover{background:#eef4f1}.patient-icon-button.danger-link{color:#973d35}
.patient-module-config input:not([type=checkbox]),.patient-module-config select,.patient-module-config textarea{width:100%;min-width:0;min-height:2.75rem;padding:.65rem .75rem;border:1px solid #bdcbc5;border-radius:8px;background:#fff;color:inherit;font:inherit}.patient-module-config input:focus,.patient-module-config select:focus,.patient-module-config textarea:focus{outline:3px solid rgba(39,102,91,.14);border-color:#27665b}
.diary-item-list>div{display:grid!important;grid-template-columns:2.2rem minmax(0,1fr) auto;align-items:center!important;grid-gap:.65rem!important;gap:.65rem!important;padding:.65rem!important}.diary-item-list>div.dragging{opacity:.55;box-shadow:0 10px 25px rgba(30,63,52,.14)}.diary-drag-handle{width:2.1rem;min-height:2.4rem!important;padding:0;border:0;background:transparent;cursor:-webkit-grab;cursor:grab;font-size:1.2rem;letter-spacing:-.2rem;color:#69766f}.diary-drag-handle:active{cursor:-webkit-grabbing;cursor:grabbing}.diary-item-copy{min-width:0}.diary-state-button{white-space:nowrap;padding:.55rem .7rem;border:1px solid #ccd8d2;border-radius:7px;background:#fff}
.diary-add-item,.diary-template-panel{display:grid;grid-gap:.7rem;gap:.7rem;margin-top:1rem;padding:1rem;background:#f7f9f8;border:1px solid #e0e7e3;border-radius:10px}.diary-add-item h4,.diary-template-panel h4{margin:0}.patient-check-row{display:flex!important;grid-template-columns:none!important;align-items:center;gap:.55rem!important}.patient-check-row input{width:1.1rem;height:1.1rem}.diary-template-list{display:grid;grid-gap:.45rem;gap:.45rem}.diary-template-list button{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem;border:1px solid #d7e1dc;border-radius:8px;background:#fff;text-align:left}.diary-template-list small{color:#68756f}
.pzfp-context-fab{position:fixed;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));z-index:50;display:grid;justify-items:end;grid-gap:.55rem;gap:.55rem}.pzfp-context-actions{display:grid;grid-gap:.4rem;gap:.4rem;justify-items:end}.pzfp-context-actions button{min-width:8.5rem;padding:.65rem .85rem;border:1px solid #cad7d1;border-radius:999px;background:#fff;box-shadow:0 7px 18px rgba(19,49,39,.14);font:inherit;text-align:left}.pzfp-fab-button{display:flex;align-items:center;gap:.65rem;min-height:3.4rem;padding:.6rem .7rem .6rem 1rem;border:0;border-radius:999px;background:#164f42;color:#fff;box-shadow:0 12px 28px rgba(15,65,51,.28);font:inherit;font-weight:850}.pzfp-fab-button b{display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:50%;background:#f1d64b;color:#173a31;font-size:1.55rem;line-height:1;transition:transform .2s ease}.pzfp-context-fab.open .pzfp-fab-button b{transform:rotate(45deg)}
@media(max-width:700px){.patient-dashboard-head{display:grid;grid-gap:.6rem;gap:.6rem}.patient-record-tools{top:0}.patient-record-card{grid-template-columns:2.45rem minmax(0,1fr) 1.8rem;padding:.7rem}.patient-filter-grid{grid-template-columns:1fr 1fr}.patient-module-list article{grid-template-columns:2.4rem minmax(0,1fr) auto}.patient-module-row-actions{grid-column:auto;justify-content:flex-end}.diary-item-list>div{grid-template-columns:2rem minmax(0,1fr);}.diary-state-button{grid-column:2;justify-self:start}.patient-module-config{width:100%;overflow:hidden}.patient-module-config label{min-width:0}.patient-module-config input,.patient-module-config select{max-width:100%}.pzfp-context-fab{bottom:max(1rem,env(safe-area-inset-bottom))}}
@media(max-width:420px){.patient-filter-grid{grid-template-columns:1fr}.patient-module-list article{grid-template-columns:2.4rem minmax(0,1fr)}.patient-module-row-actions{grid-column:1/-1;justify-content:flex-end}.patient-record-card{grid-template-columns:2.25rem minmax(0,1fr)}.patient-record-card>button{display:none}}

/* Tagebuchbibliothek / globale schwebende Elemente */
.live-system-status{left:max(.75rem,env(safe-area-inset-left))!important;right:auto!important;bottom:max(.75rem,env(safe-area-inset-bottom))!important}
.live-system-status.is-collapsed{left:max(.75rem,env(safe-area-inset-left))!important;right:auto!important}
.diary-editor-overlay{position:fixed;inset:0;z-index:95;display:grid;align-items:end;justify-items:center;padding:1rem;background:rgba(20,35,30,.32);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.diary-editor-overlay>.diary-add-item,.diary-editor-overlay>.diary-template-panel{width:min(42rem,100%);max-height:min(78vh,50rem);overflow:auto;margin:0;padding:1rem 1rem max(1rem,env(safe-area-inset-bottom));border:1px solid #ccd8d2;border-radius:14px 14px 10px 10px;background:#fff;box-shadow:0 22px 65px rgba(14,45,35,.28)}
.diary-template-list button{min-width:0}.diary-template-list strong,.diary-template-list small{overflow-wrap:anywhere}
@media(min-width:760px){.diary-editor-overlay{align-items:center}.diary-editor-overlay>.diary-add-item,.diary-editor-overlay>.diary-template-panel{border-radius:14px}}
.diary-config-title{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.diary-config-title h3{margin:0}.diary-config-title .secondary-small{white-space:normal}

/* Patientenakte: gleiche Änderungen eines Tages ruhig zusammenfassen und aufklappbar halten. */
.patient-record-card {
  cursor: pointer;
}
.patient-record-card:focus-visible {
  outline: 3px solid rgba(45, 110, 92, .22);
  outline-offset: 2px;
}
.patient-record-card.is-open {
  align-items: start;
}
.patient-record-details {
  grid-column: 2 / -1;
  display: grid;
  grid-gap: .35rem;
  gap: .35rem;
  margin-top: .4rem;
  padding-top: .55rem;
  border-top: 1px solid #e2e9e6;
}
.patient-record-details > div {
  display: grid;
  grid-template-columns: minmax(8.5rem, auto) minmax(0, 1fr);
  grid-gap: .65rem;
  gap: .65rem;
  align-items: baseline;
}
.patient-record-details time {
  color: #68756f;
  font-size: .78rem;
}
.patient-record-details span {
  color: #33443e;
  font-size: .86rem;
}
@media(max-width:420px) {
  .patient-record-details {
    grid-column: 1 / -1;
  }
  .patient-record-details > div {
    grid-template-columns: 1fr;
    gap: .08rem;
  }
}

/* Patientenakte: verständliche Moduländerungen statt technischer Audit-Texte. */
.patient-record-detail-row > span{display:grid;grid-gap:.12rem;gap:.12rem}
.patient-record-detail-row > span>strong{font-size:.88rem;color:#263a33}
.patient-record-detail-row > span>small{font-size:.78rem;color:#68756f}
.patient-record-detail-row > span>em{font-style:normal;font-size:.78rem;color:#3c5e52}

/* Objektkarte Test in der Patientenakte */
.patient-record-card.category-test { border-left: 4px solid #2f6b66; }
.patient-record-card.category-test .patient-record-icon { background: rgba(47,107,102,.1); }
.patient-test-card-details { display:grid; grid-gap:.85rem; gap:.85rem; width:100%; }
.patient-test-steps { display:grid; grid-gap:.5rem; gap:.5rem; }
.patient-test-steps > div { display:flex; gap:.65rem; align-items:flex-start; padding:.5rem .6rem; border-radius:6px; background:rgba(24,48,52,.035); }
.patient-test-steps b { width:1.2rem; flex:0 0 1.2rem; text-align:center; }
.patient-test-steps .done b { color:#24634f; }
.patient-test-steps .pending { opacity:.7; }
.patient-test-steps span,.patient-test-steps strong,.patient-test-steps small { display:block; }
.patient-test-steps small { margin-top:.15rem; color:var(--muted,#5f6d72); font-weight:500; }
.patient-test-actions { display:flex; flex-wrap:wrap; gap:.55rem; align-items:center; }
.patient-test-actions a { text-decoration:none; border:1px solid rgba(28,43,50,.16); border-radius:6px; padding:.55rem .75rem; background:#fff; font-weight:700; color:inherit; }
.patient-test-actions span { color:var(--muted,#5f6d72); font-size:.9rem; }

/* Patient test request dialog */
.test-request-backdrop{position:fixed;inset:0;z-index:120;background:rgba(12,28,24,.55);display:grid;place-items:center;padding:1rem}.test-request-dialog{width:min(760px,100%);max-height:min(92vh,900px);overflow:auto;background:#fff;border-radius:14px;box-shadow:0 28px 80px rgba(0,0,0,.3);padding:1.1rem}.test-request-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.test-request-dialog h2{margin:.1rem 0 0}.test-request-close{border:0;background:transparent;font-size:2rem;line-height:1;padding:0 .25rem}.test-request-progress{display:grid;grid-template-columns:2rem auto 1fr 2rem auto;align-items:center;grid-gap:.45rem;gap:.45rem;margin:.5rem 0 1rem;color:#65736e}.test-request-progress b{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:#164f42;color:#fff}.test-request-progress i{height:2px;background:#d4ddd9}.test-patient-search{position:relative;display:grid;grid-gap:.35rem;gap:.35rem}.test-patient-search input{width:100%}.test-patient-results{position:absolute;left:0;right:0;top:100%;z-index:3;background:#fff;border:1px solid #cad7d1;box-shadow:0 12px 28px rgba(19,49,39,.15);max-height:18rem;overflow:auto}.test-patient-results button{width:100%;display:grid;grid-gap:.15rem;gap:.15rem;text-align:left;padding:.7rem;border:0;border-bottom:1px solid #e4ebe8;background:#fff}.test-patient-results button:hover{background:#f1f7f4}.test-patient-results small,.test-selected-patient span{color:#60716a}.test-selected-patient{display:grid;grid-gap:.15rem;gap:.15rem;margin:.6rem 0;padding:.7rem;background:#eef6f2;border-left:4px solid #164f42}.test-template-row,.test-share-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin:.8rem 0}.test-template-row button,.test-share-actions button{padding:.55rem .75rem}.test-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.45rem;gap:.45rem;max-height:38vh;overflow:auto;padding:.15rem}.test-module-grid label{display:flex;gap:.55rem;align-items:flex-start;border:1px solid #d8e1dd;padding:.65rem;border-radius:8px}.test-module-grid span{display:grid;grid-gap:.12rem;gap:.12rem}.test-module-grid small{color:#65736e}.test-selection-summary{display:grid;grid-gap:.2rem;gap:.2rem;margin:.8rem 0;padding:.7rem;background:#f5f7f6}.test-selection-summary span{font-size:.9rem;color:#596a64}.test-request-dialog footer{display:flex;justify-content:flex-end;gap:.55rem;margin-top:1rem}.test-connection-status{display:grid;grid-template-columns:1rem 1fr;grid-gap:.15rem .55rem;gap:.15rem .55rem;align-items:center;padding:.8rem;border-radius:8px;margin-bottom:.8rem}.test-connection-status>span{grid-row:1/3;width:.8rem;height:.8rem;border-radius:50%;background:#d59b21}.test-connection-status small{grid-column:2;color:#60716a}.test-connection-status.connected{background:#edf7f1}.test-connection-status.connected>span{background:#2d8a57}.test-connection-status.waiting{background:#fff7e5}.test-qr-button{display:grid;justify-items:center;grid-gap:.4rem;gap:.4rem;width:100%;border:0;background:#fff;padding:.3rem}.test-qr-button img{width:min(360px,75vw);height:min(360px,75vw)}.test-qr-button span{font-size:.9rem;color:#60716a}.test-qr-fullscreen{position:fixed;inset:0;z-index:140;background:#fff;display:grid;place-items:center;align-content:center;grid-gap:1rem;gap:1rem}.test-qr-fullscreen img{width:min(82vw,82vh);height:min(82vw,82vh)}.test-qr-fullscreen>button{position:absolute;right:1rem;top:1rem;border:0;background:transparent;font-size:2.5rem}.test-qr-fullscreen strong{font-size:1.35rem}.test-request-dialog .questionnaire-link{display:flex;gap:.45rem}.test-request-dialog .questionnaire-link input{min-width:0;flex:1 1}
@media(max-width:700px){.test-request-backdrop{padding:0;place-items:end center}.test-request-dialog{width:100%;max-height:96vh;border-radius:14px 14px 0 0;padding:.9rem}.test-module-grid{grid-template-columns:1fr}.test-request-progress{grid-template-columns:2rem auto 1fr 2rem auto;font-size:.88rem}.test-request-dialog .questionnaire-link{flex-direction:column}.test-request-dialog footer>*{flex:1 1}.test-qr-button img{width:min(78vw,340px);height:min(78vw,340px)}}
.test-patient-search-state{display:block;padding:.45rem .15rem 0;color:#66736e;font-size:.84rem}.test-patient-results{z-index:120;max-height:min(18rem,42vh);overflow-y:auto;overscroll-behavior:contain;box-shadow:0 12px 28px rgba(25,45,37,.18)}

/* Gemeinsame, schnelle Patientensuche */
.patient-autocomplete{position:relative;width:100%;min-width:0}
.patient-autocomplete>input{width:100%;min-height:46px;padding:.7rem .8rem;border:1px solid var(--border-color,#cfd7d3);border-radius:5px;background:#fff;font:inherit}
.patient-autocomplete-state{display:block;margin:.35rem .15rem 0;color:var(--muted,#68736e);font-size:.86rem}
.patient-autocomplete-state.error{color:#9b2d2d}
.patient-autocomplete-results{position:static;margin-top:.35rem;max-height:min(18rem,38vh);overflow:auto;overscroll-behavior:contain;background:#fff;border:1px solid var(--border-color,#ced8d3);border-radius:6px;box-shadow:0 8px 22px rgba(20,38,31,.12)}
.patient-autocomplete-results button{display:grid;width:100%;grid-gap:.18rem;gap:.18rem;padding:.75rem .8rem;text-align:left;border:0;border-bottom:1px solid #e7ebe9;background:#fff;color:inherit}
.patient-autocomplete-results button:last-child{border-bottom:0}
.patient-autocomplete-results button:hover,.patient-autocomplete-results button:focus{background:#f2f7f4}
.patient-autocomplete-results strong,.patient-autocomplete-results small{display:block}
.patient-autocomplete-results small{color:var(--muted,#68736e)}
.patient-registry-toolbar>.patient-autocomplete{flex:1 1;min-width:min(100%,22rem)}
.questionnaire-form-grid .patient-search-field{position:relative;overflow:visible}
.patient-search-hint{padding:.9rem 1rem}
.patient-search-hint h2{margin:0 0 .25rem}
.patient-search-hint p{margin:0;color:var(--muted,#68736e)}
@media(max-width:760px){.patient-registry-toolbar{display:grid;grid-template-columns:1fr}.patient-registry-toolbar>*{width:100%}.patient-autocomplete-results{max-height:min(15rem,32vh)}}


/* Testkarten: Karte klappt Verlauf auf, drei Punkte öffnen den vollständigen Datensatz. */
.patient-record-more {
  align-self: start;
  display: grid;
  place-items: center;
  min-width: 42px;
  min-height: 42px;
  border-radius: 8px;
  font-size: 1.65rem;
  line-height: 1;
  text-decoration: none;
  color: inherit;
}
.patient-record-more:hover,
.patient-record-more:focus-visible { background: rgba(17, 83, 68, .08); }
.questionnaire-detail-actions { margin-top: 1rem; }
.questionnaire-detail-actions .danger-button { border-color: #a63232; color: #8d2020; }

/* Patientenakte V2: kompakter Patientenkopf, schlichte Suche und klarer Filter. */
.patient-summary-card{position:relative;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem .8rem;border:1px solid #dce5e1;border-radius:9px;background:#fff}
.patient-summary-link{display:flex;align-items:baseline;gap:.38rem;min-width:0;padding:0;border:0;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer}
.patient-summary-link strong{font-size:1.08rem;white-space:nowrap}.patient-summary-link span{color:#64716c;font-size:.92rem;white-space:nowrap}
.patient-summary-menu{top:calc(100% + .45rem);right:0;left:auto;min-width:13rem;z-index:40}
.patient-record{gap:.65rem}.patient-record-tools{position:-webkit-sticky;position:sticky;top:0;grid-template-columns:minmax(0,1fr) 2.8rem;padding:0;border:0;background:rgba(244,247,245,.96)}
.patient-record-search{border-radius:7px}.patient-record-tools>button{display:grid;place-items:center;border-radius:7px}
.patient-record-tools .filter-icon{display:block;font-size:1.4rem;line-height:1;transform:rotate(90deg)}

/* Patientensuche: nur großes Suchfeld und FAB zum Anlegen. */
.patient-search-page .content{padding-top:clamp(1rem,7vh,5rem)}
.patient-registry-simple{min-height:65vh;align-content:start}
.patient-search-main{width:min(48rem,100%);margin:0 auto}
.patient-search-main .patient-autocomplete>input{min-height:3.7rem;padding:0 1.1rem;border-radius:8px;font-size:1.08rem;box-shadow:0 8px 24px rgba(27,55,45,.06)}
.patient-registry-simple .patient-create-card{width:min(48rem,100%);margin:1rem auto 5rem}
.patient-recent-label{display:block;padding:.55rem .8rem .35rem;color:#65736d;font-weight:700;background:#f7f9f8}
@media(max-width:560px){.patient-summary-link{flex-wrap:wrap;gap:.2rem .35rem}.patient-summary-link strong{font-size:1rem}.patient-summary-link span{font-size:.85rem}.patient-search-page .content{padding-top:1rem}}

/* Patientenakte: offene Vorgänge, echter Filter und PVS-Synchronisation */
.patient-summary-card{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"patient menu" "open menu";grid-row-gap:.25rem;row-gap:.25rem}
.patient-summary-link{grid-area:patient}.patient-nav-trigger{grid-area:menu;align-self:start}.patient-open-processes{grid-area:open;justify-self:start;border:0;background:transparent;padding:0;color:#8a4d1e;font-size:.82rem;font-weight:700;cursor:pointer}.patient-open-processes.active{color:#184f3d;text-decoration:underline;text-underline-offset:3px}
.patient-record-tools .filter-icon{width:1.35rem;height:1.35rem;transform:none}
.patient-filter-quick{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:.7rem}.patient-filter-quick button{border:1px solid #cbd7d1;border-radius:999px;background:#fff;padding:.45rem .7rem;font-weight:700}.patient-filter-quick button.active{background:#e6f1ec;border-color:#2d6e5c;color:#184f3d}
.patient-pvs-toolbar{display:grid;grid-gap:.55rem;gap:.55rem;padding:.75rem;border:1px solid #b9cec6;border-radius:9px;background:#eef6f2}.patient-pvs-toolbar>div:first-child{display:flex;justify-content:space-between;gap:.75rem}.patient-pvs-toolbar span{color:#5c6c65;font-size:.84rem}.patient-pvs-toolbar>div:last-child{display:flex;flex-wrap:wrap;gap:.45rem}.patient-pvs-toolbar button{border:1px solid #2d6e5c;border-radius:7px;background:#fff;padding:.5rem .7rem;font-weight:700;color:#184f3d}.patient-pvs-toolbar button:first-child{background:#184f3d;color:#fff}.patient-pvs-toolbar button:disabled{opacity:.45}
.patient-pvs-select{display:grid;place-items:center;width:2.45rem;height:2.45rem}.patient-pvs-select input{width:1.15rem;height:1.15rem;accent-color:#184f3d}.patient-pvs-status{display:inline-flex;width:max-content;margin-top:.2rem;border-radius:999px;padding:.2rem .45rem;background:#fff3cf;color:#775900;font-size:.75rem;font-style:normal;font-weight:700}.patient-pvs-status.status-transferred{background:#e2f3e9;color:#185337}.patient-pvs-status.status-not_required{background:#edf0ef;color:#59645f}

/* Testdetail: kompakte Kartenansicht wiederhergestellt (18.07.2026). */
.test-detail-v3{display:grid;grid-gap:1rem;gap:1rem;width:min(920px,100%);margin:0 auto;padding-bottom:7rem}
.patient-detail-header-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:.8rem;gap:.8rem;padding:1rem 1.15rem;border:1px solid #d8e3de;border-radius:10px;background:#fff;box-shadow:0 1px 2px rgba(20,45,36,.03)}
.patient-detail-identity{min-width:0}
.patient-detail-identity a,.patient-detail-identity>div{display:flex;align-items:baseline;gap:.35rem;min-width:0;color:inherit;text-decoration:none}
.patient-detail-identity strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.18rem}
.patient-detail-identity span{color:#67756f;white-space:nowrap;font-size:1rem}
.patient-detail-burger{display:grid;place-items:center;width:3rem;height:3rem;border:0;border-radius:8px;background:#edf3f0;color:#174f42;font-size:1.75rem;line-height:1;cursor:pointer}
.patient-detail-nav-menu{position:absolute;right:1rem;top:calc(100% + .45rem);z-index:80;display:grid;min-width:13.5rem;padding:.4rem;border:1px solid #d6e1dc;border-radius:9px;background:#fff;box-shadow:0 16px 38px rgba(22,54,43,.18)}
.patient-detail-nav-menu a{padding:.72rem .8rem;border-radius:6px;color:inherit;text-decoration:none;font-weight:700}
.patient-detail-nav-menu a:hover,.patient-detail-nav-menu a:focus-visible{background:#eef4f1}
.test-summary-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;grid-gap:1rem;gap:1rem;padding:1.35rem 1.45rem;border:1px solid #d8e3de;border-radius:10px;background:#fff;box-shadow:0 1px 2px rgba(20,45,36,.03)}
.test-summary-copy{display:grid;grid-gap:.45rem;gap:.45rem;min-width:0}
.test-summary-copy small{color:#697770;font-size:.9rem;letter-spacing:.12em;text-transform:uppercase}
.test-summary-copy h1{margin:0;font-size:clamp(2rem,7vw,3rem);line-height:1.05;overflow-wrap:anywhere}
.test-summary-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.2rem;color:#68766f}
.test-status-chip{display:inline-flex;align-items:center;min-height:2rem;padding:.35rem .75rem;border-radius:999px;background:#e6f3ed;color:#185541;font-weight:800}
.test-object-menu{position:relative}
.test-object-menu-trigger{display:grid;place-items:center;width:2.75rem;height:2.75rem;border:0;border-radius:8px;background:transparent;color:#164f42;font-size:2rem;line-height:1;cursor:pointer}
.test-object-menu-trigger:hover,.test-object-menu-trigger:focus-visible{background:#eef4f1}
.test-object-menu-popover{position:absolute;right:0;top:calc(100% + .4rem);z-index:85;display:grid;min-width:13.5rem;padding:.4rem;border:1px solid #d6e1dc;border-radius:9px;background:#fff;box-shadow:0 16px 38px rgba(22,54,43,.18)}
.test-object-menu-popover a,.test-object-menu-popover button{display:block;width:100%;padding:.72rem .8rem;border:0;border-radius:6px;background:transparent;color:inherit;text-align:left;text-decoration:none;font:inherit;font-weight:700;cursor:pointer}
.test-object-menu-popover a:hover,.test-object-menu-popover button:hover{background:#eef4f1}
.test-object-menu-popover .danger-text{color:#9b2929}
.test-detail-section-card{padding:1.35rem 1.45rem;border:1px solid #d8e3de;border-radius:10px;background:#fff;box-shadow:0 1px 2px rgba(20,45,36,.03)}
.test-detail-section-card h2{margin:0 0 1rem;font-size:clamp(1.7rem,5vw,2.2rem)}
.test-detail-section-card .patient-test-steps{gap:.55rem}
.test-detail-section-card .patient-test-steps>div{align-items:center;min-height:4rem;padding:.75rem 1rem;border-radius:8px;background:#f3f6f4}
.test-detail-section-card .patient-test-steps b{font-size:1.45rem}
.test-detail-section-card .patient-test-steps strong{font-size:1.08rem}
.test-detail-section-card .patient-test-steps small{font-size:.92rem}
.test-detail-section-card>.muted{margin:1.25rem 0 0;color:#5f6d67;font-size:1.05rem;line-height:1.5}
.test-detail-toast{position:fixed;left:50%;bottom:6rem;z-index:90;transform:translateX(-50%);padding:.7rem 1rem;border-radius:8px;background:#164f42;color:#fff;box-shadow:0 10px 24px rgba(15,65,51,.25)}
.test-context-fab .pzfp-context-actions a,.test-context-fab .pzfp-context-actions button{display:block;min-width:12rem;padding:.7rem .9rem;border:1px solid #cad7d1;border-radius:999px;background:#fff;color:inherit;box-shadow:0 7px 18px rgba(19,49,39,.14);font:inherit;font-weight:700;text-align:left;text-decoration:none}
@media(max-width:700px){
  .test-detail-v3{gap:.75rem;padding:.5rem .5rem 6.5rem}
  .patient-detail-header-card{padding:.85rem .95rem}
  .patient-detail-identity strong{font-size:1.05rem}
  .patient-detail-identity span{font-size:.92rem}
  .test-summary-card{padding:1.05rem 1rem}
  .test-summary-copy h1{font-size:clamp(2rem,11vw,2.7rem)}
  .test-detail-section-card{padding:1.05rem 1rem}
  .test-detail-section-card .patient-test-steps>div{min-height:3.75rem;padding:.7rem .8rem}
}

/* Fragebogen: live gespeicherter Zwischenstand und schwebender Abschluss */
.patient-questionnaire-form{padding-bottom:7.5rem}
.questionnaire-floating-status{position:fixed;left:50%;bottom:max(1rem,env(safe-area-inset-bottom));z-index:80;width:min(760px,calc(100vw - 1.25rem));transform:translateX(-50%);display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;grid-gap:.75rem;gap:.75rem;padding:.75rem;background:rgba(255,255,255,.96);border:1px solid rgba(25,87,70,.18);border-radius:18px;box-shadow:0 12px 34px rgba(20,45,38,.2);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.questionnaire-floating-status>div{display:grid;min-width:0}.questionnaire-floating-status strong{font-size:.98rem}.questionnaire-floating-status small{color:var(--muted,#5f6d72)}
.questionnaire-floating-status button{white-space:nowrap;margin:0}
@media(max-width:640px){.patient-questionnaire-form{padding-bottom:10rem}.questionnaire-floating-status{grid-template-columns:1fr auto;gap:.55rem;border-radius:14px}.questionnaire-floating-status>div{grid-column:1/-1}.questionnaire-floating-status button{width:100%;padding:.72rem .85rem}}

/* Patientenakte: Kopfkarte wieder kompakt halten (18.07.2026). */
.patient-dashboard>.patient-summary-card{
  align-content:start;
  align-items:start;
  grid-auto-rows:max-content;
  min-height:0;
  height:auto;
  padding:.72rem .82rem;
  row-gap:.12rem;
}
.patient-dashboard>.patient-summary-card .patient-summary-link{
  align-self:start;
  min-height:0;
  line-height:1.2;
}
.patient-dashboard>.patient-summary-card .patient-open-processes{
  align-self:start;
  margin-top:.08rem;
  line-height:1.2;
}
.patient-dashboard>.patient-summary-card .patient-nav-trigger{
  align-self:start;
}
@media(max-width:560px){
  .patient-dashboard>.patient-summary-card{
    padding:.68rem .75rem;
    row-gap:.1rem;
  }
  .patient-dashboard>.patient-summary-card .patient-summary-link{
    flex-wrap:nowrap;
  }
}

/* Patientenakte: Eintragskarten kompakt halten; Menü oben ausrichten (18.07.2026). */
.patient-dashboard .patient-record-card{
  min-height:0;
  height:auto;
  align-content:start;
  align-items:start;
  grid-auto-rows:max-content;
  padding:.72rem .78rem;
}
.patient-dashboard .patient-record-card>.patient-record-icon{
  align-self:start;
}
.patient-dashboard .patient-record-card>div{
  align-self:start;
  min-height:0;
}
.patient-dashboard .patient-record-card>button{
  align-self:start;
  justify-self:end;
  margin:0;
}
.patient-dashboard .patient-record-card:not(.is-open) .patient-record-details{
  display:none;
}
@media(max-width:700px){
  .patient-dashboard .patient-record-card{
    padding:.68rem .72rem;
  }
}

/* Korrektur 18.07.2026: kompakter Patientenkopf und Testkarten auch auf sehr schmalen Displays. */
.patient-dashboard>.patient-summary-card{
  grid-template-columns:minmax(0,1fr) 3rem;
  grid-template-rows:auto auto;
  grid-template-areas:"patient menu" "open menu";
  align-items:start;
  align-content:start;
  min-height:0!important;
  height:max-content!important;
  padding:.7rem .8rem!important;
  row-gap:.18rem!important;
}
.patient-dashboard>.patient-summary-card .patient-nav-trigger{
  width:3rem;
  height:3rem;
  align-self:start;
}
.patient-dashboard>.patient-summary-card .patient-open-processes{
  margin:0!important;
  padding:0!important;
}
.patient-dashboard .patient-record-card{
  position:relative;
  grid-template-columns:2.6rem minmax(0,1fr) 2.2rem!important;
  grid-auto-rows:auto;
  min-height:0!important;
  height:max-content!important;
  align-items:start!important;
  align-content:start!important;
}
.patient-dashboard .patient-record-card>.patient-record-more{
  grid-column:3!important;
  grid-row:1!important;
  align-self:start!important;
  justify-self:end!important;
  width:2.2rem;
  min-width:2.2rem;
  height:2.2rem;
  min-height:2.2rem;
  margin:0!important;
  padding:0!important;
}
.patient-dashboard .patient-record-card>.patient-record-details{
  grid-column:2 / -1!important;
}
@media(max-width:420px){
  .patient-dashboard .patient-record-card{
    grid-template-columns:2.25rem minmax(0,1fr) 2.1rem!important;
  }
  .patient-dashboard .patient-record-card>.patient-record-more{
    display:grid!important;
  }
}

/* Patientenmenüs: flächiges Overlay, kompakte Navigation und sichere Ebenen */
.patient-menu-backdrop{
  position:fixed!important;
  inset:0!important;
  z-index:90!important;
  display:block!important;
  width:100vw!important;
  max-width:none!important;
  height:100dvh!important;
  min-height:100vh!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:rgba(12,20,17,.30)!important;
  box-shadow:none!important;
  transform:none!important;
  -webkit-appearance:none;
     -moz-appearance:none;
          appearance:none;
  cursor:default;
}
.patient-detail-burger,.patient-nav-trigger{position:relative;z-index:93}
.patient-detail-nav-menu,
.patient-nav-menu.patient-summary-menu{
  z-index:92;
  width:min(16rem,calc(100vw - 2rem));
  min-width:0;
  padding:.3rem;
  border-radius:12px;
  box-shadow:0 14px 34px rgba(18,42,34,.22);
  animation:patient-menu-in .16s ease-out;
}
.patient-detail-nav-menu{right:.45rem;top:calc(100% + .3rem)}
.patient-nav-menu.patient-summary-menu{left:auto;right:0;top:calc(100% + .3rem)}
.patient-detail-nav-menu a,
.patient-nav-menu.patient-summary-menu a,
.patient-nav-menu.patient-summary-menu button{
  min-height:2.85rem;
  display:flex;
  align-items:center;
  padding:.62rem .75rem;
  border-radius:7px;
}
.patient-menu-separator{display:block;height:1px;margin:.22rem .55rem;background:#dbe3df}
@keyframes patient-menu-in{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
@media (prefers-reduced-motion:reduce){.patient-detail-nav-menu,.patient-nav-menu.patient-summary-menu{animation:none}}

/* Protokolle: Karten- und Menüsteuerung analog zu den Testdetails */
.patient-module-list article{position:relative;grid-template-columns:auto minmax(0,1fr) auto}
.patient-protocol-card-menu{position:relative;align-self:start}
.patient-protocol-more{width:2.35rem;height:2.35rem;border:0;border-radius:50%;background:transparent;font-size:1.65rem;line-height:1;display:grid;place-items:center;color:inherit}
.patient-protocol-more:hover,.patient-protocol-more:focus-visible{background:#edf3f0}
.patient-protocol-menu{position:absolute;z-index:35;right:0;top:calc(100% + .25rem);min-width:12.5rem;padding:.35rem;background:#fff;border:1px solid #d7e1dc;border-radius:9px;box-shadow:0 14px 34px rgba(18,48,38,.18);display:grid}
.patient-protocol-menu button{border:0;background:transparent;text-align:left;padding:.68rem .75rem;border-radius:6px;font:inherit;color:inherit}
.patient-protocol-menu button:hover,.patient-protocol-menu button:focus-visible{background:#eef5f2}
.patient-protocol-menu .danger-link{color:#982d2d}
@media(max-width:640px){.patient-protocol-menu{position:fixed;left:.75rem;right:.75rem;top:auto;bottom:5.8rem;min-width:0;padding:.55rem;border-radius:14px}.patient-protocol-menu button{padding:.85rem}}
.patient-medicus-import{display:grid;grid-gap:.7rem;gap:.7rem;margin-top:.85rem;padding:.9rem;border:1px solid #dce5e1;border-radius:9px;background:#fff}.patient-medicus-import h2{font-size:1rem;margin:0}.patient-medicus-import-row{display:flex;gap:.55rem}.patient-medicus-import-row input{min-width:0;flex:1 1}.patient-medicus-import-status{font-size:.86rem;color:#52615c}.patient-medicus-import-status.error{color:#9a2f2f}.patient-next-appointment{grid-column:1;justify-self:start;font-size:.82rem;color:#315f50;font-weight:700}.patient-summary-card{grid-template-areas:"patient menu" "open menu" "appointment menu"}.patient-next-appointment{grid-area:appointment}
@media(max-width:600px){.patient-medicus-import-row{display:grid;grid-template-columns:1fr}.patient-medicus-import-row button{width:100%}}

/* Desktop Bridge: ruhige, responsive Formulare und getrennte Ressourcenverwaltung */
.bridge-resource-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 1rem;
  gap: 1rem;
  align-items: start;
}
.bridge-client-form-v2 .bridge-field label,
.bridge-resource-form .bridge-field label {
  font-size: 0.95rem;
  line-height: 1.25;
}
.bridge-client-form-v2 input,
.bridge-client-form-v2 select,
.bridge-client-form-v2 textarea,
.bridge-resource-form input,
.bridge-resource-form select,
.bridge-resource-form textarea {
  font-size: 1rem;
  min-height: 44px;
  padding: 0.65rem 0.75rem;
}
.bridge-client-form-v2 textarea,
.bridge-resource-form textarea { min-height: 96px; }
.bridge-resource-teaser .admin-section-head { margin-bottom: 0; }
@media (max-width: 700px) {
  .bridge-client-form-v2,
  .bridge-resource-form { grid-template-columns: minmax(0, 1fr); gap: 0.85rem; }
  .bridge-client-form-v2 .bridge-field,
  .bridge-resource-form .bridge-field,
  .bridge-client-form-v2 .bridge-field-wide,
  .bridge-resource-form .bridge-field-wide,
  .bridge-client-form-v2 .bridge-checkline,
  .bridge-resource-form .bridge-checkline,
  .bridge-client-form-v2 .bridge-form-actions,
  .bridge-resource-form .bridge-form-actions { grid-column: 1; min-width: 0; }
  .bridge-client-form-v2 .bridge-field label,
  .bridge-resource-form .bridge-field label { font-size: 0.9rem; font-weight: 750; }
  .bridge-client-form-v2 input,
  .bridge-client-form-v2 select,
  .bridge-client-form-v2 textarea,
  .bridge-resource-form input,
  .bridge-resource-form select,
  .bridge-resource-form textarea { width: 100%; max-width: 100%; }
  .bridge-form-actions .primary { width: 100%; }
}

/* Medicus Explorer */
.medicus-explorer-form > label { display:grid; grid-gap:.45rem; gap:.45rem; max-width:32rem; }
.medicus-source-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-gap:1rem; gap:1rem; margin:1.25rem 0; }
.medicus-source-card { display:flex; flex-direction:column; gap:.65rem; min-height:11rem; padding:1.1rem; border:1px solid var(--line, #d9dfdc); border-radius:12px; background:var(--surface, #fff); }
.medicus-source-card span { color:var(--muted, #61706a); }
.medicus-source-card.disabled { opacity:.72; }
.medicus-source-card input[type="file"] { margin-top:auto; }
.medicus-file-list { display:flex; flex-wrap:wrap; gap:.5rem; margin:0 0 1rem; }
.medicus-file-list span { padding:.45rem .65rem; border-radius:999px; background:#eef3f0; font-size:.9rem; }
.medicus-results h3 { margin-top:1.5rem; }
@media (max-width:760px) { .medicus-source-grid { grid-template-columns:1fr; } .medicus-source-card { min-height:auto; } }

.patient-medicus-preview{margin-top:1rem;padding:1rem;border:1px solid var(--border-color,#d9dfdc);border-radius:12px;background:var(--surface,#fff)}
.patient-medicus-preview h3{margin:.15rem 0 0}
.patient-medicus-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.65rem 1rem;gap:.65rem 1rem;margin-top:1rem}
.patient-medicus-preview-grid>div{display:flex;flex-direction:column;gap:.18rem;padding:.65rem .75rem;background:rgba(31,74,59,.045);border-radius:8px}
.patient-medicus-preview-grid span{font-size:.78rem;color:var(--muted-color,#66736d)}
.patient-medicus-preview-grid strong{font-size:.96rem;overflow-wrap:anywhere}
.patient-medicus-preview-actions{display:flex;justify-content:flex-end;gap:.65rem;margin-top:1rem}
@media(max-width:680px){.patient-medicus-preview-grid{grid-template-columns:1fr}.patient-medicus-preview-actions{flex-direction:column-reverse}.patient-medicus-preview-actions button{width:100%}}

/* Medicus-Diagnosen in der Patientenakte */
.patient-diagnoses-page{display:grid;grid-gap:14px;gap:14px}.patient-diagnoses-page>.patient-section-title{align-items:flex-start;background:#fff;border:1px solid #dbe4df;border-radius:11px;padding:18px}.patient-diagnoses-page .patient-section-title span{display:block;margin-top:4px;color:#53615a;font-size:.9rem}.patient-diagnosis-message{margin:0;padding:11px 14px;border-radius:10px;background:#edf6ef;color:#165d2b}.patient-diagnosis-list{display:grid;grid-gap:8px;gap:8px}.patient-diagnosis-list article{display:grid;grid-template-columns:minmax(72px,auto) 1fr;grid-gap:14px;gap:14px;align-items:start;padding:14px 16px;background:#fff;border:1px solid #dbe4df;border-left:4px solid #2b7a78;border-radius:10px}.patient-diagnosis-list article>strong{font-size:1rem}.patient-diagnosis-list article div{display:grid;grid-gap:4px;gap:4px}.patient-diagnosis-list article b{font-weight:650}.patient-diagnosis-list article span{font-size:.86rem;color:#58645e}.patient-nav-menu button:disabled{opacity:.45;cursor:default}
@media(max-width:700px){.patient-diagnoses-page>.patient-section-title{display:grid;grid-gap:12px;gap:12px}.patient-diagnoses-page .primary-button{width:100%}.patient-diagnosis-list article{grid-template-columns:1fr;gap:5px}}

.patient-diagnosis-inline-list{display:grid;grid-gap:.45rem;gap:.45rem;width:100%}.patient-diagnosis-inline-row{display:grid;grid-template-columns:minmax(4.8rem,auto) 1fr;grid-gap:.8rem;gap:.8rem;padding:.65rem .1rem;border-bottom:1px solid var(--line,#dfe7e4)}.patient-diagnosis-inline-row:last-child{border-bottom:0}.patient-diagnosis-inline-row>span{display:grid;grid-gap:.15rem;gap:.15rem}.patient-diagnosis-inline-row small{font-size:.82rem;color:var(--muted,#5f6f69)}.patient-record-actions{position:relative}.patient-diagnosis-menu{right:0;top:calc(100% + .35rem);min-width:13rem;z-index:20}
.patient-service-months{display:grid;grid-gap:.55rem;gap:.55rem;width:100%}.patient-service-month{border:1px solid var(--line,#dfe7e4);border-radius:.65rem;overflow:hidden;background:#fff}.patient-service-month>summary{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.75rem .85rem;cursor:pointer;list-style:none}.patient-service-month>summary::-webkit-details-marker{display:none}.patient-service-month>summary span{font-size:.86rem;color:var(--muted,#5f6f69)}.patient-service-list{display:grid;border-top:1px solid var(--line,#dfe7e4)}.patient-service-row{display:grid;grid-template-columns:6.7rem 4.5rem 1fr;grid-gap:.75rem;gap:.75rem;padding:.72rem .85rem;border-bottom:1px solid var(--line,#dfe7e4);align-items:start}.patient-service-row:last-child{border-bottom:0}.patient-service-row>time,.patient-service-row small{font-size:.82rem;color:var(--muted,#5f6f69)}.patient-service-row>span{display:grid;grid-gap:.18rem;gap:.18rem}@media(max-width:700px){.patient-service-row{grid-template-columns:1fr 1fr}.patient-service-row>span{grid-column:1/-1}}

.bridge-release-upload{display:grid;grid-gap:.8rem;gap:.8rem;margin-top:1rem}.bridge-release-upload label{display:grid;grid-gap:.4rem;gap:.4rem;font-weight:650}.bridge-release-upload input[type=file]{max-width:100%;padding:.7rem;border:1px solid var(--line,#d8ddd8);border-radius:.55rem;background:#fff}.bridge-release-current{display:grid;grid-gap:.25rem;gap:.25rem;padding:.85rem 1rem;border:1px solid var(--line,#d8ddd8);border-radius:.65rem;background:rgba(255,255,255,.55)}.bridge-release-current span{font-size:.9rem;color:var(--muted,#68716b)}.bridge-release-current ul{margin:.35rem 0 0;padding-left:1.25rem}

/* Dokumentenzentrum */
.document-center,.document-editor{display:grid;grid-gap:1rem;gap:1rem;min-width:0}.document-center-head,.document-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.document-center-head h1,.document-editor-head h1{margin:.1rem 0 .35rem}.document-center-head p,.document-editor-head p{margin:0;color:#5f6e68}.document-panel{padding:1rem;border:1px solid #dce5e1;border-radius:12px;background:#fff}.document-panel-title{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.85rem}.document-panel-title h2{margin:.1rem 0}.document-panel-title>span{display:grid;place-items:center;min-width:2rem;height:2rem;border-radius:999px;background:#edf3f0;font-weight:700}.document-template-grid{display:grid;grid-gap:.75rem;gap:.75rem}.document-template-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:.85rem;gap:.85rem;padding:.9rem;border:1px solid #e2e9e5;border-radius:10px;background:#fbfdfc}.document-template-icon{font-size:1.6rem}.document-template-card p{margin:.25rem 0;color:#5f6e68}.document-template-card small{color:#728079}.document-template-card button,.primary-button{border:0;border-radius:8px;padding:.7rem .9rem;background:#27644f;color:#fff;font-weight:700}.document-template-card button:disabled{opacity:.6}.secondary-button{display:inline-flex;align-items:center;justify-content:center;padding:.65rem .85rem;border:1px solid #cddbd5;border-radius:8px;background:#fff;color:inherit;text-decoration:none;font-weight:650}.document-list{display:grid;grid-gap:.45rem;gap:.45rem}.document-list>a{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem;border:1px solid #e4ebe8;border-radius:8px;color:inherit;text-decoration:none}.document-list>a:hover{background:#f3f7f5}.document-list a div{display:grid;grid-gap:.2rem;gap:.2rem}.document-list small,.empty-copy{color:#6b7872}.document-list>a>span{white-space:nowrap;color:#47675b}.form-message.error{padding:.75rem;border-radius:8px;background:#fff1f1;color:#8a2e2e}
.document-editor-head-actions{display:flex;align-items:center;gap:.6rem}.document-save-state{font-size:.8rem;color:#6b7872}.document-save-state.saving,.document-save-state.changed{color:#886b12}.document-save-state.error{color:#a13232}.document-progress{display:grid;grid-gap:.35rem;gap:.35rem}.document-progress>div{height:.45rem;overflow:hidden;border-radius:999px;background:#e5ece8}.document-progress>div>span{display:block;height:100%;border-radius:inherit;background:#34755e;transition:width .2s}.document-progress small{color:#66756f}.document-mobile-nav{display:none}.document-editor-layout{display:grid;grid-template-columns:minmax(11rem,14rem) minmax(0,1fr) minmax(11rem,14rem);grid-gap:.85rem;gap:.85rem;align-items:start}.document-section-nav{display:grid;grid-gap:.3rem;gap:.3rem;position:-webkit-sticky;position:sticky;top:.75rem}.document-section-nav button{display:grid;grid-template-columns:1.8rem minmax(0,1fr);align-items:center;grid-gap:.55rem;gap:.55rem;width:100%;padding:.55rem;border:1px solid transparent;border-radius:8px;background:transparent;text-align:left;color:inherit}.document-section-nav button:hover{background:#f2f6f4}.document-section-nav button.active{border-color:#bcd1c8;background:#eaf3ef}.document-section-nav button>span{display:grid;place-items:center;width:1.65rem;height:1.65rem;border-radius:999px;background:#e6ece9;font-size:.78rem;font-weight:700}.document-section-nav button.active>span{background:#34755e;color:#fff}.document-section-nav button div{display:grid}.document-section-nav small{color:#74817c;font-size:.72rem}.document-work-area{display:grid;grid-gap:1rem;gap:1rem;min-height:35rem;padding:1rem;border:1px solid #dce5e1;border-radius:12px;background:#fff}.document-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.document-section-heading h2{margin:.1rem 0 .3rem}.document-section-heading p{margin:0;color:#62716b}.document-section-heading button{white-space:nowrap}.document-source-panel{display:grid;grid-gap:.7rem;gap:.7rem;position:-webkit-sticky;position:sticky;top:.75rem;padding:.85rem;border:1px solid #dce5e1;border-radius:10px;background:#f8fbf9}.document-source-panel h3{margin:0}.document-source-panel>div{display:grid;grid-gap:.12rem;gap:.12rem;padding:.55rem;border-radius:7px;background:#fff}.document-source-panel span{font-size:.72rem;color:#718079}.document-source-panel strong{font-size:.82rem}.document-source-panel p{margin:0;font-size:.78rem;color:#68766f}.document-source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.6rem;gap:.6rem}.document-source-grid article,.document-source-grid label{display:grid;grid-gap:.2rem;gap:.2rem;padding:.75rem;border:1px solid #e2e9e5;border-radius:8px;background:#fafcfb}.document-source-grid small,.document-source-grid span{color:#6c7973}.document-source-grid label{grid-column:1/-1}.document-source-grid select,.document-assessment-grid select{width:100%;padding:.6rem;border:1px solid #cad8d2;border-radius:7px;background:#fff}.document-diagnosis-list{display:grid;grid-gap:.45rem;gap:.45rem}.document-diagnosis-list button{display:grid;grid-template-columns:1.8rem minmax(0,1fr);grid-gap:.55rem;gap:.55rem;align-items:center;padding:.7rem;border:1px solid #dce5e1;border-radius:8px;background:#fff;text-align:left}.document-diagnosis-list button.selected{border-color:#65a087;background:#edf6f2}.document-diagnosis-list button>span{display:grid;place-items:center;width:1.6rem;height:1.6rem;border-radius:999px;background:#e8eeeb}.document-diagnosis-list button div{display:grid}.document-diagnosis-list small{color:#697770}.document-chip-block{display:grid;grid-gap:.55rem;gap:.55rem}.document-chip-block h3{margin:0}.document-chips{display:flex;flex-wrap:wrap;gap:.45rem}.document-chips button{padding:.5rem .7rem;border:1px solid #ccd9d3;border-radius:999px;background:#fff;color:#35453f}.document-chips button.active{border-color:#34755e;background:#34755e;color:#fff}.document-live-text{position:-webkit-sticky;position:sticky;bottom:.5rem;display:grid;grid-gap:.55rem;gap:.55rem;padding:.75rem;border:1px solid #bfcfc8;border-radius:10px;background:#f9fcfa;box-shadow:0 -7px 20px rgba(33,67,55,.07)}.document-live-text-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.document-live-text-head>div{display:grid}.document-live-text-head small{color:#6c7973}.document-live-text-head>span{font-size:.8rem;white-space:nowrap}.document-live-text-head>span.over{color:#a12b2b;font-weight:700}.document-live-text textarea{width:100%;min-height:11rem;resize:vertical;padding:.75rem;border:1px solid #cbd9d3;border-radius:8px;background:#fff;font:inherit;line-height:1.45}.document-length-warning{margin:0;color:#a12b2b;font-size:.82rem}.document-patient-question{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem;border:1px dashed #9eb9ad;border-radius:9px;background:#f5faf7}.document-patient-question p{margin:.2rem 0 0;color:#64726c}.document-patient-question button{padding:.55rem .7rem;border:1px solid #91aa9f;border-radius:8px;background:#fff}.document-patient-question button.active{background:#e1f0e9}.document-assessment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.6rem;gap:.6rem}.document-assessment-grid label{display:grid;grid-gap:.35rem;gap:.35rem;padding:.65rem;border:1px solid #e0e8e4;border-radius:8px}.document-assessment-grid label span{font-weight:650}.document-assessment-grid.compact{grid-template-columns:1fr}
@media(max-width:1050px){.document-editor-layout{grid-template-columns:minmax(10rem,13rem) minmax(0,1fr)}.document-source-panel{grid-column:2;position:static;grid-template-columns:repeat(3,minmax(0,1fr))}.document-source-panel h3,.document-source-panel p{grid-column:1/-1}}
@media(max-width:760px){.document-center-head,.document-editor-head,.document-section-heading,.document-patient-question{display:grid}.document-editor-head-actions{justify-content:space-between}.document-template-card{grid-template-columns:auto minmax(0,1fr)}.document-template-card button{grid-column:1/-1}.document-mobile-nav{display:block;width:100%;padding:.7rem;border:1px solid #cbd9d3;border-radius:8px;background:#fff;text-align:left}.document-editor-layout{display:block}.document-section-nav{display:none;position:static;margin-bottom:.7rem;padding:.45rem;border:1px solid #dce5e1;border-radius:9px;background:#fff}.document-section-nav.open{display:grid}.document-source-panel{display:grid;grid-template-columns:1fr;margin-top:.7rem}.document-source-grid,.document-assessment-grid{grid-template-columns:1fr}.document-work-area{min-height:0;padding:.75rem}.document-live-text{bottom:max(.4rem,env(safe-area-inset-bottom))}.document-live-text textarea{min-height:8rem}}

/* Dokumentenzentrum: bearbeitbare Arbeitskopie der Stammdaten */
.document-editable-grid{align-items:start}.document-field-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.55rem;gap:.55rem;padding:.75rem;border:1px solid #e2e9e5;border-radius:8px;background:#fafcfb}.document-field-group>label{display:grid;grid-gap:.28rem;gap:.28rem;padding:0;border:0;background:transparent}.document-field-group>label>span,.document-application-type{font-weight:650}.document-field-group input{width:100%;min-width:0;padding:.62rem .68rem;border:1px solid #cad8d2;border-radius:7px;background:#fff;color:inherit;font:inherit}.document-field-group input:focus{outline:2px solid rgba(52,117,94,.18);border-color:#34755e}.document-field-group-wide{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr))}.document-source-badge{grid-column:1/-1;color:#63736c!important;font-size:.75rem}.document-source-badge.manual{color:#7448a0!important;font-weight:700}.document-application-type{grid-column:1/-1}.document-copy-note{grid-column:1/-1;margin:0;padding:.65rem .75rem;border-radius:8px;background:#f1eef8;color:#55416b;font-size:.82rem}
@media(max-width:760px){.document-field-group,.document-field-group-wide{grid-template-columns:1fr}.document-field-group-wide{grid-column:auto}.document-field-group>label{width:100%}}
.document-doctor-group{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr)}
.document-doctor-picker{display:grid;grid-gap:.45rem;gap:.45rem}.document-field-label{font-weight:650}.document-doctor-chips{display:flex;flex-wrap:wrap;gap:.42rem}.document-doctor-chips button{border:1px solid #cbd8d3;background:#fff;border-radius:999px;padding:.52rem .72rem;font:inherit;font-size:.88rem;cursor:pointer}.document-doctor-chips button.active{border-color:#2f7459;background:#e8f3ee;color:#205d45;font-weight:700}.document-field-group select{width:100%;min-width:0;padding:.62rem .68rem;border:1px solid #cad8d2;border-radius:7px;background:#fff;color:inherit;font:inherit}.document-empty-source{margin:0;color:#7b5d32;font-size:.82rem}
@media(max-width:760px){.document-doctor-group{grid-template-columns:1fr}}

/* Dokumentenzentrum: mobile Diagnose-Reihenfolge und offene Dokumente in der Akte */
.document-diagnosis-editor{display:grid;grid-gap:.85rem;gap:.85rem}.document-selected-diagnoses{display:grid;grid-gap:.45rem;gap:.45rem}.document-selected-diagnoses>h3{margin:0}.document-selected-diagnoses>p{margin:0 0 .2rem;color:#66756f;font-size:.82rem}.document-diagnosis-row{display:grid;grid-template-columns:2.35rem 1.7rem minmax(0,1fr) 2.35rem;align-items:center;grid-gap:.45rem;gap:.45rem;padding:.55rem;border:1px solid #65a087;border-radius:9px;background:#edf6f2;touch-action:none}.document-diagnosis-row.dragging{opacity:.75;box-shadow:0 8px 22px rgba(39,100,79,.2)}.document-diagnosis-row>div{display:grid;min-width:0}.document-diagnosis-row small{color:#697770}.document-diagnosis-drag,.document-diagnosis-remove{display:grid;place-items:center;width:2.2rem;height:2.2rem;border:0;border-radius:8px;background:#fff;color:#355348;font-size:1.35rem;font-weight:800;touch-action:none}.document-diagnosis-rank{display:grid;place-items:center;width:1.65rem;height:1.65rem;border-radius:999px;background:#34755e;color:#fff;font-weight:800;font-size:.78rem}.document-attachment-chip{justify-self:start;padding:.55rem .75rem;border:1px solid #b8cbc2;border-radius:999px;background:#fff;color:#35453f;font-weight:700}.document-attachment-chip.active{border-color:#34755e;background:#34755e;color:#fff}.document-diagnosis-list button:disabled{opacity:.45;cursor:not-allowed}.patient-document-inline-list{display:grid;grid-gap:.45rem;gap:.45rem}.patient-document-inline-row{display:grid;grid-template-columns:2rem minmax(0,1fr) auto;align-items:center;grid-gap:.6rem;gap:.6rem;padding:.7rem;border:1px solid #dce5e1;border-radius:9px;background:#fff;color:inherit;text-decoration:none}.patient-document-inline-row>span{display:grid;place-items:center;width:1.8rem;height:1.8rem;border-radius:999px;background:#edf3f0}.patient-document-inline-row>div{display:grid;grid-gap:.15rem;gap:.15rem;min-width:0}.patient-document-inline-row small{color:#697770}.patient-document-inline-row>b{font-size:1.4rem;color:#47675b}

/* Dokumentenzentrum: gegliederte Bausteine und flache Dokumentliste */
.document-chip-groups{display:grid;grid-gap:.8rem;gap:.8rem}.document-chip-groups section{display:grid;grid-gap:.4rem;gap:.4rem}.document-chip-groups h4{margin:0;color:#607069;font-size:.82rem;font-weight:750;text-transform:uppercase;letter-spacing:.06em}.document-chip-details{display:grid;grid-gap:.7rem;gap:.7rem}.document-chip-details fieldset{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.6rem;gap:.6rem;margin:0;padding:.75rem;border:1px solid #d8e3de;border-radius:9px;background:#f8fbf9}.document-chip-details legend{padding:0 .3rem;font-weight:750}.document-chip-details label{display:grid;grid-gap:.3rem;gap:.3rem}.document-chip-details label span{color:#64736c;font-size:.82rem}.document-chip-details input,.document-chip-details select{width:100%;padding:.65rem;border:1px solid #cbd8d2;border-radius:8px;background:#fff;font:inherit}.document-live-text textarea{white-space:pre-wrap;line-height:1.55}.document-use-generated{justify-self:start;padding:.5rem .7rem;border:1px solid #9fb8ad;border-radius:8px;background:#fff;color:#2f5d4c;font-weight:700}.patient-document-inline-list{gap:0}.patient-document-inline-row{grid-template-columns:minmax(0,1fr) auto;gap:.6rem;padding:.75rem 0;border:0;border-top:1px solid #e0e7e3;border-radius:0;background:transparent}.patient-document-inline-row>span{display:none}.patient-document-inline-row:first-child{border-top:0}.patient-document-inline-row:hover{background:#f8fbf9}.patient-document-inline-row>div{padding-left:0}
@media(max-width:760px){.document-chip-details fieldset{grid-template-columns:1fr}.document-live-text textarea{min-height:11rem}.patient-document-inline-row{padding:.7rem 0}}


/* Dokumentgenerator: kompakte Ausgabeprofile und dauerhaft sichtbarer Texteditor */
.document-live-text textarea{line-height:1.35;min-height:8.5rem}
.document-work-area.has-live-text{padding-bottom:1rem}
@media(max-width:760px){
  .document-work-area.has-live-text{padding-bottom:14.5rem}
  .document-live-text{position:fixed;z-index:45;left:.55rem;right:.55rem;bottom:max(.45rem,env(safe-area-inset-bottom));max-height:42vh;overflow:auto;margin:0;padding:.65rem;border-radius:10px;box-shadow:0 -8px 26px rgba(24,54,44,.18)}
  .document-live-text textarea{min-height:6.5rem;max-height:22vh;line-height:1.3}
  .document-live-text-head small{font-size:.72rem}
}

/* Dokumente: ICF-Schweregrade und vergrößerbarer Live-Text */
.document-icf-block{gap:.8rem}.document-icf-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.document-icf-heading h3{margin:0}.document-icf-heading p{margin:.2rem 0 0;color:#64736c;font-size:.82rem}.document-icf-heading>span{padding:.35rem .55rem;border-radius:999px;background:#edf4f1;color:#47665a;font-size:.72rem;font-weight:750;white-space:nowrap}.document-icf-items{display:grid;grid-gap:.45rem;gap:.45rem}.document-icf-item{overflow:hidden;border:1px solid #d7e2dd;border-radius:10px;background:#fff}.document-icf-item.selected{border-color:#74a38f;background:#f2f8f5}.document-icf-item.open{box-shadow:0 7px 18px rgba(37,82,65,.08)}.document-icf-main{display:flex;align-items:center;justify-content:space-between;gap:.8rem;width:100%;padding:.72rem .8rem;border:0;background:transparent;color:inherit;text-align:left}.document-icf-main>span{font-weight:750}.document-icf-main>small{color:#68776f;text-align:right}.document-icf-item.selected .document-icf-main>small{color:#28634d;font-weight:700}.document-icf-severity{display:grid;grid-gap:.55rem;gap:.55rem;padding:.7rem .8rem .8rem;border-top:1px solid #dce6e1;background:#f9fcfa}.document-icf-severity>span{font-size:.78rem;color:#62716a}.document-icf-severity>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:.4rem;gap:.4rem}.document-icf-severity>div>button{display:grid;grid-gap:.05rem;gap:.05rem;padding:.55rem .35rem;border:1px solid #c8d7d0;border-radius:8px;background:#fff;color:#34483f}.document-icf-severity>div>button.active{border-color:#34755e;background:#34755e;color:#fff}.document-icf-severity button small{font-size:.68rem;opacity:.78}.document-icf-remove{justify-self:start;padding:.35rem .1rem;border:0;background:transparent;color:#9a3434;text-decoration:underline}.document-live-text-actions{display:flex;align-items:center;gap:.55rem}.document-live-text-actions>span{font-size:.8rem;white-space:nowrap}.document-live-text-actions>span.over{color:#a12b2b;font-weight:700}.document-live-text-actions>button{padding:.38rem .55rem;border:1px solid #a9bdb4;border-radius:7px;background:#fff;color:#315e4d;font-weight:700}.document-live-text.expanded textarea{min-height:46vh}.document-live-text.expanded{z-index:20;box-shadow:0 -12px 35px rgba(29,63,50,.16)}
@media(max-width:760px){.document-icf-heading{display:grid}.document-icf-heading>span{justify-self:start}.document-icf-severity>div{grid-template-columns:repeat(2,minmax(0,1fr))}.document-live-text-head{align-items:flex-start}.document-live-text-actions{display:grid;justify-items:end}.document-live-text.expanded textarea{min-height:52vh}}

/* Befunde: eigenständige, versionierte Patientenbefunde */
.patient-finding-inline-list{display:grid;grid-gap:0;gap:0}.patient-finding-inline-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:.6rem;gap:.6rem;padding:.75rem 0;border-top:1px solid #e0e7e3;color:inherit;text-decoration:none}.patient-finding-inline-row:first-child{border-top:0}.patient-finding-inline-row>div{display:grid;grid-gap:.14rem;gap:.14rem;min-width:0}.patient-finding-inline-row small{color:#697770}.patient-finding-inline-row>b{font-size:1.4rem;color:#47675b}.patient-finding-new{justify-self:start;margin-top:.45rem;padding:.55rem .75rem;border:1px solid #a9beb5;border-radius:8px;background:#fff;color:#2f654f;font-weight:750}
.finding-editor{display:grid;grid-gap:1rem;gap:1rem;padding-bottom:1rem}.finding-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.finding-editor-head h1{margin:.15rem 0}.finding-editor-head p{margin:.2rem 0;color:#65736d}.finding-editor-head>a{padding:.58rem .75rem;border:1px solid #cbd8d2;border-radius:8px;color:inherit;text-decoration:none;background:#fff}.finding-history-strip{display:flex;align-items:center;gap:.45rem;overflow:auto;padding:.6rem;border:1px solid #dbe5e0;border-radius:9px;background:#f8fbf9}.finding-history-strip>a{white-space:nowrap;padding:.38rem .58rem;border-radius:999px;color:#3f5c51;text-decoration:none;background:#fff;border:1px solid #d4dfda}.finding-history-strip>a.active{background:#34755e;color:#fff;border-color:#34755e}.finding-panel{display:grid;grid-gap:.8rem;gap:.8rem;padding:.85rem;border:1px solid #d8e3de;border-radius:10px;background:#fff}.finding-panel-heading{display:flex;justify-content:space-between;gap:.8rem}.finding-panel-heading h2{margin:0}.finding-panel-heading p{margin:.2rem 0 0;color:#66756f}.finding-panel-heading>span{align-self:start;padding:.35rem .55rem;border-radius:999px;background:#edf4f1;color:#47665a;font-size:.75rem;font-weight:750}.finding-items{display:grid;grid-gap:.45rem;gap:.45rem}.finding-item{overflow:hidden;border:1px solid #d7e2dd;border-radius:10px;background:#fff}.finding-item.selected{border-color:#74a38f;background:#f2f8f5}.finding-item.open{box-shadow:0 7px 18px rgba(37,82,65,.08)}.finding-item-main{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;padding:.72rem .8rem;border:0;background:transparent;color:inherit;text-align:left}.finding-item-main>span{font-weight:750}.finding-item-main>small{color:#68776f;text-align:right}.finding-item-detail{display:grid;grid-gap:.7rem;gap:.7rem;padding:.7rem .8rem .8rem;border-top:1px solid #dce6e1;background:#f9fcfa}.finding-levels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:.4rem;gap:.4rem}.finding-levels>button{display:grid;grid-gap:.05rem;gap:.05rem;padding:.55rem .35rem;border:1px solid #c8d7d0;border-radius:8px;background:#fff;color:#34483f}.finding-levels>button.active{border-color:#34755e;background:#34755e;color:#fff}.finding-levels small{font-size:.68rem}.finding-item-detail label{display:grid;grid-gap:.28rem;gap:.28rem}.finding-item-detail textarea{min-height:4.5rem;padding:.62rem;border:1px solid #cbd8d2;border-radius:8px;font:inherit}.finding-remove{justify-self:start;border:0;background:transparent;color:#9a3434;text-decoration:underline}.finding-live-text{display:grid;grid-gap:.55rem;gap:.55rem;padding:.75rem;border:1px solid #bfd0c8;border-radius:10px;background:#f8fbf9}.finding-live-text>div:first-child{display:flex;justify-content:space-between;gap:.8rem}.finding-live-text>div:first-child>div:first-child{display:grid}.finding-live-text small{color:#68776f}.finding-text-actions{display:flex;align-items:center;gap:.5rem}.finding-text-actions button,.finding-use-generated{padding:.38rem .55rem;border:1px solid #a9bdb4;border-radius:7px;background:#fff;color:#315e4d;font-weight:700}.finding-live-text textarea{min-height:9rem;padding:.7rem;border:1px solid #c5d4cd;border-radius:8px;font:inherit;line-height:1.35;resize:vertical}.finding-live-text.expanded textarea{min-height:52vh}.finding-editor-actions{display:flex;align-items:center;justify-content:flex-end;gap:.55rem;flex-wrap:wrap}.finding-editor-actions>span{margin-right:auto;color:#53645d}.finding-editor-actions button{padding:.62rem .78rem;border:1px solid #a9bdb4;border-radius:8px;background:#fff;color:#315e4d;font-weight:750}.finding-editor-actions button.primary{background:#34755e;color:#fff;border-color:#34755e}
@media(max-width:760px){.finding-editor-head,.finding-panel-heading{display:grid}.finding-editor-head>a{justify-self:start}.finding-levels{grid-template-columns:repeat(2,minmax(0,1fr))}.finding-live-text{position:-webkit-sticky;position:sticky;z-index:30;bottom:max(.45rem,env(safe-area-inset-bottom));box-shadow:0 -8px 26px rgba(24,54,44,.16)}.finding-live-text>div:first-child{align-items:flex-start}.finding-text-actions{display:grid;justify-items:end}.finding-editor-actions{display:grid}.finding-editor-actions>span{margin:0}.finding-editor-actions button{width:100%}}

/* Befundsystem: Diagnoseprofile, ICF-Reiter und Befundtypen */
.finding-profile-panel{margin-bottom:12px}.finding-profile-list{display:grid;grid-gap:8px;gap:8px}.finding-profile-list>button{display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:100%;padding:12px 14px;border:1px solid var(--border-color,#d9dee7);border-radius:12px;background:#fff;text-align:left}.finding-profile-list>button.active{border-color:#4678d8;background:#f1f6ff}.finding-profile-list strong{font-size:.95rem}.finding-profile-list span,.finding-profile-list small{color:#647083}.finding-tabs{display:flex;gap:6px;overflow-x:auto;margin:0 0 12px;padding:2px}.finding-tabs button{white-space:nowrap;border:1px solid var(--border-color,#d9dee7);background:#fff;border-radius:999px;padding:9px 12px;font-weight:700}.finding-tabs button.active{background:#173a68;color:#fff;border-color:#173a68}.finding-tabs small{margin-left:5px;opacity:.75}.finding-source-note{margin:0 0 8px;padding:7px 9px;border-radius:8px;background:#fff6df;color:#765414;font-size:.82rem}.patient-finding-create-actions{display:flex;gap:8px;flex-wrap:wrap}.patient-finding-create-actions .patient-finding-new{flex:1 1;min-width:145px}.finding-levels{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}
@media(max-width:680px){.finding-profile-list>button{padding:11px}.finding-tabs{position:-webkit-sticky;position:sticky;top:0;z-index:8;background:var(--page-bg,#f5f7fa);padding:6px 2px}.finding-panel-heading{align-items:flex-start}}

/* Befundeditor: Diagnoseprofile, Fortschritt und mobile Wischgeste */
.finding-item,
.document-icf-item {
  touch-action: pan-y;
}
.finding-item.disabled,
.document-icf-item.disabled {
  opacity: .56;
  border-style: dashed;
  background: #f4f6f5;
}
.finding-item.disabled .finding-item-main,
.document-icf-item.disabled .document-icf-main {
  text-decoration: line-through;
  text-decoration-thickness: 1px;
  -webkit-text-decoration-color: rgba(62, 78, 71, .45);
          text-decoration-color: rgba(62, 78, 71, .45);
}
.finding-swipe-hint,
.document-swipe-hint {
  margin: .25rem 0 0;
  color: #6a7772;
  font-size: .78rem;
  text-align: center;
}
.finding-progress-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: .55rem .75rem;
  border: 1px solid #dce6e1;
  border-radius: 9px;
  background: #f8fbf9;
  color: #53665e;
  font-size: .82rem;
}
.document-finding-profiles {
  display: grid;
  grid-gap: .55rem;
  gap: .55rem;
  padding: .7rem;
  border: 1px solid #d8e3de;
  border-radius: 10px;
  background: #f8fbf9;
}
.document-finding-profiles > strong {
  font-size: .9rem;
}
.document-finding-profiles > div {
  display: grid;
  grid-gap: .45rem;
  gap: .45rem;
}
.document-finding-profiles button {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .12rem;
  width: 100%;
  padding: .65rem .75rem;
  border: 1px solid #ccdcd4;
  border-radius: 9px;
  background: #fff;
  text-align: left;
}
.document-finding-profiles button span {
  font-weight: 800;
}
.document-finding-profiles button small,
.document-finding-profiles > p {
  color: #66766f;
}
.document-finding-profiles > p {
  margin: 0;
  font-size: .78rem;
}
@media (max-width: 680px) {
  .finding-progress-summary {
    position: -webkit-sticky;
    position: sticky;
    top: 48px;
    z-index: 7;
  }
}

/* Einheitlicher PPB-Befundeditor */
.ppb-unified{display:grid;grid-gap:18px;gap:18px;padding-bottom:260px}.ppb-profile-panel{margin:0}.ppb-diagnosis-chips{display:flex;flex-wrap:wrap;gap:8px}.ppb-diagnosis-chips button{border:1px solid #cdd9d5;background:#f7faf9;border-radius:999px;padding:8px 12px;display:flex;align-items:center;gap:8px;color:#263b35}.ppb-diagnosis-chips button strong{font-size:15px}.ppb-diagnosis-chips button span{font-size:12px;color:#667771}.ppb-diagnosis-chips button.active{background:#e7f2ee;border-color:#6fa995}.ppb-profile-note{margin:12px 0 0;color:#687873;font-size:14px}.ppb-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px}.ppb-tabs button{white-space:nowrap;flex:0 0 auto}.ppb-item-panel{margin:0}.ppb-card-options{display:flex;flex-wrap:wrap;gap:8px}.ppb-card-options button{border:1px solid #ccd7d3;background:white;border-radius:999px;padding:9px 13px;font-weight:700;color:#31423d}.ppb-card-options button.active{background:#2f7d63;color:white;border-color:#2f7d63}.ppb-additional{margin:0}.ppb-additional label{display:grid;grid-gap:4px;gap:4px}.ppb-additional label span{color:#687873}.ppb-additional textarea{width:100%;margin-top:10px;min-height:92px;border:1px solid #cbd7d3;border-radius:12px;padding:12px;font:inherit}.ppb-live-text{z-index:35}.ppb-live-text textarea{min-height:128px}.ppb-live-text.expanded textarea{min-height:48vh}.ppb-output-actions{display:flex;justify-content:space-between;align-items:center;gap:12px}.ppb-warning{margin:10px 0;background:#fff4df;border:1px solid #e8c786;border-radius:12px;padding:10px 12px;display:grid;grid-gap:2px;gap:2px}.ppb-warning span{font-size:13px;color:#765d2d}
@media(max-width:720px){.ppb-unified{gap:14px;padding-bottom:290px}.ppb-toolbar{display:grid;grid-gap:12px;gap:12px}.ppb-segmented{display:grid;grid-template-columns:1fr 1fr}.ppb-tabs{margin-inline:-2px}.ppb-diagnosis-chips button{padding:7px 10px}.ppb-live-text{left:16px;right:16px;bottom:8px}.ppb-finding-item .finding-item-main{min-height:76px}}

.document-previous-finding{display:flex;justify-content:space-between;gap:16px;padding:14px 16px;margin-bottom:14px;border:1px solid var(--border,#d8dee8);border-radius:12px;background:rgba(247,249,252,.9)}
.document-previous-finding>div:first-child{min-width:0}.document-previous-finding strong,.document-previous-finding span{display:block}.document-previous-finding span{font-size:.82rem;color:#64748b;margin-top:2px}.document-previous-finding p{margin:7px 0 0;color:#475569;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:720px}.document-previous-finding>div:last-child{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.document-previous-finding button,.document-previous-finding a{font-size:.82rem;padding:7px 10px;border-radius:9px;border:1px solid #cbd5e1;background:#fff;text-decoration:none;color:inherit}
.document-item-evidence{margin:0 14px 10px;padding:8px 10px;border-left:3px solid #94a3b8;background:#f8fafc;border-radius:0 8px 8px 0;font-size:.82rem;color:#475569}
.document-finding-profiles.compact>div{gap:6px}.document-finding-profiles.compact button{padding:6px 10px;min-width:0}.document-finding-profiles.compact button span{font-size:.82rem}.document-finding-profiles.compact button small{display:none}
@media(max-width:720px){.document-previous-finding{display:block}.document-previous-finding>div:last-child{margin-top:10px}.document-previous-finding p{white-space:normal;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.document-previous-finding button,.document-previous-finding a{flex:1 1;text-align:center}}

/* DRV-S0051 Abschluss und PDF-Export */
.document-completion-card {
  margin: 18px 0;
  padding: 20px;
  border: 1px solid color-mix(in srgb, var(--brand-green, #246d58) 28%, #d9e2de);
  border-radius: 18px;
  background: color-mix(in srgb, var(--brand-green, #246d58) 7%, white);
  display: grid;
  grid-gap: 16px;
  gap: 16px;
}
.document-completion-card h2 { margin: 2px 0 6px; }
.document-completion-card p { margin: 0; }
.document-completion-card .primary-button { width: 100%; min-height: 54px; }
.document-completion-card .primary-button:disabled { opacity: .65; cursor: wait; }
.document-pdf-error { color: #981b1b; font-weight: 700; }
@media (min-width: 860px) {
  .document-completion-card { grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
  .document-completion-card .primary-button { width: auto; min-width: 280px; }
  .document-completion-card .document-pdf-error { grid-column: 1 / -1; }
}

/* Einheitliche PZFP-Datumseingabe */
.pzfp-date-input { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 3.1rem; grid-gap: .45rem; gap: .45rem; align-items: stretch; }
.pzfp-date-input > input { min-width: 0; }
.pzfp-date-trigger { border: 1px solid #b8c9c3; border-radius: .75rem; background: #fff; color: #245f50; font-size: 1.15rem; font-weight: 800; }
.pzfp-date-picker { position: absolute; z-index: 80; top: calc(100% + .4rem); left: 0; right: 0; max-height: 22rem; overflow: auto; padding: .75rem; border: 1px solid #bfd0ca; border-radius: 1rem; background: #fff; box-shadow: 0 14px 40px rgba(28, 55, 48, .18); }
.pzfp-date-picker-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: .65rem; }
.pzfp-date-picker-head button { border: 0; background: transparent; font-size: 1.5rem; }
.pzfp-date-grid { display: grid; grid-gap: .45rem; gap: .45rem; }
.pzfp-date-grid.years { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pzfp-date-grid.months { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pzfp-date-grid.days { grid-template-columns: repeat(7, minmax(0, 1fr)); }
.pzfp-date-grid button { min-height: 2.55rem; border: 1px solid #d2ded9; border-radius: .7rem; background: #fff; font-weight: 700; }
.pzfp-date-grid button.active { border-color: #2f7562; background: #eaf4f0; color: #205747; }
@media (max-width: 560px) {
  .pzfp-date-grid.years { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pzfp-date-picker { position: fixed; left: 1rem; right: 1rem; top: 18vh; max-height: 64vh; }
}

/* Dokumenteditor: Desktopbreite gezielt erweitern (ohne andere Adminseiten zu verändern) */
@media (min-width: 1200px) {
  .app-shell.admin-detail-shell:has(.document-editor) {
    width: min(1600px, 100%);
  }

  .app-shell.admin-detail-shell:has(.document-editor) > .content {
    width: 100%;
    max-width: none;
  }

  .document-editor-layout {
    grid-template-columns: minmax(11rem, 14rem) minmax(34rem, 1fr) minmax(14rem, 18rem);
  }
}

/* Dokumenteditor: Telefonvorschläge, mittige Diagnosesymbole und offene ICF-Bereiche am Desktop */
.document-diagnosis-drag,.document-diagnosis-remove{display:flex;align-items:center;justify-content:center;padding:0;line-height:1}
.document-phone-field{display:grid;grid-gap:.38rem;gap:.38rem}
.document-phone-options{display:flex;flex-wrap:wrap;gap:.4rem}
.document-phone-options button{padding:.45rem .65rem;border:1px solid #c8d7d0;border-radius:999px;background:#fff;color:#35453f;font-weight:700}
.document-phone-options button.active{border-color:#34755e;background:#34755e;color:#fff}
.document-phone-field input{width:100%;padding:.6rem;border:1px solid #cad8d2;border-radius:7px;background:#fff;font:inherit}

/* DRV: einheitliche Chips, fünfstufige Teilhabebewertung und RV-Nummernprüfung */
.document-icf-main>span:first-child{display:grid;grid-gap:.12rem;gap:.12rem;min-width:0}
.document-icf-main>span:first-child>strong{font:inherit;font-weight:750}
.document-icf-main>span:first-child>small{color:#68776f;font-size:.72rem;font-weight:400;line-height:1.25}
.document-icf-severity>div{grid-template-columns:repeat(5,minmax(0,1fr))}
.document-icf-severity>div>button{align-content:center;min-height:3.6rem}
.document-icf-severity>div>button small{display:block;line-height:1.15}
.document-field-invalid input,.patient-field-invalid input{border-color:#b63c3c!important;background:#fff7f7!important;box-shadow:0 0 0 2px rgba(182,60,60,.1)}
.document-validation-error,.patient-validation-error{color:#a12b2b!important;font-size:.75rem;font-weight:700}
.document-validation-ok{color:#277052!important;font-size:.75rem;font-weight:700}
.document-field-help,.patient-field-help{color:#68776f!important;font-size:.75rem;font-weight:400}
@media(max-width:900px){.document-icf-severity>div{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Medicus-Explorer: Dateiliste und sichtbare Analyse nebeneinander */
.medicus-patient-summary{display:grid;grid-template-columns:11rem minmax(0,1fr);grid-gap:.45rem 1rem;gap:.45rem 1rem}
.medicus-patient-summary dd{margin:0}
.medicus-analysis-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(22rem,.8fr);grid-gap:1rem;gap:1rem;align-items:start}
.medicus-file-table-wrap{min-width:0}
.medicus-file-table th:nth-child(2),.medicus-file-table td:nth-child(2){width:5.5rem;white-space:nowrap}
.medicus-file-table th:nth-child(3),.medicus-file-table td:nth-child(3){width:6.5rem;white-space:nowrap}
.medicus-file-table th:nth-child(4),.medicus-file-table td:nth-child(4){width:10rem;text-align:right}
.medicus-file-table td:first-child code{display:block;overflow-wrap:anywhere;word-break:break-word}
.medicus-file-selected{background:#eef7f3}
.medicus-analysis-panel{position:-webkit-sticky;position:sticky;top:1rem;min-width:0;max-height:calc(100vh - 2rem);overflow:auto;border:1px solid #d7e2dd;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(31,66,55,.08)}
.medicus-analysis-panel>section{margin:0!important;border:0!important;border-radius:0!important}
.medicus-analysis-placeholder{padding:1.25rem;color:#5b6c65}
.medicus-analysis-placeholder strong{display:block;color:#1f342d;font-size:1.05rem;margin-bottom:.4rem}
.medicus-analysis-placeholder p{margin:0;line-height:1.5}
@media(min-width:1200px){.app-shell:has(.medicus-patient-analysis-section){width:min(1800px,100%)}.app-shell:has(.medicus-patient-analysis-section)>.content{width:100%;max-width:none}}
@media(max-width:1050px){.medicus-analysis-layout{grid-template-columns:1fr}.medicus-analysis-panel{position:static;max-height:none}.medicus-file-table th:nth-child(4),.medicus-file-table td:nth-child(4){width:auto}}
@media(max-width:640px){.medicus-patient-summary{grid-template-columns:1fr}.medicus-patient-summary dt{font-weight:750}.medicus-patient-summary dd{margin-bottom:.35rem}}

/* Medicus Explorer: mobile Karten, Inline-Analyse und Datei-Download */
.medicus-file-cards{display:none}
.medicus-file-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}
.medicus-file-actions .secondary{min-width:7.5rem}
@media(max-width:700px){
  .medicus-file-table-wrap{display:none!important}
  .medicus-file-cards{display:grid;grid-gap:.8rem;gap:.8rem}
  .medicus-analysis-panel{display:none!important}
  .medicus-analysis-layout{display:block}
  .medicus-file-card{min-width:0;border:1px solid #d7e2dd;border-radius:16px;background:#fff;padding:1rem;box-shadow:0 5px 16px rgba(31,66,55,.06)}
  .medicus-file-card.is-selected{border-color:#8bb7a5;background:#f7fbf9}
  .medicus-file-card>code{display:block;font-size:.86rem;line-height:1.35;overflow-wrap:anywhere;word-break:break-word;white-space:normal}
  .medicus-file-card>p{margin:.55rem 0 .8rem;color:var(--muted);font-weight:750}
  .medicus-file-actions{justify-content:stretch}
  .medicus-file-actions .secondary{flex:1 1 8rem;min-width:0}
  .medicus-mobile-analysis{margin-top:.85rem;padding-top:.85rem;border-top:1px solid #d7e2dd}
  .medicus-mobile-analysis>section{margin:0!important;padding:0!important;border:0!important;border-radius:0!important}
  .medicus-mobile-analysis .admin-table-wrap{overflow-x:auto}
}

/* Schwebendes Benutzermenü: garantiert kreisrund, ohne Kapsel/Ei */
.internal-user-menu-button{
  inline-size:46px!important;
  block-size:46px!important;
  min-inline-size:46px!important;
  max-inline-size:46px!important;
  min-block-size:46px!important;
  max-block-size:46px!important;
  aspect-ratio:1/1!important;
  flex:0 0 46px!important;
  border-radius:999px!important;
  overflow:hidden!important;
}
.internal-user-avatar{
  inline-size:38px!important;
  block-size:38px!important;
  min-inline-size:38px!important;
  min-block-size:38px!important;
  aspect-ratio:1/1!important;
  border-radius:999px!important;
  overflow:hidden!important;
}
.internal-user-avatar-image{width:100%!important;height:100%!important;object-fit:cover!important}
@media(max-width:640px){
  .internal-user-menu-button{inline-size:43px!important;block-size:43px!important;min-inline-size:43px!important;max-inline-size:43px!important;min-block-size:43px!important;max-block-size:43px!important;flex-basis:43px!important}
  .internal-user-avatar{inline-size:35px!important;block-size:35px!important;min-inline-size:35px!important;min-block-size:35px!important}
}

.patient-service-month-link{display:grid;grid-template-columns:1fr auto auto;grid-gap:.8rem;gap:.8rem;align-items:center;padding:.85rem 1rem;border:1px solid var(--line,#dfe7e4);border-radius:.75rem;background:#fff;color:inherit;text-decoration:none}.patient-service-month-link span{color:var(--muted,#5f6f69)}.patient-service-month-link:hover{border-color:#7ea89b;background:#f8fbfa}.patient-services-page{display:grid;grid-gap:1rem;gap:1rem}.patient-services-header{display:flex;justify-content:space-between;gap:1rem;align-items:end}.patient-services-header h1{margin:.15rem 0 0}.patient-services-header>a,.patient-services-header a{color:var(--muted,#5f6f69);text-decoration:none}.patient-services-header>strong{color:var(--muted,#5f6f69)}.patient-services-breadcrumb{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;padding:.75rem .9rem;border:1px solid var(--line,#dfe7e4);border-radius:.75rem;background:#fff}.patient-services-breadcrumb a{color:inherit;text-decoration:none}.patient-services-level-list,.patient-services-detail-list{display:grid;grid-gap:.55rem;gap:.55rem}.patient-services-level-row{display:grid;grid-template-columns:1fr auto auto;grid-gap:.8rem;gap:.8rem;align-items:center;padding:1rem;border:1px solid var(--line,#dfe7e4);border-radius:.8rem;background:#fff;color:inherit;text-decoration:none}.patient-services-level-row span{color:var(--muted,#5f6f69)}.patient-services-level-row:hover{border-color:#7ea89b;background:#f8fbfa}.patient-services-detail-row{display:grid;grid-template-columns:8rem 1fr;grid-gap:1rem;gap:1rem;padding:1rem;border:1px solid var(--line,#dfe7e4);border-radius:.8rem;background:#fff}.patient-services-detail-row>div,.patient-services-detail-row>span{display:grid;grid-gap:.2rem;gap:.2rem}.patient-services-detail-row time,.patient-services-detail-row small{color:var(--muted,#5f6f69);font-size:.86rem}@media(max-width:700px){.patient-services-header{align-items:start}.patient-services-header>strong{white-space:nowrap}.patient-services-level-row,.patient-service-month-link{grid-template-columns:1fr auto}.patient-services-level-row>b,.patient-service-month-link>b{display:none}.patient-services-detail-row{grid-template-columns:1fr}.patient-services-detail-row>div{grid-template-columns:auto 1fr;gap:.75rem}}
.patient-services-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;justify-content:flex-end}.patient-services-import-status{display:grid;grid-gap:.25rem;gap:.25rem;padding:.85rem 1rem;border:1px solid #d7c78c;border-radius:.75rem;background:#fff9df}.patient-services-import-status.success{border-color:#9bc7b8;background:#f0faf6}.patient-services-import-status span{color:var(--muted,#5f6f69);font-size:.88rem}.patient-services-import-report{padding:.85rem 1rem;border:1px solid var(--line,#dfe7e4);border-radius:.75rem;background:#fff}.patient-services-import-report summary{cursor:pointer;font-weight:700}.patient-services-report-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));grid-gap:.55rem;gap:.55rem;margin-top:.8rem}.patient-services-report-grid span{display:flex;justify-content:space-between;gap:.5rem;padding:.55rem .65rem;border-radius:.55rem;background:#f4f7f6}.patient-services-import-report>small{display:block;margin:.7rem 0;color:var(--muted,#5f6f69);overflow-wrap:anywhere}.patient-services-report-row{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-top:1px solid var(--line,#dfe7e4)}@media(max-width:700px){.patient-services-actions{align-items:flex-end;flex-direction:column}.patient-services-actions .button{width:100%}.patient-services-report-row{display:grid;grid-gap:.2rem;gap:.2rem}}

/* Mobile Substitutionslisten */
.substitution-list-cards {
  display: grid;
  grid-gap: .75rem;
  gap: .75rem;
}
.substitution-list-card {
  border: 1px solid rgba(15, 23, 42, .12);
  border-radius: .85rem;
  background: rgba(255,255,255,.9);
  padding: .9rem;
  box-shadow: 0 3px 12px rgba(15,23,42,.05);
}
.substitution-list-card-head,
.substitution-list-card-actions {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: .75rem;
}
.substitution-list-card-head h3 {
  margin: 0 0 .15rem;
  font-size: 1.05rem;
}
.substitution-list-card-head span:not(.status-pill),
.substitution-list-card-actions small {
  color: var(--muted, #64748b);
}
.substitution-list-values {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(7rem, .65fr);
  grid-gap: .7rem;
  gap: .7rem;
  margin: .85rem 0;
}
.substitution-list-values div {
  min-width: 0;
  padding: .65rem .7rem;
  border-radius: .65rem;
  background: rgba(15,23,42,.045);
}
.substitution-list-values dt {
  margin-bottom: .15rem;
  color: var(--muted, #64748b);
  font-size: .76rem;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.substitution-list-values dd {
  margin: 0;
  font-weight: 700;
  overflow-wrap: anywhere;
}
.substitution-list-card-actions { align-items: center; }
@media (min-width: 760px) {
  .substitution-list-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* PID-Dateianalyse nutzt die verfügbare Desktop-Breite */
@media(min-width:1100px){
  .app-shell:has(.medicus-pid-upload-section){width:min(1900px,100%)}
  .app-shell:has(.medicus-pid-upload-section)>.content{width:100%;max-width:none}
  .medicus-pid-upload-section .admin-table{min-width:1200px}
  .medicus-pid-upload-section .admin-table th:first-child,.medicus-pid-upload-section .admin-table td:first-child{min-width:22rem}
  .medicus-pid-upload-section .admin-table th:nth-child(5),.medicus-pid-upload-section .admin-table td:nth-child(5){min-width:20rem;max-width:36rem;overflow-wrap:anywhere}
}

/* Medicus DBF/FPT-Analyse */
.medicus-dbf-records {
  max-height: 48rem;
  overflow: auto;
  padding: .85rem;
  border: 1px solid var(--line, #d9dee5);
  border-radius: 10px;
  background: rgba(255,255,255,.55);
}
.medicus-dbf-records dd { white-space: pre-wrap; }
.medicus-patient-analysis-section .admin-table { min-width: 1120px; }

/* Interaktiver Medicus DBF/FPT-Explorer */
.medicus-dbf-explorer{display:grid;grid-gap:.85rem;gap:.85rem}
.medicus-dbf-toolbar{display:flex;align-items:end;gap:.75rem;flex-wrap:wrap;padding:.85rem;border:1px solid var(--line,#d9dee5);border-radius:12px;background:#f8faf9}
.medicus-dbf-toolbar label{display:grid;grid-gap:.35rem;gap:.35rem;min-width:14rem;font-weight:700}
.medicus-dbf-toolbar label:first-child{flex:1 1 24rem}
.medicus-dbf-toolbar input,.medicus-dbf-toolbar select{width:100%}
.medicus-dbf-browser-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(20rem,.75fr);grid-gap:1rem;gap:1rem;align-items:start}
.medicus-dbf-browser-table{max-height:44rem;overflow:auto;border:1px solid var(--line,#d9dee5);border-radius:10px}
.medicus-dbf-browser-table table{min-width:900px}
.medicus-dbf-browser-table tbody tr{cursor:pointer}
.medicus-dbf-browser-table tbody tr:hover,.medicus-dbf-browser-table tbody tr.is-selected{background:#edf7f3}
.medicus-dbf-browser-table td{max-width:18rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.medicus-dbf-record-detail{position:-webkit-sticky;position:sticky;top:1rem;max-height:44rem;overflow:auto;padding:1rem;border:1px solid var(--line,#d9dee5);border-radius:10px;background:#fff}
.medicus-dbf-record-detail h5{margin:0 0 .8rem;font-size:1rem}
.medicus-dbf-record-detail dd{white-space:pre-wrap;overflow-wrap:anywhere}
.medicus-dbf-pagination{display:flex;align-items:center;justify-content:center;gap:1rem}
@media(max-width:1050px){.medicus-dbf-browser-layout{grid-template-columns:1fr}.medicus-dbf-record-detail{position:static;max-height:none}.medicus-dbf-browser-table{max-height:34rem}}
@media(max-width:700px){.medicus-dbf-toolbar{display:grid}.medicus-dbf-toolbar label{min-width:0}.medicus-dbf-toolbar button{width:100%}}

/* DBF/FPT als echter Vollbild-Arbeitsbereich */
.medicus-dbf-workspace{
  position:fixed;
  inset:0;
  z-index:10000;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  background:#f4f6f5;
  color:var(--text,#17201c);
}
.medicus-dbf-workspace-header{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  grid-gap:1rem;
  gap:1rem;
  min-height:64px;
  padding:.65rem 1rem;
  border-bottom:1px solid var(--line,#d9dee5);
  background:#fff;
  box-shadow:0 2px 14px rgba(0,0,0,.06);
}
.medicus-dbf-workspace-header>div{display:grid;grid-gap:.1rem;gap:.1rem;min-width:0}
.medicus-dbf-workspace-header strong{font-size:1.05rem}
.medicus-dbf-workspace-header span{font-size:.86rem;color:var(--muted,#68736d);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.medicus-dbf-workspace-main{min-height:0;overflow:auto;padding:1rem 1.25rem 1.5rem}
.medicus-dbf-workspace-main>section{margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important}
.medicus-dbf-workspace-main .admin-table-wrap{max-width:none}
.medicus-dbf-workspace-main .medicus-dbf-browser-layout{grid-template-columns:minmax(0,2.1fr) minmax(28rem,.9fr);min-height:calc(100vh - 285px)}
.medicus-dbf-workspace-main .medicus-dbf-browser-table,
.medicus-dbf-workspace-main .medicus-dbf-record-detail{max-height:calc(100vh - 285px)}
.medicus-dbf-workspace-main .medicus-dbf-browser-table table{min-width:1200px}
.medicus-dbf-workspace-main .medicus-dbf-record-detail{top:0}
@media(max-width:1050px){
  .medicus-dbf-workspace-main .medicus-dbf-browser-layout{grid-template-columns:1fr;min-height:auto}
  .medicus-dbf-workspace-main .medicus-dbf-browser-table{max-height:55vh}
  .medicus-dbf-workspace-main .medicus-dbf-record-detail{max-height:none}
}
@media(max-width:700px){
  .medicus-dbf-workspace-header{grid-template-columns:auto 1fr;padding:.55rem .7rem}
  .medicus-dbf-workspace-header>button:last-child{display:none}
  .medicus-dbf-workspace-main{padding:.65rem}
}

/* Leistungsseite: Zeitraum-Auswertung, Alle-Anzeige und responsive Tabellenansicht */
.patient-services-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:.65rem;gap:.65rem}.patient-services-summary>div{display:grid;grid-gap:.2rem;gap:.2rem;padding:.85rem 1rem;border:1px solid var(--line,#dfe7e4);border-radius:.75rem;background:#fff}.patient-services-summary span{color:var(--muted,#5f6f69);font-size:.82rem}.patient-services-summary strong{font-size:1.05rem}.patient-services-tools{display:flex;justify-content:space-between;gap:.75rem;align-items:center}.patient-services-filters{display:flex;gap:.55rem;flex:1 1}.patient-services-filters input,.patient-services-filters select{min-height:2.75rem;padding:.55rem .75rem;border:1px solid var(--line,#dfe7e4);border-radius:.7rem;background:#fff;color:inherit}.patient-services-filters input{min-width:14rem;flex:1 1}.patient-services-view-toggle{display:flex;padding:.2rem;border:1px solid var(--line,#dfe7e4);border-radius:.7rem;background:#fff}.patient-services-view-toggle button{border:0;border-radius:.5rem;background:transparent;padding:.5rem .7rem;color:inherit}.patient-services-view-toggle button.active{background:#eaf4f1;font-weight:700}.patient-services-level-row{grid-template-columns:1fr auto auto}.patient-services-level-main{display:grid;grid-template-columns:1fr auto;grid-gap:.8rem;gap:.8rem;align-items:center;min-width:0;color:inherit;text-decoration:none}.patient-services-all-link{padding:.45rem .65rem;border:1px solid var(--line,#dfe7e4);border-radius:.55rem;color:inherit;text-decoration:none;font-size:.86rem;white-space:nowrap}.patient-services-all-link:hover{background:#eaf4f1}.patient-services-chevron{font-size:1.45rem;line-height:1;color:inherit;text-decoration:none}.patient-services-back-to-groups{width:max-content;color:inherit;text-decoration:none;font-weight:650}.patient-services-table-wrap{overflow:auto;border:1px solid var(--line,#dfe7e4);border-radius:.8rem;background:#fff}.patient-services-table{width:100%;border-collapse:collapse;min-width:46rem}.patient-services-table th,.patient-services-table td{padding:.75rem .8rem;text-align:left;border-bottom:1px solid var(--line,#dfe7e4);vertical-align:top}.patient-services-table th{font-size:.78rem;color:var(--muted,#5f6f69);background:#f7f9f8}.patient-services-table tbody tr:last-child td{border-bottom:0}
@media(max-width:800px){.patient-services-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.patient-services-tools{align-items:stretch;flex-direction:column}.patient-services-filters{display:grid}.patient-services-filters input{min-width:0;width:100%}.patient-services-view-toggle{align-self:flex-end}.patient-services-level-row{grid-template-columns:1fr auto}.patient-services-level-main{grid-column:1/-1}.patient-services-all-link{grid-column:1}.patient-services-chevron{grid-column:2;grid-row:2}.patient-services-detail-row time{font-size:.8rem}}

/* Globale Seitenperformance (nur Admin-Layout) */
.page-performance-profiler{position:fixed;right:14px;bottom:76px;z-index:1200;font-size:14px}.page-performance-button{border:0;border-radius:999px;padding:9px 12px;box-shadow:0 5px 18px rgba(0,0,0,.18);font-weight:700;background:#eef5f2;color:#173d33}.page-performance-button.warning{background:#fff1c7;color:#6b4b00}.page-performance-button.danger{background:#f9d8d8;color:#7b1717}.page-performance-button.running{background:#eef1f4;color:#48515a}.page-performance-panel{position:absolute;right:0;bottom:48px;width:min(360px,calc(100vw - 28px));max-height:65vh;overflow:auto;background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:16px;padding:14px;box-shadow:0 12px 34px rgba(0,0,0,.22)}.page-performance-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.page-performance-head button{border:0;background:transparent;font-size:24px;line-height:1}.page-performance-panel p{margin:.6rem 0}.page-performance-panel code{overflow-wrap:anywhere}.page-performance-list{display:grid;grid-gap:7px;gap:7px;margin:.7rem 0}.page-performance-list>div{padding:8px;border-radius:9px;background:#f5f6f6;overflow-wrap:anywhere}

/* Leistungs-Zeitstrahl */
.patient-services-period-nav{position:-webkit-sticky;position:sticky;top:.5rem;z-index:30;display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:.65rem;gap:.65rem;padding:.6rem;border:1px solid var(--line,#dfe7e4);border-radius:.9rem;background:rgba(255,255,255,.96);box-shadow:0 5px 18px rgba(30,55,48,.08);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.patient-services-period-nav>a{display:flex;align-items:center;gap:.35rem;padding:.55rem .7rem;border-radius:.65rem;color:inherit;text-decoration:none;background:#f3f7f5}.patient-services-period-nav>strong{text-align:center}.patient-services-jump-units{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);grid-gap:.35rem;gap:.35rem}.patient-services-jump-units a{text-align:center;padding:.42rem;border-radius:.55rem;color:inherit;text-decoration:none;border:1px solid var(--line,#dfe7e4);font-size:.82rem}
.patient-services-quick-filters{display:flex;gap:.45rem;overflow:auto;padding-bottom:.1rem}.patient-services-quick-filters button{white-space:nowrap;border:1px solid var(--line,#dfe7e4);border-radius:999px;background:#fff;padding:.48rem .75rem;color:inherit}.patient-services-quick-filters button.active{background:#dfeee9;border-color:#76a395;font-weight:700}
.patient-services-quarter-list{display:grid;grid-gap:.65rem;gap:.65rem}.patient-services-quarter-card{display:grid;grid-template-columns:1fr auto;grid-gap:.2rem .8rem;gap:.2rem .8rem;padding:1rem 1.05rem;border:1px solid var(--line,#dfe7e4);border-radius:.85rem;background:#fff;color:inherit;text-decoration:none}.patient-services-quarter-card>span,.patient-services-quarter-card>small{color:var(--muted,#5f6f69)}.patient-services-quarter-card>strong{font-size:1.15rem}.patient-services-quarter-card>b{grid-column:2;grid-row:1/4;align-self:center;font-size:1.5rem}.patient-services-quarter-card.warning{border-color:#d98686;background:#fff5f5}.patient-services-quarter-card.warning small{color:#9b2929;font-weight:650}
.patient-services-month-overview{display:grid;grid-gap:.75rem;gap:.75rem}.patient-services-week-card{border:1px solid var(--line,#dfe7e4);border-radius:.85rem;background:#fff;overflow:hidden}.patient-services-week-card.warning{border-color:#d45d5d;background:#fff6f6}.patient-services-week-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1rem;color:inherit;text-decoration:none}.patient-services-week-head span{display:grid;grid-gap:.15rem;gap:.15rem}.patient-services-week-head em{font-style:normal;color:#a52626;font-size:.82rem;font-weight:700}.patient-services-day-strip{display:flex;gap:.4rem;overflow-x:auto;padding:.2rem .75rem .8rem}.patient-services-day-strip a{position:relative;display:grid;min-width:5.2rem;grid-gap:.12rem;gap:.12rem;padding:.55rem .6rem;border:1px solid var(--line,#dfe7e4);border-radius:.65rem;color:inherit;text-decoration:none;background:#fff}.patient-services-day-strip a small,.patient-services-day-strip a span{font-size:.72rem;color:var(--muted,#5f6f69);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.patient-services-day-strip a.th:after{content:"";position:absolute;left:-.25rem;right:-.25rem;bottom:.25rem;height:.22rem;background:#4f8d7c}.patient-services-day-strip a.daily{box-shadow:inset 0 3px 0 #b08b35}.patient-services-day-strip a.th.daily{background:#fff0f0;border-color:#d45d5d}
.patient-services-day-card{border:1px solid var(--line,#dfe7e4);border-radius:.85rem;background:#fff;overflow:hidden}.patient-services-day-card.take-home{border-left:5px solid #4f8d7c}.patient-services-day-card>header{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.8rem 1rem;background:#f7f9f8}.patient-services-day-card>header span{display:grid}.patient-services-day-card>header small{color:var(--muted,#5f6f69)}.patient-services-day-card>header>b{padding:.3rem .55rem;border-radius:999px;background:#dfeee9;color:#275f50;font-size:.75rem}.patient-services-service-line{display:grid;grid-template-columns:5rem 1fr;grid-gap:.8rem;gap:.8rem;padding:.8rem 1rem;border-top:1px solid var(--line,#dfe7e4)}.patient-services-service-line>span{display:grid;grid-gap:.18rem;gap:.18rem}.patient-services-service-line small{color:var(--muted,#5f6f69)}.patient-services-level-row.take-home{border-left:5px solid #4f8d7c}
@media(max-width:700px){.patient-services-period-nav>a span{display:none}.patient-services-period-nav{top:.25rem}.patient-services-service-line{grid-template-columns:4.2rem 1fr}.patient-services-quarter-card{padding:.85rem}.patient-services-day-strip a{min-width:4.7rem}}

/* Leistungsübersicht: vollständige Kalenderwoche, Rezepttag und Reichdauer */
.patient-services-period-nav{
  position:-webkit-sticky;
  position:sticky;
  top:0;
  z-index:120;
  isolation:isolate;
}
.patient-services-week-head{
  width:100%;
  border:0;
  background:transparent;
  cursor:pointer;
  font:inherit;
  text-align:left;
}
.patient-services-week-head strong small{font-weight:600;color:var(--muted,#5f6f69)}
.patient-services-week-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  overflow:visible;
  grid-gap:.25rem;
  gap:.25rem;
}
.patient-services-week-grid a{
  min-width:0;
  min-height:6.2rem;
  padding:.5rem .4rem .7rem;
  align-content:start;
}
.patient-services-week-grid a span{white-space:normal;font-weight:700;color:inherit}
.patient-services-week-grid a em{
  margin-top:.3rem;
  font-size:.66rem;
  font-style:normal;
  line-height:1.15;
  color:var(--muted,#5f6f69);
}
.patient-services-week-grid a.prescription{
  background:#fff7dc;
  box-shadow:inset 0 3px 0 #b08b35;
}
.patient-services-week-grid a.coverage{
  background:#e8f3ef;
  border-left-color:transparent;
  border-right-color:transparent;
  border-radius:.2rem;
}
.patient-services-week-grid a.coverage-start{border-left-color:#4f8d7c;border-radius:.65rem .2rem .2rem .65rem}
.patient-services-week-grid a.coverage-end{border-right-color:#4f8d7c;border-radius:.2rem .65rem .65rem .2rem}
.patient-services-week-grid a.coverage:after{
  content:"";
  position:absolute;
  left:-.18rem;
  right:-.18rem;
  bottom:.3rem;
  height:.28rem;
  background:#4f8d7c;
}
.patient-services-week-grid a.coverage-start:after{left:.35rem;border-radius:.25rem 0 0 .25rem}
.patient-services-week-grid a.coverage-end:after{right:.35rem;border-radius:0 .25rem .25rem 0}
.patient-services-week-grid a.daily{box-shadow:inset 0 3px 0 #8b6b18}
.patient-services-week-grid a.conflict{
  background:#fff0f0;
  border-color:#d45d5d;
  box-shadow:inset 0 3px 0 #c33;
}
.patient-services-week-expanded{
  display:grid;
  grid-gap:.65rem;
  gap:.65rem;
  padding:.25rem .75rem .85rem;
  border-top:1px solid var(--line,#dfe7e4);
}
@media(max-width:700px){
  .patient-services-week-grid{gap:.16rem}
  .patient-services-week-grid a{min-height:5.7rem;padding:.42rem .22rem .65rem}
  .patient-services-week-grid a em{font-size:.6rem}
  .patient-services-period-nav{top:0}
}

/* Leistungszeitstrahl – Korrekturen 2026-07-28 */
.patient-services-page{overflow:visible!important}
.patient-services-period-nav{
  position:-webkit-sticky!important;
  position:sticky!important;
  top:.5rem!important;
  z-index:100!important;
  align-self:start;
}
.patient-services-nav-placeholder{display:block;min-width:1px}
.patient-services-week-grid a i{
  justify-self:start;
  padding:.08rem .28rem;
  border-radius:.3rem;
  background:#efe5c8;
  color:#624d12;
  font-size:.64rem;
  font-style:normal;
  font-weight:800;
}
@media(max-width:700px){
  .patient-services-period-nav{top:.25rem!important}
}

/* Substitutions-Controlling V1 */
.app-shell:has(.patient-services-page),.app-shell:has(.patient-services-page) .content{overflow:visible!important}
.patient-services-period-nav{top:0!important;z-index:500!important}
.patient-services-holiday{display:block;margin-top:.2rem;font-size:.64rem;line-height:1.1;color:#7a4c00}
.patient-services-range-missing{position:relative;z-index:2;margin-top:.25rem;padding:.18rem .3rem;border:1px solid #c7792f;border-radius:.35rem;background:#fff3df;color:#7a3d00;font-size:.64rem;font-weight:750;text-align:left}
.patient-services-modal-backdrop{position:fixed;inset:0;z-index:1500;display:grid;place-items:center;padding:1rem;background:rgba(15,23,42,.45)}
.patient-services-modal{width:min(30rem,100%);padding:1.1rem;border-radius:1rem;background:#fff;box-shadow:0 18px 55px rgba(0,0,0,.28)}
.patient-services-modal h2{margin-top:0}.patient-services-range-fields{display:grid;grid-template-columns:1fr 1fr;grid-gap:.75rem;gap:.75rem}.patient-services-range-fields label{display:grid;grid-gap:.3rem;gap:.3rem;font-weight:700}.patient-services-range-fields input{width:100%;padding:.65rem;border:1px solid var(--line,#dfe7e4);border-radius:.65rem}.patient-services-modal-actions{display:flex;justify-content:flex-end;gap:.65rem;margin-top:1rem}
.substitution-control-toolbar{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;margin-top:.8rem;padding:.65rem;border:1px solid rgba(30,78,111,.18);border-radius:.8rem;background:rgba(241,247,251,.72)}
.substitution-control-toolbar strong{margin-right:.25rem}.substitution-control-toolbar button{padding:.42rem .65rem;border:1px solid rgba(30,78,111,.22);border-radius:999px;background:#fff;color:inherit}.substitution-control-toolbar button.active{background:#dfeee9;border-color:#76a395;font-weight:750}
.substitution-control-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.45rem;gap:.45rem;margin-top:.7rem;padding:.6rem;border:1px solid rgba(15,23,42,.12);border-radius:.7rem;background:rgba(255,255,255,.72)}
.substitution-control-grid>div{display:grid;align-content:start;grid-gap:.12rem;gap:.12rem;min-width:0;padding:.45rem;border-radius:.5rem;background:rgba(15,23,42,.035)}.substitution-control-grid span,.substitution-control-grid small{font-size:.72rem;color:var(--muted,#5f6f69);overflow-wrap:anywhere}.substitution-control-grid strong{font-size:.9rem;overflow-wrap:anywhere}.substitution-control-grid.status-red{border-color:#d45d5d;background:#fff6f6}.substitution-control-grid.status-yellow{border-color:#d6a72c;background:#fffaf0}.substitution-control-grid.status-green{border-color:#78a894;background:#f3faf7}
@media(max-width:760px){.patient-services-range-fields{grid-template-columns:1fr}.substitution-control-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Substitutionsliste: breite Desktop-Tabelle und priorisierte Mobilkarten */
.substitution-control-table-wrap{display:none}
.substitution-list-cards-mobile{display:grid}
.substitution-control-status{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:.28rem .5rem;border-radius:999px;font-size:.76rem;font-weight:800;white-space:nowrap}
.substitution-control-status.status-green{background:#e8f6ed;color:#176330}
.substitution-control-status.status-yellow{background:#fff4cf;color:#735500}
.substitution-control-status.status-red{background:#fde4e4;color:#8d2020}
.substitution-control-status.status-neutral{background:#eef1f3;color:#59636b}
.substitution-list-card.status-yellow{border-color:#d9b44f;background:#fffdf5}
.substitution-list-card.status-red{border-color:#d77a7a;border-left:5px solid #c94f4f;background:#fff4f4}
.substitution-mobile-alerts{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.7rem}
.substitution-mobile-alerts span{padding:.26rem .48rem;border-radius:999px;background:rgba(164,39,39,.09);color:#7e2424;font-size:.75rem;font-weight:750}
.substitution-mobile-details{margin-top:.65rem}.substitution-mobile-details summary{cursor:pointer;font-weight:750}
@media(min-width:1000px){
  .app-shell:has(.substitution-control-table-wrap){width:min(1900px,100%)}
  .app-shell:has(.substitution-control-table-wrap)>.content{width:100%;max-width:none}
  .substitution-list-cards-mobile{display:none}
  .substitution-control-table-wrap{display:block;overflow:auto;border:1px solid var(--line,#d9dee5);border-radius:.85rem;background:#fff}
  .substitution-control-table{width:100%;min-width:1320px;border-collapse:separate;border-spacing:0}
  .substitution-control-table th,.substitution-control-table td{padding:.65rem .7rem;border-bottom:1px solid var(--line,#e1e6e3);text-align:left;vertical-align:top}
  .substitution-control-table th{position:-webkit-sticky;position:sticky;top:0;z-index:5;background:#f3f6f5;font-size:.78rem;white-space:nowrap}
  .substitution-control-table td{font-size:.86rem}.substitution-control-table td strong,.substitution-control-table td small{display:block}.substitution-control-table td small{margin-top:.18rem;color:var(--muted,#65716b);overflow-wrap:anywhere}
  .substitution-control-table tbody tr.status-yellow td{background:#fffdf4}
  .substitution-control-table tbody tr.status-red td{background:#fff2f2}
  .substitution-control-table tbody tr:hover td{background:#edf7f3}
  .substitution-control-table th:first-child,.substitution-control-table td:first-child{position:-webkit-sticky;position:sticky;left:0;z-index:3;min-width:13rem;background:inherit}
  .substitution-control-table th:first-child{z-index:7;background:#f3f6f5}
  .substitution-control-table th:last-child,.substitution-control-table td:last-child{position:-webkit-sticky;position:sticky;right:0;z-index:3;background:inherit}
  .substitution-control-table th:last-child{z-index:7;background:#f3f6f5}
}

/* Substitutionsliste: echte breite Desktop-Liste */
@media (min-width:1000px){
  .substitution-list-page{
    width:min(1880px,calc(100vw - 2rem))!important;
    max-width:none!important;
    margin-left:50%!important;
    margin-right:0!important;
    transform:translateX(-50%);
  }
  .substitution-control-table-wrap{
    width:100%;
    overflow-x:auto;
  }
  .substitution-control-table{
    min-width:1500px;
    table-layout:auto;
  }
  .substitution-control-table th:nth-child(1){min-width:16rem}
  .substitution-control-table th:nth-child(3){min-width:12rem}
  .substitution-control-table th:nth-child(4){min-width:12rem}
  .substitution-control-table th:nth-child(6){min-width:10rem}
  .substitution-control-table th:nth-child(7){min-width:11rem}
  .substitution-control-table th:nth-child(8){min-width:11rem}
}

.substitution-data-sync{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1rem 0;padding:.85rem 1rem;border:1px solid rgba(30,78,111,.22);border-radius:.8rem;background:rgba(241,247,251,.82)}
.substitution-data-sync>div{display:grid;grid-gap:.2rem;gap:.2rem}.substitution-data-sync small{color:var(--muted,#52606d)}
@media(max-width:700px){.substitution-data-sync{align-items:stretch;flex-direction:column}.substitution-data-sync button{width:100%}}


/* Substitution: lesender Importmonitor */
.substitution-import-monitor{margin:1rem 0;border:1px solid rgba(30,78,111,.24);border-radius:.9rem;background:rgba(241,247,251,.86);overflow:hidden}
.substitution-import-monitor>summary{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:.75rem;gap:.75rem;padding:.9rem 1rem;cursor:pointer;list-style:none}
.substitution-import-monitor>summary::-webkit-details-marker{display:none}
.substitution-import-monitor>summary span:nth-child(2){display:grid;grid-gap:.18rem;gap:.18rem}.substitution-import-monitor>summary small{color:var(--muted,#52606d);font-weight:400}
.import-monitor-dot{width:.75rem;height:.75rem;border-radius:999px;background:#7b8794;box-shadow:0 0 0 .25rem rgba(123,135,148,.14)}
.import-monitor-running{background:#27864b;box-shadow:0 0 0 .25rem rgba(39,134,75,.14)}.import-monitor-waiting{background:#d6a72c}.import-monitor-stalled,.import-monitor-error{background:#b42318}.import-monitor-idle{background:#5d6b78}
.import-monitor-summary-count{font-size:.86rem;font-weight:700;white-space:nowrap}
.import-monitor-body{display:grid;grid-gap:1rem;gap:1rem;padding:0 1rem 1rem;border-top:1px solid rgba(30,78,111,.12)}
.import-monitor-warning{margin-top:1rem;padding:.7rem .8rem;border:1px solid rgba(180,35,24,.3);border-radius:.65rem;background:rgba(254,243,242,.9);color:#8f1d14}
.import-monitor-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:.6rem;gap:.6rem;margin-top:1rem}.import-monitor-grid>div{display:grid;grid-gap:.15rem;gap:.15rem;padding:.7rem;border:1px solid rgba(30,78,111,.14);border-radius:.65rem;background:rgba(255,255,255,.75)}.import-monitor-grid strong{font-size:1.18rem}.import-monitor-grid small{color:var(--muted,#52606d)}
.import-monitor-current{display:grid;grid-template-columns:minmax(0,1fr) minmax(14rem,24rem);align-items:center;grid-gap:1rem;gap:1rem;padding:.8rem;border:1px solid rgba(30,78,111,.17);border-radius:.7rem;background:#fff}.import-monitor-current>div:first-child{display:grid;grid-gap:.2rem;gap:.2rem}.import-monitor-current small{color:var(--muted,#52606d)}
.import-monitor-progress>div{display:flex;justify-content:space-between;gap:1rem;font-size:.83rem}.import-monitor-progress progress{width:100%;height:.72rem}.import-monitor-empty{margin:0}
.import-monitor-actions{display:flex;gap:.65rem;flex-wrap:wrap}
.import-monitor-log{display:grid;grid-gap:.35rem;gap:.35rem}.import-monitor-log>strong{margin-bottom:.15rem}.import-monitor-log>div{display:grid;grid-template-columns:5.4rem 2.2rem minmax(12rem,1fr) minmax(14rem,1.4fr);grid-gap:.55rem;gap:.55rem;align-items:start;padding:.5rem .6rem;border-radius:.5rem;background:rgba(255,255,255,.68);font-size:.85rem}.import-monitor-log>div>span:nth-child(3){display:grid}.import-monitor-log small{color:var(--muted,#52606d)}.import-monitor-log-error{color:#8f1d14;background:rgba(254,243,242,.9)!important}
@media(max-width:900px){.import-monitor-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.import-monitor-current{grid-template-columns:1fr}.import-monitor-log>div{grid-template-columns:4.6rem 2rem 1fr}.import-monitor-log>div>span:last-child{grid-column:1/-1}}
@media(max-width:600px){.substitution-import-monitor>summary{grid-template-columns:auto 1fr}.import-monitor-summary-count{grid-column:2}.import-monitor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.import-monitor-log>div{grid-template-columns:4.6rem 1fr}.import-monitor-log>div>span:nth-child(2){display:none}.import-monitor-log>div>span:last-child{grid-column:1/-1}.import-monitor-actions button{width:100%}}

.internal-user-recent-empty {
  padding: 0.62rem 0.66rem;
  color: var(--muted);
  font-size: 0.84rem;
  line-height: 1.4;
}

/* Tester-Feedback und kontextbezogene Fehlermeldungen */
.internal-user-dropdown-feedback button {
  width: 100%;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: 650;
  text-align: left;
  padding: 0.72rem 1rem;
  border-radius: 0.7rem;
  cursor: pointer;
}
.internal-user-dropdown-feedback button:hover { background: rgba(15, 118, 110, 0.08); }

.user-feedback-backdrop {
  position: fixed;
  inset: 0;
  z-index: 10050;
  display: grid;
  place-items: center;
  padding: 1rem;
  background: rgba(15, 23, 42, 0.48);
  -webkit-backdrop-filter: blur(3px);
          backdrop-filter: blur(3px);
}
.user-feedback-dialog {
  width: min(620px, 100%);
  max-height: calc(100dvh - 2rem);
  overflow: auto;
  background: #fff;
  border-radius: 1.35rem;
  padding: 1.2rem;
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.28);
}
.user-feedback-dialog__header { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; }
.user-feedback-dialog__header small { color: #64748b; font-weight: 700; }
.user-feedback-dialog__header h2 { margin: 0.2rem 0 0; }
.user-feedback-dialog__header > button { border: 0; background: transparent; font-size: 1.8rem; line-height: 1; cursor: pointer; }
.user-feedback-kind-switch { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0.45rem; gap: 0.45rem; margin: 1rem 0; }
.user-feedback-kind-switch button { border: 1px solid #cbd5e1; background: #f8fafc; border-radius: 0.8rem; padding: 0.7rem 0.5rem; font-weight: 750; cursor: pointer; }
.user-feedback-kind-switch button.is-active { border-color: #0f766e; background: rgba(15, 118, 110, 0.1); }
.user-feedback-message { display: grid; grid-gap: 0.5rem; gap: 0.5rem; font-weight: 700; }
.user-feedback-message textarea { width: 100%; resize: vertical; border: 1px solid #cbd5e1; border-radius: 0.85rem; padding: 0.85rem; font: inherit; font-weight: 400; }
.user-feedback-context { color: #64748b; font-size: 0.88rem; }
.user-feedback-error { color: #b91c1c; font-weight: 700; }
.user-feedback-success { color: #047857; font-weight: 700; }
.user-feedback-actions { display: flex; justify-content: flex-end; gap: 0.65rem; margin-top: 1rem; }
.user-feedback-actions button { border: 0; border-radius: 0.8rem; padding: 0.75rem 1rem; font-weight: 750; cursor: pointer; background: #0f766e; color: #fff; }
.user-feedback-actions button.secondary { background: #e2e8f0; color: #0f172a; }
.user-feedback-actions button:disabled { opacity: 0.6; cursor: wait; }
.admin-fetch-debug-toast__actions { display: flex; flex-wrap: wrap; gap: 0.45rem; }

@media (max-width: 640px) {
  .user-feedback-backdrop { align-items: end; padding: 0; }
  .user-feedback-dialog { width: 100%; border-radius: 1.35rem 1.35rem 0 0; max-height: 92dvh; }
  .user-feedback-kind-switch { grid-template-columns: 1fr; }
}

/* Patientenleistungen: gespeicherte EBM-Euro-Werte */
.patient-services-service-line > em {
  margin-left: auto;
  padding-left: .75rem;
  white-space: nowrap;
  font-style: normal;
  font-weight: 700;
}
.patient-service-month-link > span {
  text-align: right;
}

.patient-module-status{display:inline-flex;align-items:center;width:max-content;margin-top:.45rem;padding:.22rem .55rem;border-radius:999px;font-size:.72rem;font-style:normal;font-weight:700;background:#eef2f7;color:#344054}.patient-module-status.status-ok{background:#e8f7ee;color:#17663a}.patient-module-status.status-running,.patient-module-status.status-queued{background:#fff4d6;color:#805b00}.patient-module-status.status-error{background:#feeceb;color:#a92d28}.patient-module-status.status-stale,.patient-module-status.status-missing{background:#edf1f6;color:#526071}
.background-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:.65rem;gap:.65rem;margin-top:.8rem}.background-stat{padding:.75rem;border:1px solid var(--line,#d9dee7);border-radius:.75rem;background:rgba(255,255,255,.55)}.background-stat small,.background-stat strong{display:block}.background-stat strong{font-size:1.05rem;margin-top:.2rem}

.calendar-toolbar{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin:1rem 0}.calendar-toolbar span{flex:1 1}.calendar-grid{display:grid;grid-gap:.5rem;gap:.5rem}.calendar-month{grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-week{grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-day{grid-template-columns:1fr}.calendar-day{min-height:9rem;border:1px solid var(--border-color,#d8dee6);border-radius:.75rem;padding:.5rem;background:var(--surface,#fff);overflow:hidden}.calendar-day header{display:flex;justify-content:space-between}.calendar-event{display:grid;grid-template-columns:3.5rem 1fr;grid-gap:.25rem;gap:.25rem;margin-top:.35rem;padding:.3rem;border-radius:.4rem;background:rgba(60,100,160,.08);font-size:.85rem}.calendar-event small{grid-column:2}.calendar-event a,.calendar-event b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:900px){.calendar-month,.calendar-week{grid-template-columns:1fr}.calendar-month .calendar-day{min-height:auto}}

/* PZFP Import-Explorer */
.import-explorer { margin-top: 1rem; }
.import-explorer-tools { display: grid; grid-gap: .85rem; gap: .85rem; margin-bottom: 1rem; }
.import-explorer-search { max-width: 36rem; }
.import-explorer-filters { display: flex; flex-wrap: wrap; gap: .55rem; }
.import-explorer-filters button { border: 1px solid var(--line, #dedede); background: #f3f3f3; border-radius: 999px; padding: .65rem .9rem; font: inherit; font-weight: 700; cursor: pointer; }
.import-explorer-filters button.active { background: var(--accent, #f6c62f); border-color: var(--accent, #f6c62f); }
.import-explorer-groups { display: grid; grid-gap: .85rem; gap: .85rem; }
.import-object-group > summary { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.import-field-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); grid-gap: 1rem; gap: 1rem; margin-top: 1rem; }
.import-field-card { margin: 0; min-width: 0; }
.import-field-head { display: flex; align-items: flex-start; justify-content: space-between; gap: .75rem; flex-wrap: wrap; }
.import-field-head code { font-size: 1.05rem; font-weight: 800; overflow-wrap: anywhere; }
.import-field-details { margin: .85rem 0; }
.import-field-details dd { overflow-wrap: anywhere; }
.import-field-decision select { width: 100%; }
@media (max-width: 720px) {
  .import-field-grid { grid-template-columns: 1fr; }
  .import-explorer-filters { flex-wrap: nowrap; overflow-x: auto; padding-bottom: .25rem; scrollbar-width: thin; }
  .import-explorer-filters button { flex: 0 0 auto; }
  .import-field-card { padding: 16px; }
  .import-field-details { grid-template-columns: 1fr; }
}

/* PZFP Kalender */
.calendar-page{max-width:1500px;margin:0 auto}.calendar-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.calendar-title-row h1{margin-bottom:.2rem}.calendar-title-row .muted{margin:0;color:var(--muted,#64748b);text-transform:capitalize}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:1rem 0;padding:.7rem}.calendar-nav,.calendar-view-switch{display:flex;gap:.4rem;flex-wrap:wrap}.calendar-toolbar button,.calendar-filter-chips button,.calendar-dialog button{min-height:2.55rem}.calendar-view-switch .active{font-weight:700;box-shadow:inset 0 -3px currentColor}.calendar-filters{margin-bottom:1rem;padding:.75rem}.calendar-filters summary{cursor:pointer;font-weight:700;display:flex;justify-content:space-between;gap:1rem}.calendar-filters summary span{font-weight:400;color:var(--muted,#64748b)}.calendar-filter-actions{display:flex;gap:.45rem;flex-wrap:wrap;padding-top:.75rem}.calendar-filter-actions button{min-height:2.4rem}.calendar-filter-chips{display:flex;gap:.45rem;flex-wrap:wrap;padding-top:.75rem}.calendar-filter-chips button{opacity:.68}.calendar-filter-chips button.active{opacity:1;font-weight:700}.calendar-deleted-toggle{display:flex;align-items:center;gap:.45rem;padding:.55rem .7rem;border:1px solid var(--border-color,#d8dee6);border-radius:.65rem}.calendar-grid{display:grid;grid-gap:.55rem;gap:.55rem}.calendar-month,.calendar-week{grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-day{min-width:0;min-height:10rem;border:1px solid var(--border-color,#d8dee6);border-radius:.8rem;padding:.55rem;background:var(--surface,#fff);overflow:hidden}.calendar-day.today{outline:2px solid var(--primary,#276fbf);outline-offset:-2px}.calendar-day.outside-month{opacity:.58}.calendar-day>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.35rem}.calendar-day>header button{display:flex;gap:.35rem;align-items:baseline;border:0;background:transparent;padding:.15rem;color:inherit}.calendar-day>header button strong{font-size:1.05rem}.calendar-count{font-size:.78rem;min-width:1.55rem;text-align:center;padding:.15rem .4rem;border-radius:999px;background:var(--surface-muted,#eef2f6)}.calendar-events{display:flex;flex-direction:column;gap:.32rem}.calendar-event{width:100%;display:grid;grid-template-columns:3.3rem minmax(0,1fr) auto;grid-gap:.35rem;gap:.35rem;align-items:start;text-align:left;border:0;border-left:4px solid currentColor;border-radius:.55rem;padding:.4rem .45rem;background:color-mix(in srgb,currentColor 9%,var(--surface,#fff));color:#33526f}.calendar-event-time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700}.calendar-event-main{min-width:0;display:flex;flex-direction:column}.calendar-event-main strong,.calendar-event-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event-main small{opacity:.78}.calendar-review-mark{display:inline-grid;place-items:center;width:1.35rem;height:1.35rem;border-radius:50%;background:#fff3cd;color:#7a5700;font-weight:800}.calendar-more{border:0;background:transparent;text-align:left;padding:.35rem;color:var(--primary,#276fbf)}.calendar-empty{padding:1rem .3rem;color:var(--muted,#64748b)}.calendar-event.kind-patient,.calendar-kind-badge.kind-patient{color:#1f6b48}.calendar-event.kind-possible_patient,.calendar-kind-badge.kind-possible_patient{color:#8a5a00}.calendar-event.kind-phone,.calendar-kind-badge.kind-phone{color:#275d9b}.calendar-event.kind-todo,.calendar-kind-badge.kind-todo{color:#7356a8}.calendar-event.kind-block,.calendar-kind-badge.kind-block{color:#6b7280}.calendar-event.kind-vacation,.calendar-kind-badge.kind-vacation{color:#087f8c}.calendar-event.kind-meeting,.calendar-kind-badge.kind-meeting{color:#8b4a27}.calendar-event.kind-deleted,.calendar-kind-badge.kind-deleted{color:#a33;text-decoration:line-through;opacity:.72}.calendar-event.kind-unknown,.calendar-kind-badge.kind-unknown{color:#9a6700}.calendar-dialog-backdrop{position:fixed;z-index:1000;inset:0;background:rgba(15,23,42,.45);display:grid;place-items:center;padding:1rem}.calendar-dialog{width:min(42rem,100%);max-height:90vh;overflow:auto;padding:1rem}.calendar-dialog-head{display:flex;justify-content:space-between;gap:1rem}.calendar-dialog-head h2{margin:.45rem 0}.calendar-dialog-head>button{font-size:1.7rem;border:0;background:transparent}.calendar-kind-badge{display:inline-block;padding:.25rem .55rem;border-radius:999px;background:color-mix(in srgb,currentColor 10%,white);font-size:.8rem;font-weight:700}.calendar-dialog dl{display:grid;grid-gap:.75rem;gap:.75rem}.calendar-dialog dl>div{display:grid;grid-template-columns:8rem 1fr;grid-gap:.7rem;gap:.7rem;padding-bottom:.65rem;border-bottom:1px solid var(--border-color,#e4e8ed)}.calendar-dialog dt{font-weight:700}.calendar-dialog dd{margin:0;white-space:pre-wrap}.calendar-dialog-actions{display:flex;gap:.55rem;flex-wrap:wrap;margin-top:1rem}
@media(max-width:900px){.calendar-title-row{align-items:stretch;flex-direction:column}.calendar-toolbar{align-items:stretch;flex-direction:column}.calendar-nav,.calendar-view-switch{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.calendar-view-switch{grid-template-columns:repeat(3,minmax(0,1fr))}.calendar-month,.calendar-week{grid-template-columns:1fr}.calendar-month .calendar-day,.calendar-week .calendar-day{min-height:auto}.calendar-day.outside-month{display:none}.calendar-day>header button{font-size:1rem}.calendar-event{padding:.58rem .52rem;grid-template-columns:3.5rem minmax(0,1fr) auto}.calendar-event-main strong,.calendar-event-main small{white-space:normal}.calendar-dialog{align-self:end;border-radius:1rem 1rem 0 0}.calendar-dialog-backdrop{padding:0;place-items:end stretch}.calendar-dialog dl>div{grid-template-columns:1fr;gap:.2rem}.calendar-dialog-actions>*{width:100%;text-align:center}.calendar-filter-chips{display:grid;grid-template-columns:1fr 1fr}.calendar-deleted-toggle{grid-column:1/-1}}
@media(max-width:520px){.calendar-filter-actions{display:grid;grid-template-columns:1fr 1fr}.calendar-filter-chips{grid-template-columns:1fr}.calendar-nav{grid-template-columns:repeat(3,1fr)}.calendar-nav button:last-child{grid-column:1/-1}.calendar-page{padding-inline:0}.calendar-title-row,.calendar-toolbar,.calendar-filters,.calendar-grid{margin-left:.65rem;margin-right:.65rem}}

/* Kalender: deckende Details, Statistik und kompakte Monatsansicht */
.calendar-dialog{background:#fff!important;color:#1f2933!important;box-shadow:0 24px 70px rgba(15,23,42,.32);isolation:isolate}
.calendar-statistics{margin:0 0 1rem;padding:.85rem;background:#fff}.calendar-statistics-head strong{display:block;font-size:1.05rem}.calendar-statistics-head small{display:block;color:#68756f;margin-top:.15rem}.calendar-statistics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.65rem;gap:.65rem;margin-top:.75rem}.calendar-statistics-grid article{display:grid;grid-gap:.15rem;gap:.15rem;padding:.7rem;border:1px solid #dce5e1;border-radius:.7rem;background:#f8faf9}.calendar-statistics-grid article>span{font-weight:700;color:#50605a}.calendar-statistics-grid article>strong{font-size:1.75rem}.calendar-statistics-grid article>small{color:#68756f}.calendar-month-summary{width:100%;min-height:4rem;display:grid;place-items:center;grid-gap:.2rem;gap:.2rem;border:0;border-radius:.55rem;background:#f4f7f5;color:#27362f}.calendar-month-summary>strong{font-size:1.35rem}.calendar-month-summary>span{display:flex;gap:.25rem}.calendar-month-summary i{min-width:1.35rem;padding:.1rem .25rem;border-radius:999px;font-size:.67rem;font-style:normal;font-weight:700}.calendar-month-summary .patient{background:#e5f4ec;color:#1f6b48}.calendar-month-summary .tss{background:#fff0df;color:#a64b00}.calendar-month-summary .other{background:#e8f0fb;color:#275d9b}
.patient-future-appointments{display:grid;grid-gap:.65rem;gap:.65rem;padding:.85rem;border:1px solid #dce5e1;border-radius:9px;background:#fff}.patient-future-appointments-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.7rem}.patient-future-appointments-head h2{margin:.1rem 0 0;font-size:1.15rem}.patient-future-appointments-head .eyebrow{margin:0}.patient-future-appointments-head>a{font-size:.85rem}.patient-future-appointment-list{display:grid;grid-gap:.45rem;gap:.45rem}.patient-future-appointment-list>a{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;grid-gap:.6rem;gap:.6rem;padding:.65rem;border:1px solid #dce5e1;border-radius:8px;background:#f8faf9;color:inherit;text-decoration:none}.patient-future-appointment-list>a.is-next{border-left:4px solid #2d6e5c;background:#eef6f2}.patient-future-appointment-list>a span{color:#50605a;font-size:.82rem}.patient-future-appointment-list>a strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.patient-future-appointment-list>a small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#68756f}.patient-no-future-appointment{margin:0;padding:.8rem;border-radius:8px;background:#f4f6f5;color:#596660;font-weight:700}.patient-future-appointments details summary{cursor:pointer;font-weight:700}.patient-future-appointment-list.compact{margin-top:.5rem}
@media(max-width:900px){.calendar-month{grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-month .calendar-day{display:block;min-height:5.4rem;padding:.25rem;border-radius:.45rem}.calendar-month .calendar-day.outside-month{display:block;opacity:.35}.calendar-month .calendar-day>header{margin:0}.calendar-month .calendar-day>header button{width:100%;display:block;text-align:center;padding:.1rem}.calendar-month .calendar-day>header button span{display:none}.calendar-month .calendar-day>header button strong{font-size:.85rem}.calendar-month .calendar-count{display:none}.calendar-month-summary{min-height:3rem;padding:.2rem}.calendar-month-summary>strong{font-size:1.05rem}.calendar-month-summary i{min-width:1rem;font-size:.58rem;padding:.05rem .15rem}.calendar-statistics-grid{grid-template-columns:1fr}.patient-future-appointment-list>a{grid-template-columns:auto 1fr}.patient-future-appointment-list>a small{grid-column:1/-1;white-space:normal}.calendar-dialog{background:#fff!important}}
@media(max-width:520px){.calendar-month{gap:.2rem}.calendar-month .calendar-day{min-height:4.8rem}.calendar-month-summary>span{gap:.1rem}.calendar-statistics{margin-left:.65rem;margin-right:.65rem}.patient-future-appointments-head{align-items:stretch;flex-direction:column}}
.patient-record-module{position:relative}.patient-appointment-menu-wrap{position:relative}.patient-appointment-menu{position:absolute;right:0;top:2.4rem;z-index:40;min-width:15rem;display:grid;padding:.35rem;border:1px solid #dce5e1;border-radius:10px;background:#fff;box-shadow:0 12px 30px rgba(18,43,35,.18)}.patient-appointment-menu a,.patient-appointment-menu button{display:block;width:100%;padding:.7rem .8rem;border:0;background:transparent;text-align:left;color:inherit;text-decoration:none;border-radius:7px}.patient-appointment-menu a:hover,.patient-appointment-menu button:hover{background:#eef6f2}.patient-appointment-settings{width:min(36rem,calc(100vw - 1.5rem));background:#fff}.patient-appointment-settings .form-grid{display:grid;grid-gap:.85rem;gap:.85rem}.patient-appointment-settings label{display:grid;grid-gap:.35rem;gap:.35rem}.patient-appointment-settings .checkbox-row{grid-template-columns:auto 1fr;align-items:start}.public-form-page{min-height:100vh;display:grid;place-items:center;padding:1rem;background:#f1f5f3}.public-form-card{width:min(36rem,100%);padding:1.25rem;border:1px solid #dce5e1;border-radius:14px;background:#fff;box-shadow:0 10px 30px rgba(18,43,35,.12)}.public-form-fields{display:grid;grid-gap:1rem;gap:1rem}.public-form-fields label{display:grid;grid-gap:.4rem;gap:.4rem}
.appointment-reminder-rules{display:grid;grid-gap:.55rem;gap:.55rem;padding:.75rem;border:1px solid #dce5e1;border-radius:9px;background:#f8faf9}.appointment-reminder-rule{display:grid;grid-template-columns:5.5rem minmax(0,1fr) auto;grid-gap:.45rem;gap:.45rem;align-items:center}.appointment-reminder-rule input,.appointment-reminder-rule select{min-width:0}

/* Kalender/Kommunikation UX: normale Aktenkarte, sichere Ebenen und zentrale Mailvorschau */
.patient-future-appointments.patient-record-module{position:relative;border:1px solid #dce5e1;border-left:4px solid #397964;border-radius:9px;background:#fff;padding:.85rem;box-shadow:none}
.patient-future-appointments-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.patient-future-appointments-head h2{margin:.12rem 0;font-size:1.05rem}
.patient-future-appointments-head .eyebrow{margin:0;color:#68756f;font-size:.75rem}
.patient-future-appointments .patient-future-appointment-list{margin-top:.65rem}
.patient-appointment-note{display:block;margin-top:.25rem;color:#52635c;white-space:pre-wrap}
.patient-appointment-menu{z-index:2200!important}
.modal-backdrop:has(.patient-appointment-settings){z-index:5000!important;background:rgba(15,23,42,.58)!important;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.patient-appointment-settings{position:relative;z-index:5001!important;max-height:min(90vh,52rem);overflow:auto;box-shadow:0 28px 90px rgba(15,23,42,.38)!important}
body.pzfp-modal-open .pzfp-context-fab,body.pzfp-modal-open .floating-action,body.pzfp-modal-open .patient-avatar-menu,body.pzfp-modal-open .mobile-bottom-nav{visibility:hidden!important;pointer-events:none!important}

.mail-template-admin-grid{display:grid;grid-template-columns:minmax(15rem,21rem) minmax(0,1fr);grid-gap:1rem;gap:1rem;align-items:start}
.mail-template-list{display:grid;grid-gap:.5rem;gap:.5rem;position:-webkit-sticky;position:sticky;top:1rem}
.mail-template-list button{display:grid;grid-gap:.2rem;gap:.2rem;text-align:left;padding:.8rem;border:1px solid #dce5e1;border-radius:9px;background:#fff;color:inherit}
.mail-template-list button.active{border-color:#397964;box-shadow:inset 4px 0 #397964;background:#f5faf7}
.mail-template-list small{color:#68756f}.mail-template-list span{font-size:.82rem;color:#5d6d66}
.mail-template-preview-card{min-width:0;border:1px solid #dce5e1;border-radius:12px;background:#fff;padding:1rem}
.mail-template-preview-card>header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}
.mail-template-preview-switch{display:flex;gap:.35rem;flex-wrap:wrap}.mail-template-preview-switch button.active{background:#28644f;color:#fff}
.mail-template-frame-wrap{margin:1rem auto;background:#e7eeeb;border-radius:12px;padding:1rem;overflow:auto}
.mail-template-frame-wrap iframe{display:block;width:100%;height:680px;border:0;background:#fff;border-radius:8px}
.mail-template-frame-wrap.mobile{max-width:390px}.mail-template-frame-wrap.mobile iframe{height:720px}
.mail-template-text-preview{white-space:pre-wrap;overflow:auto;background:#f4f7f6;border:1px solid #dce5e1;border-radius:9px;padding:1rem;min-height:26rem}
@media(max-width:800px){.mail-template-admin-grid{grid-template-columns:1fr}.mail-template-list{position:static;grid-template-columns:1fr 1fr}.mail-template-preview-card>header{display:grid}.mail-template-frame-wrap{padding:.4rem}.mail-template-frame-wrap iframe{height:620px}}
@media(max-width:520px){.mail-template-list{grid-template-columns:1fr}.patient-future-appointments-head{align-items:center}.patient-appointment-menu{position:fixed;left:.75rem;right:.75rem;top:auto;bottom:calc(1rem + env(safe-area-inset-bottom));min-width:0}}
@media print{body.print-patient-appointments *{visibility:hidden!important}body.print-patient-appointments .patient-future-appointments,body.print-patient-appointments .patient-future-appointments *{visibility:visible!important}body.print-patient-appointments .patient-future-appointments{position:absolute;left:0;top:0;width:100%;border:0!important}body.print-patient-appointments .patient-appointment-menu-wrap{display:none!important}}

/* Compact appointment module inside the regular patient record flow */
.patient-appointments-record-card{position:relative;align-items:start;cursor:default!important}
.patient-appointments-record-card .patient-appointments-record-content{min-width:0;display:grid;grid-gap:.18rem;gap:.18rem}
.patient-appointments-record-card .patient-appointments-record-content>small{color:#68756f}
.patient-appointments-record-card .patient-appointments-record-content>strong{font-size:1rem}
.patient-appointments-summary{color:#68756f;font-size:.86rem}
.patient-appointments-record-card .patient-record-more{position:relative;align-self:start;justify-self:end}
.patient-appointments-record-card .patient-protocol-more{width:1.9rem;height:1.9rem;border:0;background:transparent;font-size:1.25rem;line-height:1;border-radius:999px}
.patient-appointments-record-card .patient-protocol-more:hover,.patient-appointments-record-card .patient-protocol-more:focus-visible{background:#eef3f1}
.patient-appointments-record-card .patient-appointment-menu{top:2.1rem;right:0;z-index:80}
.patient-future-appointment-list.compact-card{margin-top:.35rem;gap:.3rem}
.patient-future-appointment-list.compact-card>a{padding:.45rem .55rem;grid-template-columns:auto auto minmax(0,1fr);border-radius:7px}
.patient-future-appointment-list.compact-card>a.is-next{border-left-width:3px}
.patient-appointments-more-link{display:inline-flex;width:max-content;margin-top:.25rem;font-size:.84rem;font-weight:700}
.patient-no-future-appointment.compact{padding:.45rem .55rem;font-size:.88rem}
@media(max-width:700px){
  .patient-appointments-record-card{grid-template-columns:2.45rem minmax(0,1fr) 1.9rem!important}
  .patient-future-appointment-list.compact-card>a{grid-template-columns:auto 1fr}
  .patient-future-appointment-list.compact-card>a small{grid-column:1/-1;white-space:normal}
}
@media print{body.print-patient-appointments .patient-appointments-record-card,body.print-patient-appointments .patient-appointments-record-card *{visibility:visible!important}body.print-patient-appointments .patient-appointments-record-card{position:absolute;left:0;top:0;width:100%;border:0!important}body.print-patient-appointments .patient-appointment-menu-wrap{display:none!important}}

/* Patientenakte: alle Kartenmenüs verwenden dieselbe kompakte Popover-Darstellung. */
.patient-appointment-menu.patient-protocol-menu{top:calc(100% + .25rem);right:0;min-width:12.5rem}
.patient-appointment-menu.patient-protocol-menu a{display:block;width:100%;padding:.68rem .75rem;border-radius:6px;color:inherit;text-decoration:none}
.patient-appointment-menu.patient-protocol-menu a:hover,.patient-appointment-menu.patient-protocol-menu a:focus-visible{background:#eef5f2}

/* Diagnosen in der aufgeklappten Patientenkarte bewusst immer einspaltig. */
.patient-diagnosis-inline-list{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%}
.patient-diagnosis-inline-row{display:grid!important;grid-template-columns:minmax(5rem,auto) minmax(0,1fr)!important;width:100%;grid-gap:.9rem;gap:.9rem;padding:.8rem 0;border-bottom:1px solid #dfe7e3}
.patient-diagnosis-inline-row:last-child{border-bottom:0}
.patient-diagnosis-inline-row>span{display:grid;grid-gap:.12rem;gap:.12rem}
.patient-diagnosis-inline-row small{display:block}
.ebm-entry-editor{border:1px solid #dce5e1;border-radius:10px;padding:.7rem .85rem;background:#fff}
.ebm-entry-editor summary{display:flex;justify-content:space-between;gap:1rem;cursor:pointer}


/* Quartalsabschluss: PZFP-Abschlussbereich */
.quarter-kpi-spacious { gap: 1rem; margin: 1.4rem 0 1.75rem; }
.quarter-kpi-spacious > div { padding: 1rem 1.05rem; min-height: 5rem; box-shadow: 0 8px 24px rgba(15,23,42,.035); }
.quarter-kpi-spacious > div.accent-success { background: rgba(34,197,94,.08); border-color: rgba(34,197,94,.2); }
.quarter-kpi-spacious > div.accent-warm { background: rgba(245,158,11,.08); border-color: rgba(245,158,11,.22); }
.quarter-kpi-spacious > div.accent-danger { background: rgba(220,38,38,.07); border-color: rgba(220,38,38,.2); }
.quarter-subsection { margin-top: 1.65rem; padding-top: 1.5rem; border-top: 1px solid rgba(15,23,42,.09); }
.quarter-subsection h3 { margin: .15rem 0 .35rem; }
.quarter-status-pill { border-radius: 999px; padding: .45rem .8rem; background: rgba(245,183,0,.14); font-weight: 700; }
.partner-approval-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-gap:1rem; gap:1rem; margin:1rem 0 1.25rem; }
.partner-approval-card { border:1px solid rgba(15,23,42,.09); border-radius:1rem; padding:1rem 1.05rem; background:rgba(255,255,255,.78); }
.partner-approval-card.approved { background:rgba(34,197,94,.07); border-color:rgba(34,197,94,.2); }
.partner-approval-card.rejected { background:rgba(220,38,38,.06); border-color:rgba(220,38,38,.18); }
.partner-approval-head { display:flex; justify-content:space-between; gap:1rem; align-items:center; }
.partner-approval-head > strong { display:grid; place-items:center; width:2.15rem; height:2.15rem; border-radius:50%; background:#f5b700; color:#111827; }
.partner-approval-head > span { font-size:.85rem; color:rgba(15,23,42,.66); font-weight:700; }
.partner-approval-card h4 { margin:.75rem 0 .15rem; font-size:1.05rem; }
.partner-email { margin:.1rem 0 .8rem; color:rgba(15,23,42,.62); overflow-wrap:anywhere; }
.partner-payment { display:block; font-size:1.35rem; margin-bottom:.65rem; }
.quarter-action-row { display:flex; flex-wrap:wrap; gap:.75rem; align-items:center; margin-top:1rem; }
@media (max-width:760px){ .partner-approval-grid{grid-template-columns:1fr}.quarter-kpi-spacious{gap:.75rem}.quarter-subsection{margin-top:1.25rem;padding-top:1.2rem} }

/* Quartalsabschluss: hochwertiger Testversand und sichere Testfreigabe */
.tax-mail-panel{margin-top:1.5rem;padding:1.4rem;border:1px solid rgba(245,183,0,.38);border-radius:1.15rem;background:linear-gradient(180deg,rgba(255,250,235,.92),rgba(255,255,255,.94));box-shadow:0 12px 30px rgba(15,23,42,.06)}
.tax-mail-panel-head{display:flex;justify-content:space-between;gap:1rem;margin-bottom:1rem}.tax-mail-panel-head strong{font-size:1.05rem}.tax-mail-panel-head p{margin:.35rem 0 0}
.tax-mail-grid{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(260px,1fr) minmax(280px,1.4fr);grid-gap:1rem;gap:1rem;align-items:end}.tax-mail-grid label{display:grid;grid-gap:.4rem;gap:.4rem;font-weight:700;font-size:.9rem}.tax-mail-grid input,.tax-mail-grid select,.tax-mail-grid textarea{width:100%;border:1px solid rgba(15,23,42,.18);border-radius:.75rem;padding:.72rem .8rem;background:#fff;font:inherit}.tax-mail-grid textarea{min-height:5.25rem;resize:vertical}
.tax-mail-options{display:flex;gap:1.1rem;flex-wrap:wrap;margin:1rem 0}.tax-mail-options label{display:flex;align-items:center;gap:.45rem;padding:.45rem .7rem;border-radius:999px;background:rgba(15,23,42,.045);font-weight:650}
.tax-mail-note{margin:.2rem 0 1rem;padding:.8rem 1rem;border-radius:.8rem;background:rgba(245,183,0,.11);color:#6b4f00;font-size:.9rem}
.tax-mail-send-button{min-height:2.85rem;padding:0 1.2rem;border-radius:.8rem;font-weight:800}.tax-mail-status{display:grid;grid-gap:.2rem;gap:.2rem;margin-top:.9rem}.tax-mail-status.success{color:#166534}.tax-mail-status.error{color:#b91c1c}.tax-mail-status span{font-size:.9rem;color:rgba(15,23,42,.68)}
.test-approval-card{position:relative;max-width:980px;margin:2rem auto;padding:2rem}.test-badge{display:inline-flex;padding:.45rem .7rem;border-radius:999px;background:#fff3cd;color:#7a5200;font-weight:800;margin-bottom:1rem}.approval-final{background:rgba(34,197,94,.1)!important;border-color:rgba(34,197,94,.24)!important}.approval-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1rem}.approval-actions a{text-decoration:none}.test-result{display:grid;grid-gap:.35rem;gap:.35rem;margin-top:1.25rem;padding:1rem 1.1rem;border-radius:.9rem;background:rgba(34,197,94,.09);color:#166534}
@media(max-width:900px){.tax-mail-grid{grid-template-columns:1fr}.tax-mail-panel{padding:1rem}.tax-mail-options{gap:.55rem}.tax-mail-options label{width:100%;border-radius:.7rem}.test-approval-card{margin:1rem;padding:1.25rem}}

/* Öffnungszeiten kompakter: weniger verschachtelte Karten und Zeitfenster kopieren */
.opening-department-card {
  border-radius: 16px;
}

.opening-admin-department-body {
  padding-top: 4px;
}

.opening-admin-day-list {
  gap: 18px;
}

.opening-day-card {
  border: 0;
  border-top: 1px solid #e7e1d6;
  border-radius: 0;
  padding: 18px 0 0;
  background: transparent;
}

.opening-day-card:first-child {
  border-top: 0;
  padding-top: 0;
}

.opening-time-card {
  border: 1px solid #ded8cd;
  border-radius: 14px;
  padding: 16px;
  background: #ffffff;
  box-shadow: 0 4px 14px rgba(48, 42, 31, 0.045);
}

.opening-time-actions,
.opening-copy-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.opening-copy-panel {
  display: grid;
  grid-gap: 12px;
  gap: 12px;
  padding: 14px;
  border-radius: 12px;
  background: #f5f8f6;
  border: 1px solid #d6e3dc;
}

.opening-copy-days {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 8px 12px;
  gap: 8px 12px;
}

.opening-time-card .opening-copy-day {
  display: flex;
  grid-template-columns: none;
  gap: 8px;
  align-items: center;
  min-width: 0;
  padding: 8px 10px;
  border: 1px solid #dde4df;
  border-radius: 10px;
  background: #fff;
}

.opening-time-card .opening-copy-day input {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
}

.opening-time-card .opening-copy-day span {
  font-weight: 700;
  color: #3f4c45;
}

.opening-copy-actions {
  justify-content: flex-end;
}

@media (min-width: 860px) {
  .opening-day-card:first-child:nth-last-child(n + 2),
  .opening-day-card:first-child:nth-last-child(n + 2) ~ .opening-day-card {
    border-top: 0;
    padding-top: 0;
  }
}

@media (max-width: 560px) {
  .opening-department-card .admin-collapsible-body {
    padding-left: 14px;
    padding-right: 14px;
  }

  .opening-day-card {
    padding-top: 16px;
  }

  .opening-time-card {
    padding: 14px;
  }

  .opening-copy-days {
    grid-template-columns: 1fr;
  }

  .opening-time-actions > button,
  .opening-copy-actions > button {
    flex: 1 1 auto;
  }
}

/* Breiter Vorlageneditor mit fester Platzhalterleiste */
.mail-template-page{max-width:none!important}.mail-template-page>.content{width:min(1760px,calc(100% - 2rem));max-width:none!important}.mail-template-content{padding-left:0!important;padding-right:0!important}
.mail-template-workspace{display:grid;grid-template-columns:minmax(14rem,19rem) minmax(42rem,1fr) minmax(15rem,19rem);grid-gap:1rem;gap:1rem;align-items:start}
.mail-template-editor-card{min-width:0;border:1px solid #dce5e1;border-radius:12px;background:#fff;padding:1.1rem}.mail-template-editor-card>header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}.mail-template-editor-card h2{margin:.15rem 0}.mail-template-editor-fields{display:grid;grid-gap:.85rem;gap:.85rem}.mail-template-editor-fields label{display:grid;grid-gap:.35rem;gap:.35rem;font-weight:700}.mail-template-editor-fields input,.mail-template-editor-fields textarea{width:100%;min-width:0}.mail-template-editor-two{display:grid;grid-template-columns:1fr 1fr;grid-gap:.85rem;gap:.85rem}.mail-template-code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.88rem;line-height:1.5}.mail-template-save-row{display:flex;align-items:center;gap:1rem;margin:1rem 0 1.4rem}.mail-template-placeholders{position:-webkit-sticky;position:sticky;top:1rem;max-height:calc(100vh - 2rem);overflow:auto;border:1px solid #dce5e1;border-radius:12px;background:#fff;padding:.85rem}.mail-template-placeholders-head{display:grid;grid-gap:.2rem;gap:.2rem;padding-bottom:.7rem;border-bottom:1px solid #e2e8e5}.mail-template-placeholders-head span{font-size:.8rem;color:#68756f}.mail-template-placeholders section{display:grid;grid-gap:.35rem;gap:.35rem;margin-top:.85rem}.mail-template-placeholders h3{margin:0;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#68756f}.mail-template-placeholders button{width:100%;padding:.48rem .55rem;border:1px solid #dce5e1;border-radius:7px;background:#f8faf9;text-align:left;font:500 .78rem ui-monospace,SFMono-Regular,Consolas,monospace;color:#255c49;overflow-wrap:anywhere}.mail-template-placeholders button:hover{border-color:#397964;background:#eef6f2}.mail-template-editor-card .mail-template-preview-card{margin-top:.5rem;padding:0;border:0}.mail-template-editor-card .mail-template-preview-card>header{padding-top:1rem;border-top:1px solid #e2e8e5}.mail-template-editor-card .mail-template-frame-wrap iframe{height:760px}
@media(max-width:1250px){.mail-template-workspace{grid-template-columns:minmax(14rem,18rem) minmax(0,1fr)}.mail-template-placeholders{grid-column:1/-1;position:static;max-height:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.75rem;gap:.75rem}.mail-template-placeholders-head{grid-column:1/-1}.mail-template-placeholders section{margin-top:0}}
@media(max-width:850px){.mail-template-page>.content{width:calc(100% - 1rem)}.mail-template-workspace{grid-template-columns:1fr}.mail-template-list{position:static;grid-template-columns:1fr 1fr}.mail-template-editor-two{grid-template-columns:1fr}.mail-template-placeholders{grid-template-columns:1fr 1fr}.mail-template-editor-card>header{display:grid}}
@media(max-width:560px){.mail-template-list,.mail-template-placeholders{grid-template-columns:1fr}.mail-template-editor-card{padding:.75rem}}

/* E-Mail-Vorlagen 2.0 */
.mail-template-list-tools{display:grid;grid-gap:.55rem;gap:.55rem;margin-bottom:.65rem}.mail-template-list-tools input,.mail-template-placeholders-head input{width:100%}.mail-template-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.mail-template-meta-grid{display:grid;grid-template-columns:1fr 15rem;grid-gap:.8rem;gap:.8rem;margin-bottom:.8rem}.mail-template-meta-grid label{display:grid;grid-gap:.3rem;gap:.3rem;font-weight:700}.mail-template-meta-grid .wide{grid-column:1/-1}.mail-template-options{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;padding:.75rem 0 1rem;border-bottom:1px solid #e2e8e5;margin-bottom:1rem}.mail-template-options label{display:flex;gap:.4rem;align-items:center;font-weight:700}.mail-template-options input{width:auto}.mail-template-modal-backdrop{position:fixed;inset:0;z-index:1000;background:rgba(24,36,31,.48);display:grid;place-items:center;padding:1rem}.mail-template-modal{width:min(36rem,100%);background:#fff;border-radius:14px;padding:1.25rem;box-shadow:0 18px 60px rgba(0,0,0,.25);display:grid;grid-gap:.85rem;gap:.85rem}.mail-template-modal h2{margin:0}.mail-template-modal label{display:grid;grid-gap:.35rem;gap:.35rem;font-weight:700}.mail-template-modal-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:.4rem}.mail-template-frame-wrap.desktop iframe{width:100%}.mail-template-frame-wrap.mobile iframe{width:430px;max-width:100%;margin:auto;display:block}.mail-template-editor-card .mail-template-code{min-height:28rem}
@media(max-width:850px){.mail-template-meta-grid{grid-template-columns:1fr}.mail-template-meta-grid .wide{grid-column:auto}.mail-template-actions{justify-content:flex-start}}

/* PZFP Design System v1: zentrale Tokens und Basiskomponenten */
:root {
  --pzfp-color-primary: var(--pzfp-yellow, #f2c335);
  --pzfp-color-primary-hover: #e4b51d;
  --pzfp-color-on-primary: #24210f;
  --pzfp-color-text: #202020;
  --pzfp-color-text-muted: #686868;
  --pzfp-color-background: var(--pzfp-background, #f7f6f1);
  --pzfp-color-surface: var(--pzfp-surface, #ffffff);
  --pzfp-color-border: #dedbd0;
  --pzfp-color-success: #217a45;
  --pzfp-color-success-soft: #e9f7ef;
  --pzfp-color-warning: #9a5b00;
  --pzfp-color-warning-soft: #fff2d4;
  --pzfp-color-danger: #b42318;
  --pzfp-color-danger-soft: #fff0ee;
  --pzfp-color-info: #245b9e;
  --pzfp-color-info-soft: #edf5ff;
  --pzfp-space-1: .25rem;
  --pzfp-space-2: .5rem;
  --pzfp-space-3: .75rem;
  --pzfp-space-4: 1rem;
  --pzfp-space-5: 1.25rem;
  --pzfp-space-6: 1.5rem;
  --pzfp-space-8: 2rem;
  --pzfp-radius-sm: .5rem;
  --pzfp-radius-md: .875rem;
  --pzfp-radius-lg: 1.25rem;
  --pzfp-control-height-sm: 2.25rem;
  --pzfp-control-height: 2.875rem;
  --pzfp-control-height-lg: 3.25rem;
  --pzfp-shadow-card: 0 10px 30px rgba(32, 32, 32, .06);
  --pzfp-transition-fast: 140ms ease;
}

.pzfp-button {
  min-height: var(--pzfp-control-height);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--pzfp-space-2);
  padding: 0 var(--pzfp-space-4);
  border: 1px solid transparent;
  border-radius: var(--pzfp-radius-sm);
  font-weight: 750;
  line-height: 1.1;
  text-decoration: none;
  cursor: pointer;
  transition: transform var(--pzfp-transition-fast), background var(--pzfp-transition-fast), border-color var(--pzfp-transition-fast), opacity var(--pzfp-transition-fast);
}
.pzfp-button:hover:not(:disabled) { transform: translateY(-1px); }
.pzfp-button:active:not(:disabled) { transform: translateY(0) scale(.985); }
.pzfp-button:disabled { cursor: not-allowed; opacity: .62; }
.pzfp-button--primary { background: var(--pzfp-color-primary); color: var(--pzfp-color-on-primary); border-color: var(--pzfp-color-primary); }
.pzfp-button--primary:hover:not(:disabled) { background: var(--pzfp-color-primary-hover); border-color: var(--pzfp-color-primary-hover); }
.pzfp-button--secondary { background: var(--pzfp-color-surface); color: var(--pzfp-color-text); border-color: var(--pzfp-color-border); }
.pzfp-button--secondary:hover:not(:disabled), .pzfp-button--ghost:hover:not(:disabled) { background: #f2f0e8; }
.pzfp-button--danger { background: var(--pzfp-color-danger); color: white; border-color: var(--pzfp-color-danger); }
.pzfp-button--ghost { background: transparent; color: var(--pzfp-color-text); }
.pzfp-button--sm { min-height: var(--pzfp-control-height-sm); padding-inline: var(--pzfp-space-3); font-size: .9rem; }
.pzfp-button--lg { min-height: var(--pzfp-control-height-lg); padding-inline: var(--pzfp-space-5); font-size: 1.05rem; }
.pzfp-spinner { width: 1rem; height: 1rem; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: pzfp-spin .65s linear infinite; }
@keyframes pzfp-spin { to { transform: rotate(360deg); } }

.pzfp-card { background: var(--pzfp-color-surface); border: 1px solid var(--pzfp-color-border); border-radius: var(--pzfp-radius-md); padding: var(--pzfp-space-5); box-shadow: var(--pzfp-shadow-card); }
.pzfp-card h2, .pzfp-card h3, .pzfp-card p { margin-top: 0; }
.pzfp-card p:last-child { margin-bottom: 0; }
.pzfp-card__header, .pzfp-section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--pzfp-space-4); }
.pzfp-card__header h2, .pzfp-section-heading h2 { margin: 0; }
.pzfp-eyebrow { margin: 0 0 var(--pzfp-space-1); color: var(--pzfp-color-text-muted); font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.pzfp-muted { color: var(--pzfp-color-text-muted); }

.pzfp-badge { display: inline-flex; align-items: center; min-height: 1.75rem; padding: .2rem .6rem; border-radius: 999px; background: #efeee9; color: #505050; font-size: .8rem; font-weight: 750; white-space: nowrap; }
.pzfp-badge--success { background: var(--pzfp-color-success-soft); color: var(--pzfp-color-success); }
.pzfp-badge--warning { background: var(--pzfp-color-warning-soft); color: var(--pzfp-color-warning); }
.pzfp-badge--danger { background: var(--pzfp-color-danger-soft); color: var(--pzfp-color-danger); }
.pzfp-badge--info { background: var(--pzfp-color-info-soft); color: var(--pzfp-color-info); }
.pzfp-badge-row, .pzfp-button-row { display: flex; flex-wrap: wrap; gap: var(--pzfp-space-2); }

.pzfp-page-header { width: min(100%, 1120px); margin: 0 auto var(--pzfp-space-6); display: flex; align-items: flex-end; justify-content: space-between; gap: var(--pzfp-space-6); }
.pzfp-page-header h1 { margin: 0; font-size: clamp(1.8rem, 4vw, 2.75rem); letter-spacing: -.045em; }
.pzfp-page-header p:not(.pzfp-eyebrow) { max-width: 720px; margin: var(--pzfp-space-2) 0 0; color: var(--pzfp-color-text-muted); }
.pzfp-page-header__actions { flex: 0 0 auto; }

.pzfp-design-system { width: min(1180px, 100%); }
.pzfp-anchor-nav { position: -webkit-sticky; position: sticky; top: var(--pzfp-space-2); z-index: 5; display: flex; gap: var(--pzfp-space-2); overflow-x: auto; margin-bottom: var(--pzfp-space-8); padding: var(--pzfp-space-2); background: rgba(247,246,241,.94); border: 1px solid var(--pzfp-color-border); border-radius: var(--pzfp-radius-md); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.pzfp-anchor-nav a { flex: 0 0 auto; padding: .65rem .85rem; border-radius: var(--pzfp-radius-sm); text-decoration: none; font-weight: 700; }
.pzfp-anchor-nav a:hover { background: var(--pzfp-yellow-soft); }
.pzfp-design-section { scroll-margin-top: 5rem; margin: 0 0 2.75rem; }
.pzfp-section-heading { margin-bottom: var(--pzfp-space-4); }
.pzfp-foundation-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-gap: var(--pzfp-space-4); gap: var(--pzfp-space-4); }
.pzfp-design-preview-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); grid-gap: var(--pzfp-space-4); gap: var(--pzfp-space-4); }
.pzfp-inline-feedback { margin-top: var(--pzfp-space-4); min-height: 2.5rem; padding: .75rem 1rem; border-left: 4px solid var(--pzfp-color-primary); background: #fbfaf5; border-radius: var(--pzfp-radius-sm); }
.pzfp-token-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-gap: var(--pzfp-space-4); gap: var(--pzfp-space-4); }
.pzfp-token-grid > div { display: grid; grid-gap: .35rem; gap: .35rem; min-width: 0; }
.pzfp-token-grid code { overflow-wrap: anywhere; color: var(--pzfp-color-text-muted); font-size: .78rem; }
.pzfp-color-swatch, .pzfp-radius-demo { width: 100%; height: 4rem; border: 1px solid var(--pzfp-color-border); border-radius: var(--pzfp-radius-sm); }
.pzfp-color-swatch--primary { background: var(--pzfp-color-primary); }
.pzfp-color-swatch--surface { background: var(--pzfp-color-surface); }
.pzfp-color-swatch--text { background: var(--pzfp-color-text); }
.pzfp-radius-demo { background: linear-gradient(135deg, var(--pzfp-color-primary) 0 50%, #efeee9 50%); border-radius: var(--pzfp-radius-md); }
.pzfp-check-list { margin: 0; padding-left: 1.4rem; }
.pzfp-check-list li { padding: .42rem 0 .42rem .35rem; }

@media (max-width: 780px) {
  .pzfp-page-header { align-items: stretch; flex-direction: column; }
  .pzfp-page-header__actions .pzfp-button { width: 100%; }
  .pzfp-foundation-grid, .pzfp-design-preview-grid { grid-template-columns: 1fr; }
  .pzfp-token-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pzfp-card { padding: var(--pzfp-space-4); }
  .pzfp-button-row .pzfp-button { flex: 1 1 100%; }
}

/* PZFP Design System – zentraler Token-Editor */
.pzfp-token-editor { display: grid; grid-gap: var(--pzfp-space-4, 16px); gap: var(--pzfp-space-4, 16px); }
.pzfp-token-editor__toolbar { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.pzfp-token-editor__toolbar p { margin:.45rem 0 0; }
.pzfp-token-editor__layout { display:grid; grid-template-columns:minmax(0, 1.05fr) minmax(360px, .95fr); grid-gap:20px; gap:20px; align-items:start; }
.pzfp-token-editor__controls { display:grid; grid-gap:16px; gap:16px; }
.pzfp-editor-field-grid { display:grid; grid-gap:14px; gap:14px; margin-top:16px; }
.pzfp-color-field, .pzfp-range-field, .pzfp-select-field { display:grid; grid-gap:7px; gap:7px; font-weight:700; color:var(--pzfp-color-text); }
.pzfp-color-field > div { display:grid; grid-template-columns:52px minmax(0, 1fr); grid-gap:8px; gap:8px; }
.pzfp-color-field input[type="color"] { width:52px; height:42px; padding:3px; border:1px solid var(--pzfp-color-border); border-radius:var(--pzfp-radius-sm); background:var(--pzfp-color-surface); }
.pzfp-color-field input[type="text"], .pzfp-select-field select { min-height:42px; border:1px solid var(--pzfp-color-border); border-radius:var(--pzfp-radius-sm); padding:0 12px; background:var(--pzfp-color-surface); color:var(--pzfp-color-text); font:inherit; }
.pzfp-range-field > span { display:flex; justify-content:space-between; gap:12px; }
.pzfp-range-field strong { font-feature-settings:"tnum"; font-variant-numeric:tabular-nums; color:var(--pzfp-color-muted); }
.pzfp-range-field input { width:100%; accent-color:var(--pzfp-color-primary); }
.pzfp-token-preview { position:-webkit-sticky; position:sticky; top:84px; overflow:hidden; border:1px solid var(--pzfp-color-border); border-radius:var(--pzfp-radius-lg); background:var(--pzfp-color-background); color:var(--pzfp-color-text); font-size:var(--pzfp-font-size-base); box-shadow:0 16px 38px rgba(24,24,20,.12); }
.pzfp-token-preview__bar { display:flex; justify-content:space-between; gap:12px; padding:12px 16px; background:var(--pzfp-color-text); color:var(--pzfp-color-surface); font-size:.78rem; font-weight:800; }
.pzfp-token-preview__body { display:grid; grid-gap:16px; gap:16px; padding:calc(18px * var(--pzfp-density-factor)); }
.pzfp-preview-search { min-height:var(--pzfp-control-height); display:flex; align-items:center; justify-content:space-between; gap:12px; padding:0 15px; border:2px solid var(--pzfp-color-primary); border-radius:var(--pzfp-radius-md); background:var(--pzfp-color-surface); color:var(--pzfp-color-muted); }
.pzfp-preview-search span { font-size:1.2em; color:var(--pzfp-color-text); }
.pzfp-preview-grid { display:grid; grid-template-columns:1fr 1fr; grid-gap:calc(14px * var(--pzfp-density-factor)); gap:calc(14px * var(--pzfp-density-factor)); }
.pzfp-preview-card { min-width:0; padding:calc(18px * var(--pzfp-density-factor)); border:1px solid var(--pzfp-color-border); border-radius:var(--pzfp-radius-md); background:var(--pzfp-color-surface); }
.pzfp-preview-card small { color:var(--pzfp-color-muted); font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.pzfp-preview-card h3 { margin:.5rem 0; font-size:1.1rem; }
.pzfp-preview-card p { color:var(--pzfp-color-muted); line-height:1.5; }
.pzfp-preview-card button { min-height:var(--pzfp-control-height); border:0; border-radius:var(--pzfp-radius-sm); padding:0 16px; background:var(--pzfp-color-primary); color:var(--pzfp-color-text); font-weight:850; cursor:pointer; }
.pzfp-preview-card button:hover { background:var(--pzfp-color-primary-hover); }
.pzfp-preview-badge { display:inline-flex; padding:5px 9px; border-radius:999px; background:color-mix(in srgb, var(--pzfp-color-success) 14%, var(--pzfp-color-surface)); color:var(--pzfp-color-success); font-weight:850; }
@media (max-width: 980px) { .pzfp-token-editor__layout { grid-template-columns:1fr; } .pzfp-token-preview { position:static; } }
@media (max-width: 620px) { .pzfp-token-editor__toolbar .pzfp-button-row { display:grid; grid-template-columns:1fr 1fr; width:100%; } .pzfp-preview-grid { grid-template-columns:1fr; } .pzfp-token-preview__bar { font-size:.72rem; } }

/* PZFP UI framework – layout and reference components */
.pzfp-stack { display: grid; grid-gap: var(--pzfp-space-6, 24px); gap: var(--pzfp-space-6, 24px); }
.pzfp-grid { display: grid; grid-gap: var(--pzfp-space-4, 16px); gap: var(--pzfp-space-4, 16px); grid-template-columns: minmax(0, 1fr); }
.pzfp-grid > * { min-width: 0; }
@media (min-width: 720px) {
  .pzfp-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pzfp-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pzfp-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1120px) {
  .pzfp-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pzfp-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.pzfp-section-heading__action { flex: 0 0 auto; }
.pzfp-search-field { display: flex; align-items: center; gap: 10px; min-height: calc(var(--pzfp-control-height, 46px) + 8px); width: 100%; padding: 4px 6px 4px 16px; border: 1px solid var(--pzfp-color-border, #d9d9d5); border-radius: var(--pzfp-radius-lg, 16px); background: var(--pzfp-color-surface, #fff); transition: border-color .15s ease, box-shadow .15s ease; }
.pzfp-search-field:focus-within { border-color: var(--pzfp-color-primary, #f4c400); box-shadow: 0 0 0 3px color-mix(in srgb, var(--pzfp-color-primary, #f4c400) 25%, transparent); }
.pzfp-search-field__icon { font-size: 1.35rem; line-height: 1; color: var(--pzfp-color-muted, #666); }
.pzfp-search-field input { flex: 1 1; min-width: 0; border: 0; outline: 0; background: transparent; color: var(--pzfp-color-text, #222); font: inherit; }
.pzfp-search-field__filter { display: flex; }
.pzfp-icon-button { display: inline-grid; place-items: center; min-width: 44px; min-height: 44px; border: 0; border-radius: var(--pzfp-radius-md, 12px); background: transparent; color: inherit; cursor: pointer; }
.pzfp-icon-button:hover { background: color-mix(in srgb, var(--pzfp-color-primary, #f4c400) 18%, transparent); }
.pzfp-icon-button:active { transform: scale(.96); }
.pzfp-mini-dashboard { position: relative; overflow: hidden; display: flex; flex-direction: column; min-height: 180px; }
.pzfp-mini-dashboard::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: var(--pzfp-color-border, #ddd); }
.pzfp-mini-dashboard--success::before { background: var(--pzfp-color-success, #238636); }
.pzfp-mini-dashboard--warning::before { background: var(--pzfp-color-warning, #d97706); }
.pzfp-mini-dashboard--danger::before { background: var(--pzfp-color-danger, #cf222e); }
.pzfp-mini-dashboard--info::before { background: var(--pzfp-color-info, #0969da); }
.pzfp-mini-dashboard__title { margin: 0; font-weight: 700; }
.pzfp-mini-dashboard__value { display: block; margin-top: 14px; font-size: clamp(2rem, 7vw, 3.25rem); line-height: 1; }
.pzfp-mini-dashboard__description { margin: 10px 0 0; color: var(--pzfp-color-muted, #666); }
.pzfp-mini-dashboard__action { margin-top: auto; padding-top: 18px; }
.pzfp-empty-state { display: grid; justify-items: center; grid-gap: 8px; gap: 8px; padding: 24px 16px; text-align: center; }
.pzfp-empty-state__icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 999px; background: color-mix(in srgb, var(--pzfp-color-primary, #f4c400) 18%, white); font-size: 1.3rem; }
.pzfp-empty-state h3, .pzfp-empty-state p { margin: 0; }
.pzfp-empty-state p { color: var(--pzfp-color-muted, #666); }
.pzfp-loading-state { display: flex; align-items: center; gap: 10px; min-height: 52px; color: var(--pzfp-color-muted, #666); }
.pzfp-divider { margin: 18px 0; border: 0; border-top: 1px solid var(--pzfp-color-border, #ddd); }
@media (max-width: 719px) {
  .pzfp-section-heading { align-items: flex-start; }
  .pzfp-section-heading__action { width: 100%; }
  .pzfp-section-heading__action .pzfp-button { width: 100%; }
}

/* PZFP Arbeitsstartseite */
.pzfp-workspace{min-height:100vh;background:var(--pzfp-color-background,#f6f6f3);color:var(--pzfp-color-text,#222)}
.pzfp-workspace__topbar{position:-webkit-sticky;position:sticky;top:0;z-index:40;height:64px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:12px;gap:12px;padding:0 18px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--pzfp-color-border,#e2e2dc);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.pzfp-workspace__brand{font-size:1.15rem;font-weight:900;letter-spacing:.08em;color:inherit;text-decoration:none}.pzfp-workspace__menu-button,.pzfp-workspace__profile-button{border:0;background:transparent;min-height:44px}.pzfp-workspace__menu-button{font-size:1.45rem;padding:0 10px}.pzfp-workspace__profile-button{display:flex;align-items:center;gap:9px;padding:4px 8px;border-radius:999px}.pzfp-workspace__profile-button span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--pzfp-color-primary,#f4c400);font-weight:900}.pzfp-workspace__profile-menu{position:fixed;z-index:60;right:18px;top:58px;display:grid;min-width:210px;padding:8px;background:#fff;border:1px solid var(--pzfp-color-border,#ddd);border-radius:14px;box-shadow:0 16px 50px rgba(0,0,0,.14)}.pzfp-workspace__profile-menu a{padding:11px 12px;border-radius:9px;color:inherit;text-decoration:none}.pzfp-workspace__profile-menu a:hover{background:#f6f5ef}
.pzfp-workspace__content{width:min(1480px,100%);margin:0 auto;padding:28px 24px 72px}.pzfp-home-hero{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(420px,1.3fr);grid-gap:36px;gap:36px;align-items:end;padding:28px 0 34px}.pzfp-home-hero h1{margin:.25rem 0 .35rem;font-size:clamp(2rem,4vw,3.6rem);line-height:1}.pzfp-home-hero>div>p:last-child{color:var(--pzfp-color-muted,#666)}.pzfp-home-search-wrap{position:relative}.pzfp-home-search-wrap .pzfp-search-field{min-height:64px;border-width:2px;border-color:#d7d5c7;box-shadow:0 12px 35px rgba(50,45,10,.08)}.pzfp-home-search-wrap .pzfp-search-field:focus-within{border-color:var(--pzfp-color-primary,#f4c400);box-shadow:0 0 0 4px rgba(244,196,0,.18)}.pzfp-home-search-wrap .pzfp-search-field input{font-size:1.04rem}.pzfp-search-field__filter button{border:0;background:transparent;width:42px;height:42px;border-radius:10px}.pzfp-search-field__filter button.is-active{background:var(--pzfp-color-primary,#f4c400)}.pzfp-home-search-hint{margin:8px 4px 0;font-size:.85rem;color:var(--pzfp-color-muted,#666)}
.pzfp-search-filter-popover{position:absolute;right:0;top:72px;z-index:22;display:grid;grid-gap:5px;gap:5px;min-width:230px;padding:8px;background:#fff;border:1px solid var(--pzfp-color-border,#ddd);border-radius:13px;box-shadow:0 15px 40px rgba(0,0,0,.13)}.pzfp-search-filter-popover button{padding:11px 12px;border:0;border-radius:9px;background:transparent;text-align:left}.pzfp-search-filter-popover button.is-active{background:#fff4b8;font-weight:800}
.pzfp-search-results{position:absolute;z-index:20;top:72px;left:0;right:0;max-height:min(65vh,620px);overflow:auto;padding:10px;background:#fff;border:1px solid var(--pzfp-color-border,#ddd);border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.16)}.pzfp-search-results section+section{margin-top:8px;padding-top:8px;border-top:1px solid #eee}.pzfp-search-results__group{margin:5px 10px 7px;font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#777}.pzfp-search-results a{display:flex;justify-content:space-between;gap:16px;padding:11px 12px;border-radius:11px;color:inherit;text-decoration:none}.pzfp-search-results a:hover{background:#faf8ec}.pzfp-search-results a span{display:grid;grid-gap:3px;gap:3px}.pzfp-search-results a small{color:#6a6a63}.pzfp-search-results a b{align-self:center;font-size:.85rem}.pzfp-search-results__loading,.pzfp-search-results__empty{padding:12px;color:#666}
.pzfp-home-section{margin-top:28px}.pzfp-home-section__heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:14px}.pzfp-home-section__heading h2{margin:.15rem 0 0;font-size:1.35rem}.pzfp-favorite-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:10px;gap:10px}.pzfp-favorite-item{position:relative}.pzfp-favorite-item>a{display:grid;justify-items:start;grid-gap:8px;gap:8px;min-height:112px;padding:16px;background:#fff;border:1px solid var(--pzfp-color-border,#e0dfd7);border-radius:16px;color:inherit;text-decoration:none}.pzfp-favorite-item>a span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#fff4b8;font-weight:900}.pzfp-favorite-item>button{position:absolute;right:7px;top:7px;border:0;background:transparent;font-size:1.05rem}.pzfp-module-card{display:flex;justify-content:space-between;gap:18px;min-height:190px}.pzfp-module-card h3{margin:13px 0 7px}.pzfp-module-card p{margin:0;color:var(--pzfp-color-muted,#666)}.pzfp-module-card__actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto}.pzfp-module-card__actions a{font-weight:800;color:inherit;text-decoration:none}.pzfp-module-card__actions button{border:0;background:transparent;font-size:1.4rem}
.pzfp-drawer-layer{position:fixed;inset:0;z-index:80;background:rgba(0,0,0,.34)}.pzfp-drawer{width:min(420px,90vw);height:100%;overflow:auto;padding:18px;background:#fff;box-shadow:18px 0 60px rgba(0,0,0,.2)}.pzfp-drawer__header{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid #eee}.pzfp-drawer__header button{border:0;background:transparent;font-size:2rem}.pzfp-drawer nav section{margin-top:18px}.pzfp-drawer nav p{margin:0 0 6px;font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#777}.pzfp-drawer nav a{display:block;padding:10px 8px;border-radius:9px;color:inherit;text-decoration:none}.pzfp-drawer nav a:hover{background:#fff7cc}
@media(max-width:900px){.pzfp-workspace__content{padding:18px 14px 70px}.pzfp-home-hero{grid-template-columns:1fr;gap:18px;padding-top:18px}.pzfp-home-hero h1{font-size:2rem}.pzfp-favorite-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.pzfp-home-modules .pzfp-grid{grid-template-columns:1fr 1fr}.pzfp-workspace__profile-button b{display:none}}
@media(max-width:620px){.pzfp-workspace__topbar{height:58px;padding:0 10px}.pzfp-workspace__content{padding:14px 12px 60px}.pzfp-home-hero{padding-top:10px}.pzfp-home-hero>div:first-child p:last-child{display:none}.pzfp-home-search-wrap .pzfp-search-field{min-height:58px}.pzfp-search-results{position:fixed;left:10px;right:10px;top:126px;max-height:calc(100vh - 145px)}.pzfp-favorite-strip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:4px}.pzfp-favorite-item{flex:0 0 128px;scroll-snap-align:start}.pzfp-favorite-item>a{min-height:105px}.pzfp-home-section{margin-top:24px}.pzfp-home-modules .pzfp-grid{grid-template-columns:1fr}.pzfp-home-section__heading{align-items:center}.pzfp-mini-dashboard{min-height:150px}}

/* PZFP Fehlerdialog V2 */
.admin-fetch-debug-toast__diagnosis {
  display: grid;
  grid-gap: .3rem;
  gap: .3rem;
  padding: .65rem .75rem;
  border-radius: var(--pzfp-radius-sm, 8px);
  background: rgba(0,0,0,.035);
  font-size: .84rem;
}
.admin-fetch-debug-toast__diagnosis .ok { color: #18723a; }
.admin-fetch-debug-toast__diagnosis .error { color: #a32121; }
.admin-fetch-debug-toast__download-error { margin: 0; color: #a32121; font-size: .84rem; }
.admin-fetch-debug-toast__actions button.primary {
  background: var(--pzfp-color-primary, #f4c400);
  color: #191919;
  border-color: color-mix(in srgb, var(--pzfp-color-primary, #f4c400) 75%, #000);
  font-weight: 750;
}
.admin-fetch-debug-toast__actions button:disabled { opacity: .65; cursor: wait; }
.pzfp-module-element-list { display: grid; grid-gap: .55rem; gap: .55rem; margin-top: 1rem; }
.pzfp-module-element-list details { border-top: 1px solid var(--pzfp-color-border, #ddd); padding-top: .55rem; }
.pzfp-module-element-list summary { display: flex; align-items: center; justify-content: space-between; gap: .75rem; cursor: pointer; }
.pzfp-module-element-list ul { padding-left: 1.2rem; }

/* PZFP Seitenbaukasten */
.pzfp-page-builder{display:grid;grid-template-columns:240px minmax(0,1fr) 300px;grid-gap:16px;gap:16px;min-height:68vh}.pzfp-builder-list,.pzfp-builder-catalog,.pzfp-builder-main{background:var(--pzfp-color-surface,#fff);border:1px solid var(--pzfp-color-border,#ddd);border-radius:var(--pzfp-radius-md,12px);padding:14px}.pzfp-builder-head,.pzfp-builder-toolbar,.pzfp-builder-module-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.pzfp-builder-list>button,.pzfp-builder-catalog button{display:flex;width:100%;flex-direction:column;align-items:flex-start;gap:2px;padding:10px;border:0;border-radius:8px;background:transparent;text-align:left}.pzfp-builder-list>button:hover,.pzfp-builder-list>button.active,.pzfp-builder-catalog button:hover{background:color-mix(in srgb,var(--pzfp-color-primary,#f4c400) 16%,white)}.pzfp-builder-list small,.pzfp-builder-catalog small{color:#666}.pzfp-builder-toolbar input{font-size:1.2rem;font-weight:700;border:0;border-bottom:1px solid #bbb;padding:6px}.pzfp-builder-canvas{display:grid;grid-template-columns:repeat(12,1fr);grid-gap:12px;gap:12px;margin-top:16px}.pzfp-builder-canvas>.pzfp-card{grid-column:1/-1}.pzfp-builder-catalog details{border-bottom:1px solid #eee;padding:8px 0}.pzfp-builder-catalog summary{font-weight:700;cursor:pointer}.pzfp-feedback{padding:8px 10px;background:#eef8ee;border-radius:8px}@media(max-width:900px){.pzfp-page-builder{grid-template-columns:1fr}.pzfp-builder-catalog{order:2}.pzfp-builder-main{order:1}.pzfp-builder-list{order:0}.pzfp-builder-toolbar{align-items:flex-start;flex-direction:column}}

/* PZFP UI Framework v2 – zentrale Admin-Kopfzeile, Startseite und Designwerkzeug */
.pzfp-admin-shell{min-height:100vh;background:var(--pzfp-color-background,#f7f7f4);color:var(--pzfp-color-text,#202124);font-size:var(--pzfp-font-size-base,16px)}
.pzfp-admin-global-header{position:-webkit-sticky;position:sticky;top:0;z-index:70;height:76px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 28px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--pzfp-color-border,#dedfd9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.pzfp-admin-global-header>.pzfp-admin-header-icon:first-child{justify-self:start}
.pzfp-admin-global-brand{justify-self:center;width:min(280px,32vw);display:block;text-decoration:none}
.pzfp-admin-global-brand .pzfp-logo{display:flex;justify-content:center;align-items:center}
.pzfp-admin-global-brand .pzfp-logo img{display:block;width:100%;height:auto;max-height:58px;object-fit:contain}
.pzfp-admin-header-actions{justify-self:end;display:flex;align-items:center;gap:8px}
.pzfp-admin-header-icon,.pzfp-admin-design-trigger{position:relative;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:inherit;text-decoration:none;font-size:1.35rem;cursor:pointer}
.pzfp-admin-header-icon:hover,.pzfp-admin-design-trigger:hover{background:#f5f3ea}
.pzfp-admin-design-trigger span{display:grid;place-items:center;width:28px;height:28px;border:2px solid currentColor;border-radius:50%;font-size:0}
.pzfp-admin-design-trigger span:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--pzfp-color-primary,#f4c400);box-shadow:-7px 0 0 #202124,7px 0 0 #202124,0 -7px 0 #202124,0 7px 0 #202124}
.pzfp-admin-design-trigger.is-dirty:after{content:"";position:absolute;right:4px;top:4px;width:9px;height:9px;border:2px solid #fff;border-radius:50%;background:var(--pzfp-color-primary,#f4c400)}
.pzfp-admin-profile-trigger{display:flex;align-items:center;gap:9px;min-height:44px;padding:3px 8px 3px 3px;border:0;border-radius:999px;background:transparent;color:inherit;cursor:pointer}
.pzfp-admin-profile-trigger:hover{background:#f5f3ea}.pzfp-admin-profile-trigger span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--pzfp-color-primary,#f4c400);font-weight:900}.pzfp-admin-profile-trigger b{font-size:.95rem}
.pzfp-admin-profile-menu{position:fixed;z-index:110;right:24px;top:68px;display:grid;min-width:210px;padding:8px;background:#fff;border:1px solid var(--pzfp-color-border,#dedfd9);border-radius:var(--pzfp-radius-lg,16px);box-shadow:0 18px 60px rgba(0,0,0,.14)}
.pzfp-admin-profile-menu a{padding:11px 12px;border-radius:10px;color:inherit;text-decoration:none}.pzfp-admin-profile-menu a:hover{background:#faf8ef}
.pzfp-admin-shell-content{min-height:calc(100vh - 76px)}
.pzfp-admin-shell-content>.pzfp-workspace .pzfp-workspace__topbar{display:none}

.pzfp-workspace--home{background:transparent}.pzfp-home-v2{width:min(var(--pzfp-content-width,1440px),100%);padding:54px 30px 84px}.pzfp-home-search-stage{max-width:900px;margin:0 0 26px}.pzfp-home-search-stage .pzfp-home-search-wrap{z-index:101}.pzfp-home-search-stage .pzfp-search-field{min-height:72px;padding-inline:18px;border:1px solid var(--pzfp-color-border,#dedfd9);border-radius:var(--pzfp-radius-lg,16px);background:var(--pzfp-color-surface,#fff);box-shadow:0 12px 36px rgba(32,33,36,.07)}
.pzfp-home-search-stage .pzfp-search-field:focus-within{border-color:var(--pzfp-color-primary,#f4c400);box-shadow:0 0 0 4px color-mix(in srgb,var(--pzfp-color-primary,#f4c400) 22%,transparent),0 18px 48px rgba(32,33,36,.12)}
.pzfp-home-search-stage .pzfp-search-field input{font-size:1.08rem}.pzfp-search-field__filter button{font-size:1.2rem}
.pzfp-search-backdrop{position:fixed;inset:76px 0 0;z-index:90;width:auto;height:auto;border:0;background:rgba(22,24,27,.28);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:default;animation:pzfpFadeIn .15s ease-out}
.pzfp-search-filter-popover,.pzfp-search-results{z-index:102}
.pzfp-search-results{top:82px;max-height:min(68vh,650px);padding:12px;border-radius:var(--pzfp-radius-lg,16px);box-shadow:0 24px 70px rgba(0,0,0,.2);animation:pzfpSearchIn .16s ease-out}
.pzfp-search-results a{min-height:58px;align-items:center}.pzfp-search-results a b{font-size:1.5rem;font-weight:400}.pzfp-search-results a:hover{background:#fff9dc}
@keyframes pzfpFadeIn{from{opacity:0}to{opacity:1}}@keyframes pzfpSearchIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}

.pzfp-home-section{margin-top:34px}.pzfp-home-section__heading{display:flex;align-items:center;margin-bottom:14px}.pzfp-home-section__heading h2{margin:0;font-size:1.5rem;line-height:1.25;letter-spacing:-.02em}
.pzfp-segmented{display:inline-flex;gap:4px;padding:4px;margin-bottom:20px;border:1px solid var(--pzfp-color-border,#dedfd9);border-radius:14px;background:var(--pzfp-color-surface,#fff)}
.pzfp-segmented button{min-width:108px;min-height:42px;padding:8px 18px;border:0;border-radius:10px;background:transparent;color:inherit;font-weight:800;cursor:pointer;transition:background .15s ease,transform .15s ease}.pzfp-segmented button:hover{background:#f7f5eb}.pzfp-segmented button.is-active{background:var(--pzfp-color-primary,#f4c400);box-shadow:0 4px 14px rgba(244,196,0,.2)}.pzfp-segmented button:active{transform:scale(.98)}
.pzfp-favorite-strip--v2{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.pzfp-favorite-card{display:grid;justify-items:center;align-content:center;grid-gap:12px;gap:12px;min-height:126px;padding:18px;background:var(--pzfp-color-surface,#fff);border:1px solid var(--pzfp-color-border,#dedfd9);border-radius:var(--pzfp-radius-lg,16px);color:inherit;text-align:center;text-decoration:none;box-shadow:0 8px 24px rgba(32,33,36,.035);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.pzfp-favorite-card:hover{transform:translateY(-2px);border-color:#cfcdbf;box-shadow:0 14px 34px rgba(32,33,36,.08)}.pzfp-favorite-card span{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#fff4b8;font-size:1.2rem;font-weight:900}.pzfp-favorite-card strong{font-size:.95rem}
.pzfp-home-v2 .pzfp-mini-dashboard{min-height:190px;padding:22px;border-radius:var(--pzfp-radius-lg,16px);box-shadow:0 8px 24px rgba(32,33,36,.035)}.pzfp-home-v2 .pzfp-mini-dashboard__value{font-size:2rem}.pzfp-home-v2 .pzfp-mini-dashboard a{color:#1557a0;text-decoration:none;font-weight:700}
.pzfp-recent-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.pzfp-recent-grid a{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:72px;padding:14px 18px;background:var(--pzfp-color-surface,#fff);border:1px solid var(--pzfp-color-border,#dedfd9);border-radius:var(--pzfp-radius-lg,16px);color:inherit;text-decoration:none}.pzfp-recent-grid a span{display:grid;grid-gap:4px;gap:4px}.pzfp-recent-grid a small{color:var(--pzfp-color-muted,#667085)}.pzfp-recent-grid a b{font-size:1.7rem;font-weight:400}.pzfp-recent-grid a:hover{background:#fffaf0}
.pzfp-empty-favorites{padding:24px;border:1px dashed var(--pzfp-color-border,#dedfd9);border-radius:var(--pzfp-radius-lg,16px);background:rgba(255,255,255,.5)}.pzfp-empty-favorites p{margin-top:0}.pzfp-empty-favorites button{min-height:42px;padding:8px 14px;border:0;border-radius:10px;background:var(--pzfp-color-primary,#f4c400);font-weight:800}

.pzfp-design-tool{position:fixed;z-index:200;display:grid;grid-template-rows:auto auto auto 1fr auto auto;background:var(--pzfp-color-surface,#fff);border:1px solid #aeb1b4;border-radius:16px;box-shadow:0 28px 100px rgba(0,0,0,.24);overflow:hidden;min-width:360px;min-height:420px;color:var(--pzfp-color-text,#202124)}
.pzfp-design-tool--right{right:10px;top:82px}.pzfp-design-tool--left{left:10px;top:82px}.pzfp-design-tool--floating{position:fixed}.pzfp-design-tool__titlebar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:60px;padding:10px 12px 10px 18px;border-bottom:1px solid var(--pzfp-color-border,#dedfd9);cursor:move;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pzfp-design-tool__titlebar>div:first-child{display:flex;align-items:center;gap:10px}.pzfp-design-tool__titlebar small{padding:4px 8px;border-radius:999px;background:#eff7f0;color:#287742}.pzfp-design-tool__window-actions{display:flex;align-items:center;gap:2px}.pzfp-design-tool__window-actions button{display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:8px;background:transparent;font-size:1.2rem;cursor:pointer}.pzfp-design-tool__window-actions button:hover{background:#f3f2ec}
.pzfp-design-tool__tabs{display:flex;gap:6px;padding:8px 12px;border-bottom:1px solid var(--pzfp-color-border,#dedfd9);overflow-x:auto}.pzfp-design-tool__tabs button{min-height:42px;padding:8px 15px;border:0;border-radius:10px;background:transparent;font-weight:900;white-space:nowrap}.pzfp-design-tool__tabs button.is-active{background:var(--pzfp-color-primary,#f4c400)}
.pzfp-design-tool__body{overflow:auto;padding:16px 20px 28px}.pzfp-design-tool__body h3{margin:0 0 12px;font-size:1.15rem}.pzfp-design-tool__body h3:not(:first-child){margin-top:24px}.pzfp-design-tool__fields{display:grid;grid-gap:12px;gap:12px}.pzfp-design-tool__fields label,.pzfp-design-tool__ranges label{display:grid;grid-gap:6px;gap:6px;font-weight:800}.pzfp-design-tool__fields label>div{display:grid;grid-template-columns:58px 1fr}.pzfp-design-tool__fields input[type=color]{width:58px;height:42px;padding:2px;border:1px solid var(--pzfp-color-border,#dedfd9);border-radius:10px 0 0 10px}.pzfp-design-tool__fields input[type=text]{min-width:0;height:42px;padding:0 12px;border:1px solid var(--pzfp-color-border,#dedfd9);border-left:0;border-radius:0 10px 10px 0;font-weight:800}.pzfp-design-tool__ranges{display:grid;grid-gap:18px;gap:18px}.pzfp-design-tool__ranges label span{display:flex;justify-content:space-between;gap:18px}.pzfp-design-tool__ranges input{width:100%}.pzfp-design-tool__empty{padding:12px 0}.pzfp-design-tool__empty a{font-weight:800;color:inherit}
.pzfp-design-tool__status{display:flex;justify-content:space-between;gap:12px;padding:8px 16px;border-top:1px solid var(--pzfp-color-border,#dedfd9);background:#f7f7f4;color:var(--pzfp-color-muted,#667085);font-size:.82rem}.pzfp-design-tool__footer{display:grid;grid-template-columns:1fr 1.2fr 1.2fr;grid-gap:8px;gap:8px;padding:12px;border-top:1px solid var(--pzfp-color-border,#dedfd9)}.pzfp-design-tool__footer button{min-height:46px;padding:8px 12px;border:1px solid var(--pzfp-color-border,#dedfd9);border-radius:11px;background:#fff;font-weight:900;cursor:pointer}.pzfp-design-tool__footer button.is-primary{border-color:var(--pzfp-color-primary,#f4c400);background:var(--pzfp-color-primary,#f4c400)}.pzfp-design-tool__footer button:disabled{opacity:.48;cursor:not-allowed}.pzfp-design-tool__resize{position:absolute;right:-1px;bottom:-1px;width:28px;height:28px;border:0;background:linear-gradient(135deg,transparent 50%,#7d8287 51%,#7d8287 58%,transparent 59%,transparent 68%,#7d8287 69%,#7d8287 76%,transparent 77%);cursor:nwse-resize}.pzfp-design-tool__mobile-heights{display:none}

@media(max-width:900px){.pzfp-admin-global-header{height:68px;padding:0 14px}.pzfp-admin-global-brand{width:min(240px,42vw)}.pzfp-admin-profile-trigger b{display:none}.pzfp-admin-shell-content{min-height:calc(100vh - 68px)}.pzfp-home-v2{padding:34px 18px 70px}.pzfp-home-search-stage{max-width:none}.pzfp-favorite-strip--v2{grid-template-columns:repeat(3,minmax(0,1fr))}.pzfp-recent-grid{grid-template-columns:1fr}.pzfp-search-backdrop{inset:68px 0 0}}
@media(max-width:760px){.pzfp-admin-global-header{grid-template-columns:44px 1fr auto;height:62px;padding:0 8px}.pzfp-admin-global-brand{width:min(210px,48vw)}.pzfp-admin-header-actions{gap:0}.pzfp-admin-header-actions>.pzfp-admin-header-icon:first-child{display:none}.pzfp-admin-profile-trigger{padding-right:2px}.pzfp-admin-profile-trigger span{width:36px;height:36px}.pzfp-admin-shell-content{min-height:calc(100vh - 62px)}.pzfp-home-v2{padding:24px 12px 58px}.pzfp-home-search-stage .pzfp-search-field{min-height:62px}.pzfp-home-section{margin-top:28px}.pzfp-home-section__heading h2{font-size:1.3rem}.pzfp-segmented{display:grid;grid-template-columns:repeat(3,1fr);width:100%}.pzfp-segmented button{min-width:0;padding-inline:8px}.pzfp-favorite-strip--v2{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.pzfp-favorite-card{flex:0 0 132px;min-height:116px;scroll-snap-align:start}.pzfp-home-v2 .pzfp-grid{grid-template-columns:1fr}.pzfp-search-backdrop{inset:62px 0 0}.pzfp-search-results{position:fixed;left:10px;right:10px;top:136px;max-height:calc(100vh - 154px)}
.pzfp-design-tool,.pzfp-design-tool--left,.pzfp-design-tool--right,.pzfp-design-tool--floating{left:0!important;right:0!important;top:auto!important;bottom:0!important;width:100%!important;max-width:none!important;border-radius:18px 18px 0 0;min-width:0;height:88vh!important}.pzfp-design-tool--mobile-compact{height:38vh!important}.pzfp-design-tool--mobile-half{height:62vh!important}.pzfp-design-tool--mobile-full{height:88vh!important}.pzfp-design-tool__titlebar{cursor:default}.pzfp-design-tool__window-actions button:not(:last-child),.pzfp-design-tool__resize{display:none}.pzfp-design-tool__mobile-heights{display:flex;justify-content:center;gap:6px;padding:6px;border-bottom:1px solid var(--pzfp-color-border,#dedfd9)}.pzfp-design-tool__mobile-heights button{padding:5px 9px;border:0;border-radius:8px;background:#f2f1eb;font-size:.75rem}.pzfp-design-tool__footer{grid-template-columns:1fr 1fr}.pzfp-design-tool__footer .is-primary{grid-column:1/-1}}

/* PZFP Navigation Drawer + Favoritenverwaltung */
.pzfp-nav-overlay{position:fixed;inset:0;z-index:160;background:rgba(20,22,24,.28);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:pzfpFadeIn .15s ease}
.pzfp-nav-drawer{width:min(430px,92vw);height:100%;display:grid;grid-template-rows:auto auto 1fr;background:#fff;box-shadow:18px 0 60px rgba(20,22,24,.2);overflow:hidden;animation:pzfpDrawerIn .18s ease}
.pzfp-nav-drawer>header{display:flex;align-items:center;justify-content:space-between;min-height:68px;padding:0 18px;border-bottom:1px solid var(--pzfp-color-border,#dedfd9)}
.pzfp-nav-drawer>header strong{font-size:1.15rem}.pzfp-nav-drawer>header button{width:42px;height:42px;border:0;border-radius:10px;background:transparent;font-size:1.8rem;cursor:pointer}.pzfp-nav-drawer>header button:hover{background:#f4f3ee}
.pzfp-nav-search{display:grid;grid-template-columns:auto 1fr;align-items:center;grid-gap:10px;gap:10px;margin:14px 16px;padding:0 14px;min-height:48px;border:1px solid var(--pzfp-color-border,#dedfd9);border-radius:14px;background:#fff}.pzfp-nav-search input{width:100%;border:0;outline:0;background:transparent;font:inherit}
.pzfp-nav-drawer nav{overflow:auto;padding:0 10px 28px}.pzfp-nav-drawer nav section{padding:10px 0}.pzfp-nav-drawer nav h2{margin:0;padding:8px 10px;color:var(--pzfp-color-muted,#667085);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}
.pzfp-module-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.pzfp-module-directory__item{display:grid;grid-template-columns:1fr 42px;align-items:center;border:1px solid var(--pzfp-color-border,#dedfd9);border-radius:14px;background:#fff}.pzfp-module-directory__item>a{display:grid;grid-gap:3px;gap:3px;padding:14px;color:inherit;text-decoration:none}.pzfp-module-directory__item small{color:var(--pzfp-color-muted,#667085)}.pzfp-module-directory__item>button{width:36px;height:36px;border:0;border-radius:10px;background:transparent;font-size:1.35rem;cursor:pointer}.pzfp-module-directory__item>button.is-favorite{color:#d4a900}
@keyframes pzfpFadeIn{from{opacity:0}to{opacity:1}}@keyframes pzfpDrawerIn{from{transform:translateX(-24px);opacity:.6}to{transform:none;opacity:1}}
@media(max-width:760px){.pzfp-nav-drawer{width:100%}.pzfp-module-directory{grid-template-columns:1fr}}

/* UI Framework v3 – Konsolidierung und Regression-Fixes */
.pzfp-admin-global-header{height:var(--pzfp-header-height,76px);grid-template-columns:minmax(120px,1fr) auto minmax(120px,1fr)}
.pzfp-admin-global-brand{position:absolute;left:50%;transform:translateX(-50%);width:min(300px,38vw)}
.pzfp-admin-header-icon svg,.pzfp-admin-design-trigger svg{width:23px;height:23px;display:block}
.pzfp-admin-design-trigger span{all:unset}.pzfp-admin-design-trigger span:before{content:none}
.pzfp-design-backdrop{position:fixed;inset:var(--pzfp-header-height,76px) 0 0;z-index:190;border:0;background:rgba(20,22,24,.16);-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px)}
.pzfp-design-tool{z-index:200}
.pzfp-design-tool__window-actions{min-width:166px;justify-content:center;gap:4px}
.pzfp-design-tool__window-actions button{width:38px;height:38px;padding:0}.pzfp-design-tool__window-actions svg{width:20px;height:20px}
.pzfp-design-tool__fields label>span{display:flex;align-items:center;justify-content:space-between;gap:8px}.pzfp-design-tool__fields label>span button,.pzfp-design-tool__ranges label span button{border:0;background:transparent;color:#9b7900;font-size:1rem;cursor:pointer}
.pzfp-design-tool__fields label>div{position:relative;grid-template-columns:58px 1fr 18px}.pzfp-design-tool__fields label>div>i{align-self:center;justify-self:center;width:10px;height:10px;border:1px solid #8d9195;border-radius:3px}.pzfp-design-tool__fields label.is-overridden>div{box-shadow:inset 3px 0 var(--pzfp-color-primary,#f4c400);border-radius:10px}
.pzfp-range-wrap{position:relative}.pzfp-range-wrap>i{position:absolute;top:50%;width:2px;height:13px;background:#9a7b00;transform:translate(-1px,-50%);pointer-events:none}.pzfp-design-tool__ranges label.is-overridden .pzfp-range-wrap:after{content:"";position:absolute;right:0;top:-23px;width:8px;height:8px;border-radius:50%;background:var(--pzfp-color-primary,#f4c400)}
.pzfp-home-v2{font-size:var(--pzfp-font-size-base,16px);line-height:var(--pzfp-line-height,1.5)}.pzfp-home-section{margin-top:var(--pzfp-space-section,38px)}.pzfp-home-section__heading h2{font-size:var(--pzfp-font-h2,25px)}.pzfp-home-v2 .pzfp-mini-dashboard{padding:var(--pzfp-card-padding,22px)}.pzfp-home-v2 .pzfp-mini-dashboard__value{font-size:var(--pzfp-font-metric,34px);line-height:1.03}.pzfp-home-v2 .pzfp-mini-dashboard__title,.pzfp-favorite-card strong{font-size:var(--pzfp-font-card-title,16px)}.pzfp-home-search-stage .pzfp-search-field{min-height:var(--pzfp-search-height,72px)}
.pzfp-module-icon{width:24px;height:24px;display:block}.pzfp-favorite-card span{width:44px;height:44px;background:#fff6c7;color:#31343a}
.pzfp-nav-row{display:grid;grid-template-columns:minmax(0,1fr) 40px;align-items:center;border-radius:11px}.pzfp-nav-row:hover{background:#f7f6f1}.pzfp-nav-row>a{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;grid-gap:12px;gap:12px;min-height:58px;padding:8px 8px 8px 10px;color:inherit;text-decoration:none}.pzfp-nav-row>a>svg{width:24px!important;height:24px!important;min-width:24px;max-width:24px;display:block}.pzfp-nav-row>a>span{display:grid;grid-gap:2px;gap:2px;min-width:0}.pzfp-nav-row>a strong{font-size:.94rem}.pzfp-nav-row>a small{display:block;color:var(--pzfp-color-muted,#667085);font-size:.78rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pzfp-nav-row>button{width:36px;height:36px;border:0;border-radius:9px;background:transparent;font-size:1.2rem;cursor:pointer}.pzfp-nav-row>button:hover{background:#eceae2}.pzfp-nav-row>button.is-favorite{color:#c79c00}
@media(max-width:760px){.pzfp-admin-global-brand{width:min(220px,48vw)}.pzfp-design-backdrop{inset:62px 0 0}.pzfp-design-tool__window-actions{min-width:auto}.pzfp-nav-row>a small{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}

/* PZFP Shell v3.1 – responsive Vorschau, Werkzeugfenster und angeheftete Navigation */
.pzfp-admin-profile-trigger img{width:42px;height:42px;object-fit:cover;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px var(--pzfp-color-border,#dedfd9)}
.pzfp-design-backdrop{display:none!important}
.pzfp-design-tool__preview-modes{display:flex;gap:5px;overflow-x:auto;padding:8px 12px;border-bottom:1px solid var(--pzfp-color-border,#dedfd9);background:#fafaf8}
.pzfp-design-tool__preview-modes button{min-height:34px;padding:0 10px;border:1px solid transparent;border-radius:9px;background:transparent;font-size:.78rem;font-weight:800;white-space:nowrap;cursor:pointer}
.pzfp-design-tool__preview-modes button:hover{background:#f0efe9}.pzfp-design-tool__preview-modes button.is-active{background:var(--pzfp-color-primary,#f4c400);color:var(--pzfp-color-text,#202124)}
.pzfp-design-tool__resize{position:absolute!important;z-index:8;border:0!important;background:transparent!important;padding:0!important;display:block!important}
.pzfp-design-tool__resize--n{left:12px;right:12px;top:-5px;height:10px;cursor:ns-resize}.pzfp-design-tool__resize--s{left:12px;right:12px;bottom:-5px;height:10px;cursor:ns-resize}
.pzfp-design-tool__resize--e{top:12px;bottom:12px;right:-5px;width:10px;cursor:ew-resize}.pzfp-design-tool__resize--w{top:12px;bottom:12px;left:-5px;width:10px;cursor:ew-resize}
.pzfp-design-tool__resize--ne{top:-6px;right:-6px;width:16px;height:16px;cursor:nesw-resize}.pzfp-design-tool__resize--nw{top:-6px;left:-6px;width:16px;height:16px;cursor:nwse-resize}
.pzfp-design-tool__resize--se{right:-7px;bottom:-7px;width:20px;height:20px;cursor:nwse-resize;background:linear-gradient(135deg,transparent 48%,#7d8287 49%,#7d8287 57%,transparent 58%,transparent 68%,#7d8287 69%,#7d8287 77%,transparent 78%)!important}.pzfp-design-tool__resize--sw{left:-6px;bottom:-6px;width:16px;height:16px;cursor:nesw-resize}
.pzfp-admin-shell-content.has-pinned-navigation{margin-left:360px;transition:margin .18s ease}.pzfp-nav-drawer.is-pinned{position:fixed;left:0;top:var(--pzfp-header-height,76px);bottom:0;z-index:120;width:360px;height:auto;border-right:1px solid var(--pzfp-color-border,#dedfd9);box-shadow:none;animation:none}.pzfp-nav-drawer>header>div{display:flex;align-items:center;gap:3px}.pzfp-nav-drawer>header>div button{font-size:1.05rem}
.pzfp-admin-shell-content.pzfp-preview-mode--desktop,.pzfp-admin-shell-content.pzfp-preview-mode--tablet,.pzfp-admin-shell-content.pzfp-preview-mode--mobile{margin-inline:auto;border-inline:1px solid var(--pzfp-color-border,#dedfd9);box-shadow:0 18px 60px rgba(20,22,24,.12);transition:max-width .2s ease}
.pzfp-admin-shell-content.pzfp-preview-mode--desktop{max-width:1440px}.pzfp-admin-shell-content.pzfp-preview-mode--tablet{max-width:820px}.pzfp-admin-shell-content.pzfp-preview-mode--mobile{max-width:390px}
.pzfp-admin-shell-content.pzfp-preview-mode--compare{max-width:calc(820px + 390px + 32px);margin-inline:auto;background:linear-gradient(90deg,transparent 0 calc(67% - 8px),#dadbd7 calc(67% - 8px) calc(67% + 8px),transparent calc(67% + 8px));box-shadow:0 18px 60px rgba(20,22,24,.1)}
.pzfp-preview-mode--tablet{--pzfp-responsive-font-scale:var(--pzfp-tablet-font-scale,.92)}.pzfp-preview-mode--mobile{--pzfp-responsive-font-scale:var(--pzfp-mobile-font-scale,.84)}
.pzfp-preview-mode--tablet .pzfp-home-v2,.pzfp-preview-mode--mobile .pzfp-home-v2{font-size:calc(var(--pzfp-font-size-base,16px) * var(--pzfp-responsive-font-scale,1))}
.pzfp-preview-mode--tablet .pzfp-home-section__heading h2,.pzfp-preview-mode--mobile .pzfp-home-section__heading h2{font-size:calc(var(--pzfp-font-h2,25px) * var(--pzfp-responsive-font-scale,1))}
.pzfp-preview-mode--tablet .pzfp-mini-dashboard__value,.pzfp-preview-mode--mobile .pzfp-mini-dashboard__value{font-size:calc(var(--pzfp-font-metric,34px) * var(--pzfp-responsive-font-scale,1))}
.pzfp-preview-mode--tablet .pzfp-mini-dashboard__title,.pzfp-preview-mode--mobile .pzfp-mini-dashboard__title,.pzfp-preview-mode--tablet .pzfp-favorite-card strong,.pzfp-preview-mode--mobile .pzfp-favorite-card strong{font-size:calc(var(--pzfp-font-card-title,16px) * var(--pzfp-responsive-font-scale,1))}
@media(max-width:1024px){:root{--pzfp-responsive-font-scale:var(--pzfp-tablet-font-scale,.92)}.pzfp-home-v2{font-size:calc(var(--pzfp-font-size-base,16px) * var(--pzfp-responsive-font-scale))}.pzfp-home-section__heading h2{font-size:calc(var(--pzfp-font-h2,25px) * var(--pzfp-responsive-font-scale))}.pzfp-mini-dashboard__value{font-size:calc(var(--pzfp-font-metric,34px) * var(--pzfp-responsive-font-scale))}}
@media(max-width:640px){:root{--pzfp-responsive-font-scale:var(--pzfp-mobile-font-scale,.84)}.pzfp-admin-shell-content.has-pinned-navigation{margin-left:0}.pzfp-nav-drawer.is-pinned{position:static;width:100%;height:100%}.pzfp-home-v2{font-size:calc(var(--pzfp-font-size-base,16px) * var(--pzfp-responsive-font-scale))}.pzfp-home-section__heading h2{font-size:calc(var(--pzfp-font-h2,25px) * var(--pzfp-responsive-font-scale))}.pzfp-mini-dashboard__value{font-size:calc(var(--pzfp-font-metric,34px) * var(--pzfp-responsive-font-scale))}.pzfp-design-tool__resize{display:none!important}}

/* PZFP Shell v4 – echte responsive Vorschau und robuste Resize-Zonen */
.pzfp-admin-shell-content{container-type:inline-size;container-name:pzfp-workspace}

/* Die Geräte-Vorschau steuert die komplette Shell, nicht nur die Inhaltsbreite. */
.pzfp-admin-shell.pzfp-preview-mode--desktop .pzfp-admin-shell-content{width:min(1440px,calc(100vw - 40px));max-width:1440px}
.pzfp-admin-shell.pzfp-preview-mode--tablet .pzfp-admin-shell-content{width:820px;max-width:calc(100vw - 40px)}
.pzfp-admin-shell.pzfp-preview-mode--mobile .pzfp-admin-shell-content{width:390px;max-width:calc(100vw - 24px)}
.pzfp-admin-shell.pzfp-preview-mode--desktop .pzfp-admin-global-header,
.pzfp-admin-shell.pzfp-preview-mode--tablet .pzfp-admin-global-header,
.pzfp-admin-shell.pzfp-preview-mode--mobile .pzfp-admin-global-header{margin-inline:auto;transition:width .2s ease,max-width .2s ease}
.pzfp-admin-shell.pzfp-preview-mode--desktop .pzfp-admin-global-header{width:min(1440px,calc(100vw - 40px))}
.pzfp-admin-shell.pzfp-preview-mode--tablet .pzfp-admin-global-header{width:820px;max-width:calc(100vw - 40px)}
.pzfp-admin-shell.pzfp-preview-mode--mobile .pzfp-admin-global-header{width:390px;max-width:calc(100vw - 24px);height:62px;padding:0 8px;grid-template-columns:44px 1fr auto}
.pzfp-admin-shell.pzfp-preview-mode--mobile .pzfp-admin-global-brand{width:min(210px,48cqw)}
.pzfp-admin-shell.pzfp-preview-mode--mobile .pzfp-admin-profile-trigger b,
.pzfp-admin-shell.pzfp-preview-mode--mobile .pzfp-admin-header-actions>.pzfp-admin-header-icon:first-child{display:none}
.pzfp-admin-shell.pzfp-preview-mode--mobile .pzfp-admin-profile-trigger{padding-right:2px}
.pzfp-admin-shell.pzfp-preview-mode--mobile .pzfp-admin-profile-trigger img,
.pzfp-admin-shell.pzfp-preview-mode--mobile .pzfp-admin-profile-trigger span{width:36px;height:36px}

/* Container-Regeln machen die Simulation unabhängig von der echten Browserbreite. */
@container pzfp-workspace (max-width: 900px){
  .pzfp-home-v2{padding:34px 18px 70px}
  .pzfp-home-search-stage{max-width:none}
  .pzfp-recent-grid{grid-template-columns:1fr}
  .pzfp-module-directory{grid-template-columns:1fr}
}
@container pzfp-workspace (max-width: 760px){
  .pzfp-home-v2{padding:24px 12px 58px}
  .pzfp-home-search-stage .pzfp-search-field{min-height:62px}
  .pzfp-home-section{margin-top:28px}
  .pzfp-home-section__heading{align-items:flex-start}
  .pzfp-home-section__heading h2{font-size:calc(var(--pzfp-font-h2,25px) * var(--pzfp-mobile-font-scale,.84))}
  .pzfp-segmented{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}
  .pzfp-segmented button{min-width:0;padding-inline:8px}
  .pzfp-favorite-strip--v2{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;overflow:visible!important;grid-gap:var(--pzfp-space-card,12px);gap:var(--pzfp-space-card,12px)}
  .pzfp-favorite-card{min-width:0!important;min-height:104px;scroll-snap-align:none}
  .pzfp-home-v2 .pzfp-grid{grid-template-columns:1fr!important}
  .pzfp-mini-dashboard{min-height:150px!important}
  .pzfp-module-directory{grid-template-columns:1fr!important}
  .pzfp-search-results{position:fixed;left:10px;right:10px;top:136px;max-height:calc(100vh - 154px)}
}

/* Vergleich zeigt zwei echte, klar getrennte Vorschauflächen als Orientierung. */
.pzfp-admin-shell-content.pzfp-preview-mode--compare{position:relative;width:min(1242px,calc(100vw - 40px));max-width:none;padding-right:410px}
.pzfp-admin-shell-content.pzfp-preview-mode--compare:after{content:"Mobil · 390 px";position:absolute;right:0;top:0;width:390px;height:100%;min-height:560px;border-left:16px solid var(--pzfp-color-background,#f7f7f4);background:linear-gradient(135deg,#fff 0 49%,#f6f5ef 49% 51%,#fff 51%);display:flex;align-items:center;justify-content:center;color:var(--pzfp-color-muted,#667085);font-size:.85rem;font-weight:800;pointer-events:none}

/* Große, durchgehende Griffzonen an allen Seiten und Ecken. */
.pzfp-design-tool{overflow:visible!important}
.pzfp-design-tool__resize{position:absolute!important;z-index:50!important;border:0!important;background:transparent!important;padding:0!important;display:block!important;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}
.pzfp-design-tool__resize--n{left:18px;right:18px;top:-9px;height:18px;cursor:ns-resize}
.pzfp-design-tool__resize--s{left:18px;right:18px;bottom:-9px;height:18px;cursor:ns-resize}
.pzfp-design-tool__resize--e{top:18px;bottom:18px;right:-9px;width:18px;cursor:ew-resize}
.pzfp-design-tool__resize--w{top:18px;bottom:18px;left:-9px;width:18px;cursor:ew-resize}
.pzfp-design-tool__resize--ne{top:-10px;right:-10px;width:28px;height:28px;cursor:nesw-resize}
.pzfp-design-tool__resize--nw{top:-10px;left:-10px;width:28px;height:28px;cursor:nwse-resize}
.pzfp-design-tool__resize--se{right:-10px;bottom:-10px;width:30px;height:30px;cursor:nwse-resize;background:linear-gradient(135deg,transparent 48%,#7d8287 49%,#7d8287 55%,transparent 56%,transparent 66%,#7d8287 67%,#7d8287 73%,transparent 74%)!important}
.pzfp-design-tool__resize--sw{left:-10px;bottom:-10px;width:28px;height:28px;cursor:nesw-resize}
.pzfp-design-tool:hover .pzfp-design-tool__resize--n:after,
.pzfp-design-tool:hover .pzfp-design-tool__resize--s:after{content:"";position:absolute;left:35%;right:35%;top:8px;height:2px;border-radius:2px;background:rgba(70,74,78,.35)}
.pzfp-design-tool:hover .pzfp-design-tool__resize--e:after,
.pzfp-design-tool:hover .pzfp-design-tool__resize--w:after{content:"";position:absolute;top:35%;bottom:35%;left:8px;width:2px;border-radius:2px;background:rgba(70,74,78,.35)}

@media(max-width:760px){
  .pzfp-design-tool__resize{display:none!important}
  .pzfp-admin-shell.pzfp-preview-mode--mobile .pzfp-admin-global-header,
  .pzfp-admin-shell.pzfp-preview-mode--mobile .pzfp-admin-shell-content{width:100%;max-width:100%;border-inline:0;box-shadow:none}
}

/* Aufnahme Substitution */
.substitution-intake{display:grid;grid-gap:1rem;gap:1rem}.substitution-language-card{grid-template-columns:minmax(0,1fr) minmax(180px,260px);align-items:end}.substitution-language-card label{display:grid;grid-gap:.4rem;gap:.4rem}.substitution-language-card select,.substitution-section select,.substitution-section input{width:100%;min-height:44px}.substitution-section>header{margin:-1rem -1rem 0;padding:1rem;border-bottom:1px solid rgba(28,43,50,.1)}.substitution-section>header>div{display:flex;align-items:center;justify-content:space-between;gap:1rem}.substitution-stage-badge{display:inline-flex;padding:.3rem .55rem;border-radius:999px;background:#eef3f1;font-size:.78rem;font-weight:750;white-space:nowrap}.substitution-section.first-contact{border-left:5px solid #275f50}.substitution-section.first-contact .substitution-stage-badge{background:#dfeee8;color:#174a3c}.substitution-section.later-contact{background:#fbfcfc}.substitution-section .patient-text-question{display:grid;grid-gap:.45rem;gap:.45rem}.substitution-section[dir="rtl"]{text-align:right}@media(max-width:700px){.substitution-language-card{grid-template-columns:1fr}.substitution-section>header>div{align-items:flex-start;flex-direction:column}.substitution-stage-badge{white-space:normal}}

/* Aufnahme Substitution: strukturierte Auswahlfelder */
.substitution-structured-field textarea{min-height:72px}
.substitution-structured-field>small{display:block;margin-top:.25rem;color:var(--muted-foreground,#667085)}
.substitution-chip-grid{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.65rem}
.substitution-choice-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #b8c2cc;background:#fff;color:#17212b;border-radius:999px;padding:.62rem .9rem;font:inherit;font-weight:650;line-height:1.15;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease,transform .05s ease}
.substitution-choice-chip:hover{border-color:#28745b;background:#f3faf7}
.substitution-choice-chip:active{transform:translateY(1px)}
.substitution-choice-chip.is-selected,.substitution-choice-chip[aria-pressed="true"]{border-color:#176b4d;background:#dff2ea;color:#0d5039;box-shadow:0 0 0 2px rgba(23,107,77,.1)}
.substitution-inline-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:1rem;gap:1rem}
.substitution-structured-field input,.substitution-structured-field select{width:100%;min-height:48px;margin-top:.65rem}
@media(max-width:680px){.substitution-inline-grid{grid-template-columns:1fr}.substitution-choice-chip{padding:.72rem .9rem}.substitution-chip-grid{gap:.45rem}}

/* Aufnahme Substitution: substanzspezifische, mobile Detailkarten */
.substitution-compact-pair {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(160px, .55fr);
  grid-gap: 12px;
  gap: 12px;
  align-items: end;
}
.substitution-primary-chip {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid var(--border, #cbd5df);
  border-radius: 999px;
  background: var(--surface, #fff);
  color: inherit;
  font: inherit;
  font-weight: 700;
  padding: 10px 14px;
  cursor: pointer;
  min-height: 44px;
}
.substitution-primary-chip.active {
  border-color: var(--primary, #176f58);
  background: color-mix(in srgb, var(--primary, #176f58) 12%, white);
  color: var(--primary, #176f58);
}
.substitution-intake .substitution-structured-field > select,
.substitution-intake .substitution-structured-field > input {
  min-height: 44px;
}
@media (max-width: 720px) {
  .substitution-compact-pair { grid-template-columns: 1fr; }
}

/* Zentrale PZFP-Formularkarten: dezente Bereichsakzente, keine lokalen Inline-Styles */
.substitution-detail-card{
  --detail-accent:var(--pzfp-color-primary,#276b57);
  --detail-tint:color-mix(in srgb,var(--detail-accent) 5%,var(--pzfp-color-surface,#fff));
  margin-top:var(--pzfp-space-3,.75rem);
  padding:var(--pzfp-space-4,1rem);
  border:1px solid color-mix(in srgb,var(--detail-accent) 22%,var(--pzfp-color-border,#d8dee6));
  -webkit-border-start:4px solid var(--detail-accent);
          border-inline-start:4px solid var(--detail-accent);
  border-radius:var(--pzfp-radius-card,14px);
  background:var(--detail-tint);
  box-shadow:0 1px 2px rgba(20,35,30,.025);
}
.substitution-detail-card--opioid{--detail-accent:var(--pzfp-color-primary,#276b57)}
.substitution-detail-card--substance{--detail-accent:var(--pzfp-color-accent-warm,#9a6a35)}
.substitution-detail-card--medical{--detail-accent:var(--pzfp-color-accent-blue,#47708b)}
.substitution-detail-card--social{--detail-accent:var(--pzfp-color-accent-violet,#6d6687)}
.substitution-detail-card>h3{margin:0 0 var(--pzfp-space-3,.75rem);font-size:1.08rem}
.substitution-detail-card .substitution-chip-grid{padding-bottom:0;border-bottom:0}
.substitution-dose-control{position:relative;display:flex;align-items:center;margin-top:.65rem}
.substitution-dose-control>input{margin-top:0;-webkit-padding-end:4.5rem;padding-inline-end:4.5rem}
.substitution-dose-unit{position:absolute;inset-inline-end:.85rem;font-weight:750;color:var(--pzfp-color-muted,#667085);pointer-events:none}
@media(max-width:680px){.substitution-detail-card{padding:.9rem}.substitution-compact-pair{grid-template-columns:1fr}}

/* Fragebogen-Designer und aufgeräumter globaler Header */
.pzfp-admin-global-header{height:68px;padding:0 22px;box-shadow:0 1px 0 rgba(20,45,48,.04);background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}
.pzfp-admin-global-brand{width:auto;display:flex;align-items:center;gap:10px;color:#164f4f;line-height:1;white-space:nowrap}
.pzfp-admin-global-brand .pzfp-logo{width:46px;height:46px;flex:0 0 46px;overflow:hidden}
.pzfp-admin-global-brand .pzfp-logo img{width:46px;height:46px;object-fit:contain;max-height:none}
.pzfp-admin-global-brand>span{display:grid;text-align:left}.pzfp-admin-global-brand>span strong{font-size:1.12rem;letter-spacing:-.02em}.pzfp-admin-global-brand>span small{font-size:.86rem;color:#7d8584;margin-top:3px}
.pzfp-admin-header-actions{gap:5px}.pzfp-admin-header-icon,.pzfp-admin-design-trigger{border-radius:10px}.pzfp-admin-profile-trigger{border-left:1px solid var(--pzfp-color-border,#dedfd9);margin-left:4px;padding-left:12px}
.questionnaire-editor-tabs{display:flex;gap:4px;border-bottom:1px solid rgba(28,43,50,.12);margin-bottom:1rem;overflow-x:auto}.questionnaire-editor-tabs button{border:0;background:transparent;border-radius:0;padding:.7rem .8rem;border-bottom:3px solid transparent;white-space:nowrap}.questionnaire-editor-tabs button.active{color:#165b55;border-bottom-color:#165b55;font-weight:750}
.questionnaire-schema-editor{display:grid;grid-gap:.8rem;gap:.8rem}.questionnaire-schema-editor>article{border:1px solid rgba(28,43,50,.13);border-radius:8px;padding:.75rem;background:#fff}.questionnaire-schema-editor>article.inactive,.questionnaire-question-rows>div.inactive{opacity:.55}.questionnaire-schema-editor>article>header{display:grid;grid-template-columns:auto minmax(220px,1fr) auto;grid-gap:.6rem;gap:.6rem;align-items:center;margin-bottom:.6rem}.questionnaire-schema-editor>article>header>input{font-weight:800;font-size:1rem;padding:.55rem}.questionnaire-order-buttons{display:flex;gap:3px}.questionnaire-order-buttons button{width:34px;padding:.45rem}.questionnaire-question-rows{display:grid;grid-gap:5px;gap:5px;margin-bottom:.65rem}.questionnaire-question-rows>div{display:grid;grid-template-columns:minmax(250px,1fr) 150px auto auto auto auto;grid-gap:.45rem;gap:.45rem;align-items:center;padding:.45rem;background:#f7f9f8;border-radius:6px}.questionnaire-question-rows input,.questionnaire-question-rows select{min-height:38px}.questionnaire-question-rows label{display:flex;align-items:center;gap:.25rem;white-space:nowrap;font-size:.85rem}.danger-link{color:#9b2525;background:transparent;border:0;padding:.4rem}.questionnaire-editor-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.8rem;gap:.8rem}.questionnaire-editor-preview section{border:1px solid rgba(28,43,50,.13);border-radius:8px;padding:.8rem}.questionnaire-editor-preview h3{margin:0 0 .5rem;color:#165b55}.questionnaire-editor-preview section>div{display:flex;justify-content:space-between;gap:1rem;padding:.4rem 0;border-top:1px solid rgba(28,43,50,.08)}.questionnaire-editor-preview span{color:var(--muted,#5f6d72);font-size:.85rem}.questionnaire-version-panel{padding:1rem;border:1px solid rgba(28,43,50,.13);border-radius:8px;background:#f7f9f8;margin-bottom:1rem}
@media(max-width:900px){.questionnaire-question-rows>div{grid-template-columns:1fr 140px repeat(3,auto)}.questionnaire-question-rows .danger-link{grid-column:1/-1;justify-self:start}.pzfp-admin-global-brand>span{display:none}}
@media(max-width:760px){.pzfp-admin-global-header{height:60px;padding:0 8px}.pzfp-admin-global-brand .pzfp-logo,.pzfp-admin-global-brand .pzfp-logo img{width:42px;height:42px}.questionnaire-schema-editor>article>header{grid-template-columns:auto 1fr}.questionnaire-schema-editor>article>header>label{grid-column:1/-1}.questionnaire-question-rows>div{grid-template-columns:1fr}.questionnaire-editor-preview{grid-template-columns:1fr}.pzfp-admin-profile-trigger{border-left:0;margin-left:0;padding-left:2px}}


/* Admin header: neutral, balanced and collision-free */
.pzfp-admin-global-header{
  position:-webkit-sticky;
  position:sticky;
  top:0;
  z-index:70;
  height:72px;
  display:grid;
  grid-template-columns:minmax(72px,1fr) auto minmax(120px,1fr);
  align-items:center;
  padding:0 18px;
  background:#fff;
  border-bottom:1px solid #e4e5e2;
  box-shadow:0 1px 2px rgba(20,25,25,.04);
  color:#202526;
  -webkit-backdrop-filter:none;
          backdrop-filter:none;
}
.pzfp-admin-global-header>.pzfp-admin-header-icon:first-child{justify-self:start}
.pzfp-admin-global-brand{
  position:static;
  left:auto;
  transform:none;
  justify-self:center;
  display:block;
  width:270px;
  max-width:36vw;
  height:56px;
  color:inherit;
  text-decoration:none;
}
.pzfp-admin-global-brand .pzfp-logo{display:flex;width:100%;height:100%;align-items:center;justify-content:center;overflow:visible}
.pzfp-admin-global-brand .pzfp-logo img{display:block;width:100%;height:auto;max-height:52px;object-fit:contain}
.pzfp-admin-header-actions{justify-self:end;display:flex;align-items:center;gap:4px}
.pzfp-admin-header-icon,.pzfp-admin-design-trigger{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  padding:0;
  border:0;
  border-radius:10px;
  background:transparent;
  color:#202526;
}
.pzfp-admin-header-icon:hover,.pzfp-admin-design-trigger:hover,.pzfp-admin-profile-trigger:hover{background:#f3f3f1;color:#111}
.pzfp-admin-design-trigger.is-dirty::after{background:#f4c400}
.pzfp-admin-profile-trigger{
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  min-height:46px;
  margin-left:4px;
  padding:2px;
  border:0;
  border-radius:50%;
  background:transparent;
  color:#202526;
}
.pzfp-admin-profile-trigger img,.pzfp-admin-profile-trigger span{width:40px;height:40px;border-radius:50%}
.pzfp-admin-profile-trigger span{display:grid;place-items:center;background:#ececea;color:#202526;font-weight:800}
.pzfp-admin-profile-trigger b,.pzfp-admin-global-brand>span{display:none!important}
@media(max-width:760px){
  .pzfp-admin-global-header{height:62px;grid-template-columns:48px 1fr auto;padding:0 8px}
  .pzfp-admin-global-brand{width:min(210px,52vw);height:48px}
  .pzfp-admin-global-brand .pzfp-logo img{max-height:44px}
  .pzfp-admin-header-actions{gap:0}
  .pzfp-admin-profile-trigger{width:42px;height:42px;margin-left:0}
  .pzfp-admin-profile-trigger img,.pzfp-admin-profile-trigger span{width:36px;height:36px}
}

/* Fragebogen-Editor Phase 1 und zentraler Item-Katalog */
.questionnaire-schema-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,32%);grid-gap:1rem;gap:1rem;align-items:start}.questionnaire-schema-main{min-width:0}.questionnaire-live-preview{position:-webkit-sticky;position:sticky;top:76px;border:1px solid rgba(28,43,50,.13);border-radius:8px;background:#fff;padding:.8rem;max-height:calc(100vh - 96px);overflow:auto}.questionnaire-live-preview>div{display:flex;justify-content:space-between;gap:.5rem;align-items:center;margin-bottom:.7rem}.questionnaire-live-preview section{border-top:1px solid rgba(28,43,50,.1);padding:.7rem 0}.questionnaire-live-preview h3{font-size:.95rem;margin:0 0 .4rem}.questionnaire-live-preview section>div{display:flex;justify-content:space-between;gap:.7rem;padding:.25rem 0}.questionnaire-live-preview small{color:var(--muted,#5f6d72);white-space:nowrap}.questionnaire-bulk-toolbar{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap;padding:.6rem;border:1px solid rgba(28,43,50,.13);border-radius:7px;background:#f7f9f8;margin:.6rem 0}.questionnaire-bulk-toolbar select{min-height:36px}.questionnaire-drag-handle{cursor:-webkit-grab;cursor:grab;color:#69777b;font-weight:800;letter-spacing:-2px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.questionnaire-schema-editor>article>header{grid-template-columns:auto minmax(220px,1fr) auto}.questionnaire-question-rows>div{grid-template-columns:auto auto minmax(220px,1fr) 145px auto auto auto minmax(190px,auto)}.questionnaire-row-actions{display:flex;gap:.25rem;justify-content:flex-end}.questionnaire-row-actions button{padding:.35rem .45rem;font-size:.78rem}.questionnaire-section-actions{display:flex;gap:.45rem;flex-wrap:wrap}.questionnaire-answer-editor{grid-column:1/-1;padding:.65rem;border-top:1px solid rgba(28,43,50,.1);background:#fff;border-radius:6px}.questionnaire-answer-editor>div{display:grid;grid-template-columns:minmax(180px,1fr) minmax(150px,.7fr) auto auto;grid-gap:.4rem;gap:.4rem;align-items:center;margin-top:.4rem}.questionnaire-catalog-backdrop{position:fixed;inset:0;z-index:1200;background:rgba(16,24,28,.2);display:grid;place-items:center;padding:1rem}.questionnaire-catalog-dialog{width:min(720px,96vw);max-height:86vh;overflow:auto;background:#fff;border-radius:10px;border:1px solid rgba(28,43,50,.2);box-shadow:0 18px 54px rgba(0,0,0,.22);padding:1rem}.questionnaire-catalog-dialog>header{display:flex;justify-content:space-between;gap:1rem;align-items:start}.questionnaire-catalog-dialog h3{margin:.15rem 0 .8rem}.questionnaire-catalog-dialog>input{width:100%;min-height:42px;padding:.6rem;margin-bottom:.7rem}.questionnaire-catalog-results{display:grid;grid-gap:.35rem;gap:.35rem;margin-bottom:.7rem}.questionnaire-catalog-results>button{display:flex;justify-content:space-between;text-align:left;gap:1rem;padding:.7rem;border:1px solid rgba(28,43,50,.12);background:#fff}.questionnaire-catalog-results span,.questionnaire-catalog-results small{display:block}.questionnaire-catalog-results small{color:var(--muted,#5f6d72);margin-top:.15rem}.questionnaire-catalog-results b{font-size:.8rem;white-space:nowrap}
.questionnaire-item-catalog{display:grid;grid-template-columns:minmax(440px,42%) minmax(0,1fr);grid-gap:1rem;gap:1rem;align-items:start}.questionnaire-item-catalog .admin-panel{background:#fff;border:1px solid rgba(28,43,50,.12);border-radius:8px;padding:1rem}.questionnaire-item-catalog .admin-panel>header{display:flex;justify-content:space-between;gap:1rem;align-items:start;margin-bottom:1rem}.questionnaire-item-catalog h2{margin:.1rem 0}.item-catalog-list{position:-webkit-sticky;position:sticky;top:76px}.item-catalog-filters{display:grid;grid-template-columns:minmax(170px,1fr) 160px 150px auto;grid-gap:.45rem;gap:.45rem;align-items:center;margin-bottom:.7rem}.item-catalog-filters input,.item-catalog-filters select{min-height:40px;padding:.5rem;width:100%}.item-catalog-filters label{display:flex;gap:.3rem;align-items:center;white-space:nowrap}.item-catalog-table{border:1px solid rgba(28,43,50,.1);border-radius:7px;overflow:hidden}.item-catalog-head,.item-catalog-table>button{display:grid;grid-template-columns:minmax(180px,1.5fr) minmax(110px,1fr) 120px 80px 75px;grid-gap:.5rem;gap:.5rem;align-items:center}.item-catalog-head{padding:.55rem;background:#f2f5f4;font-weight:800;font-size:.8rem}.item-catalog-table>button{width:100%;padding:.65rem;text-align:left;background:#fff;border:0;border-top:1px solid rgba(28,43,50,.08)}.item-catalog-table>button:hover,.item-catalog-table>button.active{background:#f4f8f6}.item-catalog-table>button span,.item-catalog-table>button small{display:block}.item-catalog-table>button small{color:var(--muted,#5f6d72);margin-top:.1rem}.item-catalog-empty{min-height:280px;display:grid;place-content:center;text-align:center;color:var(--muted,#5f6d72)}.item-usage-badge{padding:.35rem .55rem;border-radius:999px;background:#eef4f2;font-size:.8rem}.item-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.7rem;gap:.7rem}.item-editor-grid label{display:grid;grid-gap:.3rem;gap:.3rem}.item-editor-grid label>span{font-weight:700}.item-editor-grid input,.item-editor-grid select,.item-editor-grid textarea{width:100%;min-height:40px;padding:.55rem}.item-editor-grid textarea{min-height:80px;resize:vertical}.item-editor-grid .wide{grid-column:1/-1}.item-answer-options{margin-top:1rem;border:1px solid rgba(28,43,50,.12);border-radius:7px;padding:.7rem}.item-answer-options>div:first-child{display:flex;justify-content:space-between;align-items:center}.item-answer-options h3{margin:0}.item-answer-options>div:not(:first-child){display:grid;grid-template-columns:30px minmax(160px,1fr) minmax(140px,.8fr) auto auto auto auto;grid-gap:.35rem;gap:.35rem;align-items:center;padding:.4rem 0;border-top:1px solid rgba(28,43,50,.08)}.item-answer-options input{min-height:38px;padding:.45rem}.item-option-order{text-align:center;color:var(--muted,#5f6d72)}.item-display-settings{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1rem;border:1px solid rgba(28,43,50,.12);border-radius:7px;padding:.7rem}.item-display-settings legend{font-weight:800;padding:0 .3rem}.item-display-settings label{display:flex;gap:.3rem;align-items:center}.item-editor-actions{display:flex;justify-content:space-between;gap:.6rem;margin-top:1rem}
@media(max-width:1200px){.questionnaire-schema-workspace{grid-template-columns:1fr}.questionnaire-live-preview{position:static;max-height:none}.questionnaire-item-catalog{grid-template-columns:1fr}.item-catalog-list{position:static}.questionnaire-question-rows>div{grid-template-columns:auto auto minmax(210px,1fr) 135px repeat(3,auto)}.questionnaire-row-actions{grid-column:3/-1;justify-content:flex-start}.item-catalog-filters{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.questionnaire-question-rows>div{grid-template-columns:auto auto 1fr}.questionnaire-question-rows .question-label,.questionnaire-question-rows select,.questionnaire-question-rows label,.questionnaire-row-actions{grid-column:1/-1}.questionnaire-answer-editor>div{grid-template-columns:1fr}.questionnaire-bulk-toolbar{align-items:stretch}.questionnaire-bulk-toolbar>*{width:100%}.item-catalog-filters,.item-editor-grid{grid-template-columns:1fr}.item-editor-grid .wide{grid-column:auto}.item-catalog-head{display:none}.item-catalog-table>button{grid-template-columns:1fr auto}.item-catalog-table>button>span:nth-child(2),.item-catalog-table>button>span:nth-child(3){display:none}.item-answer-options>div:not(:first-child){grid-template-columns:1fr}.item-option-order{display:none}.item-editor-actions{display:grid}.item-editor-actions>*{width:100%}}

/* Fragebogen-Designer: breite Arbeitsfläche, skalierbare Vorschau und Formlogik */
.questionnaire-page{max-width:none!important;width:100%;padding-inline:clamp(.75rem,2vw,2rem)}
.questionnaire-page>.content{max-width:none!important;width:100%}
.questionnaire-schema-workspace{grid-template-columns:minmax(0,1fr) var(--questionnaire-preview-width,360px);gap:1rem}
.questionnaire-schema-workspace.preview-collapsed{grid-template-columns:minmax(0,1fr) 150px}
.questionnaire-live-preview{min-width:0}
.questionnaire-preview-head{display:grid!important;grid-template-columns:1fr auto;grid-gap:.35rem!important;gap:.35rem!important;align-items:center!important}
.questionnaire-preview-head .eyebrow{grid-column:1}.questionnaire-preview-head strong{grid-column:1}.questionnaire-preview-head button{grid-column:2;grid-row:1/3;align-self:center;padding:.4rem .55rem}
.questionnaire-preview-size{display:grid;grid-template-columns:auto minmax(100px,1fr) auto;grid-gap:.5rem;gap:.5rem;align-items:center;padding:.45rem 0 .65rem;border-bottom:1px solid rgba(28,43,50,.1);font-size:.8rem}
.questionnaire-preview-size input{width:100%}
.questionnaire-question-details{grid-column:1/-1;display:grid;grid-gap:.65rem;gap:.65rem;background:#fff;border:1px solid rgba(28,43,50,.1);border-radius:7px;padding:.7rem}
.questionnaire-question-details .questionnaire-answer-editor{border:0;padding:0}
.questionnaire-logic-editor,.questionnaire-repeat-editor{display:grid;grid-gap:.5rem;gap:.5rem;border-top:1px solid rgba(28,43,50,.1);padding-top:.65rem}
.questionnaire-logic-editor>div:first-child,.questionnaire-repeat-editor>div:first-child{display:flex;justify-content:space-between;gap:1rem;align-items:baseline}
.questionnaire-rule-row{display:grid;grid-template-columns:auto minmax(190px,1.4fr) 145px minmax(130px,1fr) auto;grid-gap:.4rem;gap:.4rem;align-items:center}
.questionnaire-repeat-row{display:grid;grid-template-columns:minmax(200px,1fr) 170px auto auto;grid-gap:.4rem;gap:.4rem;align-items:center}
.questionnaire-rule-row input,.questionnaire-rule-row select,.questionnaire-repeat-row input,.questionnaire-repeat-row select{min-height:38px;padding:.45rem;width:100%}
.questionnaire-repeat-row label{display:flex;align-items:center;gap:.3rem;white-space:nowrap}
@media(max-width:1100px){.questionnaire-schema-workspace,.questionnaire-schema-workspace.preview-collapsed{grid-template-columns:1fr}.questionnaire-live-preview{position:static}.questionnaire-rule-row,.questionnaire-repeat-row{grid-template-columns:1fr 1fr}.questionnaire-rule-row>span,.questionnaire-rule-row>.danger-link,.questionnaire-repeat-row>.danger-link{grid-column:1/-1;justify-self:start}}
@media(max-width:700px){.questionnaire-rule-row,.questionnaire-repeat-row{grid-template-columns:1fr}.questionnaire-logic-editor>div:first-child,.questionnaire-repeat-editor>div:first-child{display:grid}}

/* PZFP UI Framework – gemeinsame Seitenkomposition */
.pzfp-layout { min-height: 100%; color: var(--pzfp-color-text, #222); }
.pzfp-layout__header { position: relative; z-index: 2; }
.pzfp-layout__body {
  width: min(var(--pzfp-content-width, 1440px), 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-gap: var(--pzfp-space-5, 20px);
  gap: var(--pzfp-space-5, 20px);
  padding: var(--pzfp-space-6, 24px);
}
.pzfp-layout__body.has-sidebar { grid-template-columns: minmax(190px, 240px) minmax(0, 1fr); }
.pzfp-layout__body.has-context { grid-template-columns: minmax(0, 1fr) minmax(240px, 320px); }
.pzfp-layout__body.has-sidebar.has-context { grid-template-columns: minmax(190px, 240px) minmax(0, 1fr) minmax(240px, 320px); }
.pzfp-layout__sidebar,
.pzfp-layout__context { min-width: 0; }
.pzfp-layout__content { min-width: 0; }
.pzfp-layout__bottom-nav { display: none; }

.pzfp-section { margin-block: 0 var(--pzfp-space-section, 38px); }
.pzfp-section:last-child { margin-bottom: 0; }

.pzfp-quick-action {
  min-width: 0;
  min-height: 92px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  align-items: center;
  grid-gap: var(--pzfp-space-3, 12px);
  gap: var(--pzfp-space-3, 12px);
  padding: var(--pzfp-space-4, 16px);
  border: 1px solid var(--pzfp-color-border, #ddd);
  border-radius: var(--pzfp-radius-md, 14px);
  background: var(--pzfp-color-surface, #fff);
  color: var(--pzfp-color-text, #222);
  text-decoration: none;
  box-shadow: var(--pzfp-shadow-card, 0 10px 30px rgba(32,32,32,.06));
  transition: transform var(--pzfp-transition-fast, 140ms ease), border-color var(--pzfp-transition-fast, 140ms ease), box-shadow var(--pzfp-transition-fast, 140ms ease);
}
.pzfp-quick-action:hover { transform: translateY(-1px); border-color: var(--pzfp-color-primary, #f4c400); box-shadow: 0 12px 32px rgba(32,32,32,.09); }
.pzfp-quick-action:active { transform: scale(.99); }
.pzfp-quick-action__icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: var(--pzfp-radius-sm, 8px); background: color-mix(in srgb, var(--pzfp-color-primary, #f4c400) 22%, white); font-weight: 900; }
.pzfp-quick-action__body { min-width: 0; display: grid; grid-gap: 3px; gap: 3px; }
.pzfp-quick-action__body strong { overflow: hidden; text-overflow: ellipsis; }
.pzfp-quick-action__body small { color: var(--pzfp-color-text-muted, var(--pzfp-color-muted, #666)); line-height: 1.35; }
.pzfp-quick-action__meta { display: inline-flex; }
.pzfp-quick-action__arrow { font-size: 1.2rem; color: var(--pzfp-color-muted, #666); }

@media (max-width: 980px) {
  .pzfp-layout__body.has-sidebar,
  .pzfp-layout__body.has-context,
  .pzfp-layout__body.has-sidebar.has-context { grid-template-columns: minmax(0, 1fr); }
  .pzfp-layout__sidebar,
  .pzfp-layout__context { order: 2; }
}

@media (max-width: 640px) {
  .pzfp-layout__body { padding: var(--pzfp-space-4, 16px) var(--pzfp-space-3, 12px) calc(72px + env(safe-area-inset-bottom)); }
  .pzfp-layout__bottom-nav {
    position: fixed;
    z-index: 45;
    left: 0;
    right: 0;
    bottom: 0;
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: space-around;
    gap: 4px;
    padding: 6px 8px calc(6px + env(safe-area-inset-bottom));
    border-top: 1px solid var(--pzfp-color-border, #ddd);
    background: color-mix(in srgb, var(--pzfp-color-surface, #fff) 94%, transparent);
    -webkit-backdrop-filter: blur(12px);
            backdrop-filter: blur(12px);
  }
  .pzfp-quick-action { min-height: 82px; padding: 14px; }
  .pzfp-quick-action__meta { display: none; }
}

/* UI-Pilot 2 · Patienten: gemeinsame Framework-Bausteine */
.patient-search-page-v2 .pzfp-layout__content{width:min(1180px,100%);margin:0 auto;padding:var(--pzfp-space-6,24px) var(--pzfp-space-4,16px) var(--pzfp-space-8,32px)}
.patient-search-page-v2 .patient-registry-simple{min-height:auto}
.patient-search-page-v2 .patient-search-main{width:min(54rem,100%);margin:0 auto 1.25rem}
.patient-search-page-v2 .patient-search-main .pzfp-search-field{min-height:4rem;border-radius:var(--pzfp-radius-md,12px);box-shadow:0 8px 24px rgba(27,55,45,.06)}
.patient-search-page-v2 .patient-search-main .pzfp-search-field input{font-size:1.08rem}
.patient-search-hint{margin:.5rem .25rem 0;color:var(--pzfp-color-text-muted,var(--muted,#69736f));font-size:.84rem;line-height:1.45}
.patient-search-page-v2 .patient-medicus-import{width:min(54rem,100%);margin:0 auto;padding:var(--pzfp-space-5,20px);border-radius:var(--pzfp-radius-md,12px)}
.patient-medicus-import-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.patient-medicus-import-head .eyebrow{margin:0 0 .2rem}
.patient-medicus-import-head h2{font-size:1.05rem}
.patient-search-page-v2 .patient-autocomplete-results{border-radius:var(--pzfp-radius-md,12px);box-shadow:0 16px 40px rgba(27,55,45,.14);overflow:hidden}
.patient-search-page-v2 .patient-autocomplete-results button{padding:.8rem 1rem}
.patient-search-page-v2 .patient-autocomplete-results button small{line-height:1.35}
.patient-search-page-v2 .patient-create-card{width:min(54rem,100%);margin:1rem auto 5rem}
@media(max-width:760px){.patient-search-page-v2 .pzfp-layout__content{padding:18px 12px 72px}.patient-search-page-v2 .pzfp-page-header__actions{width:100%}.patient-search-page-v2 .pzfp-page-header__actions .pzfp-button{width:100%}.patient-search-page-v2 .patient-search-main .pzfp-search-field{min-height:3.7rem}.patient-search-hint{font-size:.8rem}.patient-search-page-v2 .patient-medicus-import{padding:16px}.patient-medicus-import-head{align-items:center}}


/* PZFP Desktop Navigation Rail v1 – schmale permanente Navigation, optional aufgeklappt */
@media (min-width: 1025px){
  .pzfp-admin-shell-content.has-desktop-rail{margin-left:72px;transition:margin .18s ease}
  .pzfp-nav-drawer.is-desktop-rail{position:fixed;left:0;top:var(--pzfp-header-height,76px);bottom:0;z-index:65;width:72px;height:auto;display:grid;grid-template-rows:auto 1fr;background:var(--pzfp-color-surface,#fff);border-right:1px solid var(--pzfp-color-border,#dedfd9);box-shadow:none;overflow:hidden;animation:none}
  .pzfp-nav-drawer.is-desktop-rail>header{min-height:58px;padding:7px;justify-content:center;border-bottom:1px solid var(--pzfp-color-border,#dedfd9)}
  .pzfp-nav-drawer.is-desktop-rail>header>strong{display:none}
  .pzfp-nav-drawer.is-desktop-rail>header>div{display:block}
  .pzfp-nav-drawer.is-desktop-rail>header button{display:grid;place-items:center;width:44px;height:44px;font-size:1rem}
  .pzfp-nav-drawer.is-desktop-rail .pzfp-nav-search{display:none}
  .pzfp-nav-drawer.is-desktop-rail nav{padding:8px 7px 24px;overflow-y:auto;overflow-x:hidden}
  .pzfp-nav-drawer.is-desktop-rail nav section{padding:4px 0}
  .pzfp-nav-drawer.is-desktop-rail nav h2{height:1px;margin:5px 6px;padding:0;background:var(--pzfp-color-border,#dedfd9);font-size:0;overflow:hidden}
  .pzfp-nav-drawer.is-desktop-rail .pzfp-nav-row{display:block;margin:2px 0}
  .pzfp-nav-drawer.is-desktop-rail .pzfp-nav-row>a{position:relative;display:grid;place-items:center;width:56px;height:50px;padding:0;border-radius:12px;color:var(--pzfp-color-muted,#667085);text-decoration:none}
  .pzfp-nav-drawer.is-desktop-rail .pzfp-nav-row>a:hover{background:#f5f3ea;color:var(--pzfp-color-text,#202124)}
  .pzfp-nav-drawer.is-desktop-rail .pzfp-nav-row>a.is-active{background:color-mix(in srgb,var(--pzfp-color-primary,#f4c400) 22%,white);color:var(--pzfp-color-text,#202124)}
  .pzfp-nav-drawer.is-desktop-rail .pzfp-nav-row>a.is-active:before{content:"";position:absolute;left:-7px;top:10px;bottom:10px;width:4px;border-radius:0 4px 4px 0;background:var(--pzfp-color-primary,#f4c400)}
  .pzfp-nav-drawer.is-desktop-rail .pzfp-nav-row>a>svg{width:24px;height:24px;flex:0 0 auto}
  .pzfp-nav-drawer.is-desktop-rail .pzfp-nav-row>a>span,
  .pzfp-nav-drawer.is-desktop-rail .pzfp-nav-row>button{display:none}
  .pzfp-admin-shell-content.has-pinned-navigation{margin-left:260px}
  .pzfp-nav-drawer.is-pinned{width:260px}
  .pzfp-nav-drawer.is-pinned .pzfp-nav-row>a.is-active{background:color-mix(in srgb,var(--pzfp-color-primary,#f4c400) 16%,white)}
  .pzfp-admin-global-header{padding-left:18px}
}
@media (max-width: 1024px){
  .pzfp-nav-drawer.is-desktop-rail{display:none}
  .pzfp-admin-shell-content.has-desktop-rail{margin-left:0}
}

/* Patienten-Suchseite slim + Desktop-Navigation v2 */
.patient-search-page-slim .pzfp-layout__body{display:block;padding-top:clamp(28px,5vw,64px)}
.patient-search-page-slim .pzfp-layout__content{width:min(900px,100%);margin:0 auto;padding:0 18px 72px}
.patient-search-page-slim .patient-registry-slim{display:grid;grid-gap:28px;gap:28px;min-height:auto}
.patient-search-page-slim .patient-search-primary{width:100%;margin:0}
.patient-search-page-slim .patient-search-primary .pzfp-search-field{min-height:64px;border-radius:14px;box-shadow:0 8px 26px rgba(27,55,45,.07)}
.patient-search-page-slim .patient-search-primary .pzfp-search-field input{font-size:1.08rem}
.patient-search-page-slim .patient-medicus-search{width:100%;margin:0;padding:0;border:0;background:transparent;box-shadow:none}
.patient-search-page-slim .patient-medicus-search>h2{margin:0 0 10px;font-size:1rem;font-weight:800}
.patient-search-page-slim .patient-medicus-import-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:10px;gap:10px}
.patient-search-page-slim .patient-medicus-import-row input{min-height:50px;border-radius:12px}
.patient-search-page-slim .patient-medicus-import-row button{min-width:110px;border-radius:12px}
.patient-search-page-slim .patient-medicus-import-status{margin-top:10px}
.patient-search-page-slim .patient-medicus-preview{margin-top:16px}
@media(max-width:760px){.patient-search-page-slim .pzfp-layout__body{padding-top:22px}.patient-search-page-slim .pzfp-layout__content{padding:0 12px 60px}.patient-search-page-slim .patient-registry-slim{gap:22px}.patient-search-page-slim .patient-search-primary .pzfp-search-field{min-height:58px}.patient-search-page-slim .patient-medicus-import-row{grid-template-columns:1fr}.patient-search-page-slim .patient-medicus-import-row button{width:100%}}

@media(min-width:1025px){
  .pzfp-admin-shell-content.has-desktop-rail{margin-left:52px}
  .pzfp-nav-drawer.is-desktop-rail{width:52px;grid-template-rows:auto;background:var(--pzfp-color-surface,#fff)}
  .pzfp-nav-drawer.is-desktop-rail>header{min-height:58px;padding:6px;border-bottom:0}
  .pzfp-nav-drawer.is-desktop-rail>header button{width:40px;height:40px;font-size:1.1rem}
  .pzfp-nav-drawer.is-desktop-rail nav{display:none}
  .pzfp-admin-shell-content.has-pinned-navigation{margin-left:300px}
  .pzfp-nav-drawer.is-pinned{width:300px}
  .pzfp-nav-drawer .pzfp-nav-row>a span small{display:none}
  .pzfp-nav-drawer.is-pinned .pzfp-nav-row>a{min-height:42px}
  .pzfp-nav-drawer.is-pinned .pzfp-nav-row>a>svg{width:20px;height:20px}
}
.pzfp-nav-search{position:relative}
.pzfp-nav-search input{padding-right:34px}
.pzfp-nav-search-clear{position:absolute;right:7px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--pzfp-color-muted,#667085);font-size:1.15rem;line-height:1;cursor:pointer}
.pzfp-nav-search-clear:hover{background:#f2f2ee;color:var(--pzfp-color-text,#202124)}


/* UI-Pilot 3: Patientenakte – ruhiger Rahmen und kontextuelle Desktop-Navigation (11.08.2026). */
.patient-record-page__content{width:min(100%,1180px);margin-inline:auto}
.patient-context-nav{display:flex;grid-column:1/-1;align-items:center;gap:.25rem;margin-top:.45rem;padding-top:.55rem;border-top:1px solid var(--line,#dfe6e3);overflow-x:auto;scrollbar-width:thin}
.patient-context-nav a,.patient-context-nav button{flex:0 0 auto;min-height:2.25rem;padding:.42rem .68rem;border:0;border-radius:7px;background:transparent;color:inherit;font:inherit;font-size:.86rem;font-weight:700;text-decoration:none;cursor:pointer}
.patient-context-nav a:hover,.patient-context-nav button:hover{background:var(--surface-muted,#f1f5f3)}
.patient-context-nav button.active{background:#fff1b8;color:#171b19}
@media(min-width:761px){
  .patient-dashboard>.patient-summary-card{grid-template-columns:minmax(0,1fr) auto!important;grid-template-rows:auto auto auto auto!important;grid-template-areas:"patient medicus" "open medicus" "appointment medicus" "context context"!important;padding:.85rem 1rem!important}
  .patient-dashboard>.patient-summary-card>.secondary-button{grid-area:medicus;align-self:start}
  .patient-dashboard>.patient-summary-card .patient-nav-trigger{display:none}
}
@media(max-width:760px){
  .patient-record-page__content{width:100%}
  .patient-context-nav{display:none}
}


/* UI-Framework Pilot: Substitutionsliste */
.substitution-lists-page-v2 .pzfp-layout__content{width:100%;max-width:none}
.substitution-lists-shell{width:min(1880px,calc(100vw - 2.5rem));margin:0 auto;padding:1rem 0 2rem}
.substitution-lists-shell>.pzfp-page-header{margin-bottom:.55rem}
.substitution-lists-page-v2 .substitution-list-page{width:100%!important;max-width:none!important;margin:0!important;transform:none!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
.substitution-list-status-intro{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.8rem;color:var(--muted,#65716b)}
.substitution-list-status-intro span{font-weight:750;color:var(--text,#17221d)}
.substitution-list-status-intro small{text-align:right}
.substitution-snapshot-card{margin:.75rem 0 1rem;padding:.85rem 1rem;border:1px solid var(--line,#d9dee5);border-radius:var(--radius-lg,.9rem);background:var(--surface,#fff)}
.substitution-snapshot-card p{margin:.28rem 0 0;color:var(--muted,#65716b)}
.substitution-list-filter{display:grid;grid-gap:.3rem;gap:.3rem;width:min(38rem,100%);margin-top:1rem}
.substitution-list-filter>small{padding-left:.2rem;color:var(--muted,#65716b)}
.substitution-lists-page-v2 .substitution-control-toolbar{margin-top:.7rem;background:var(--surface,#fff);border-color:var(--line,#d9dee5)}
.substitution-lists-page-v2 .substitution-control-table-wrap{border-radius:var(--radius-lg,.9rem);box-shadow:0 1px 2px rgba(15,23,42,.03)}
@media(max-width:760px){
  .substitution-lists-shell{width:100%;padding:.5rem .75rem 5rem}
  .substitution-list-status-intro{display:grid;grid-gap:.15rem;gap:.15rem}
  .substitution-list-status-intro small{text-align:left}
}

/* PZFP Data Workspace v1 – zentrale Arbeitslisten- und Tabellenbasis */
.pzfp-data-workspace{
  width:100%;
  min-width:0;
  display:grid;
  grid-gap:var(--pzfp-space-3,12px);
  gap:var(--pzfp-space-3,12px);
}
.pzfp-data-workspace--compact{gap:10px}
.pzfp-data-table{
  width:100%;
  min-width:0;
  overflow:auto;
  overscroll-behavior-inline:contain;
  border:1px solid var(--pzfp-color-border,var(--line,#d9dee5));
  border-radius:var(--pzfp-radius-md,var(--radius-lg,14px));
  background:var(--pzfp-color-surface,var(--surface,#fff));
  box-shadow:0 1px 2px rgba(15,23,42,.035);
  scrollbar-gutter:stable;
}
.pzfp-data-table:focus-visible{outline:2px solid var(--pzfp-color-primary,#f4c400);outline-offset:2px}
.pzfp-data-table>table{margin:0}

/* Substitutionsliste als erster Pilot der breiten Desktop-Arbeitsfläche */
.substitution-lists-page-v2 .pzfp-layout__body{
  width:100%;
  max-width:none;
  padding:18px clamp(18px,2vw,34px) 34px;
}
.substitution-lists-page-v2 .substitution-lists-shell{
  width:100%;
  max-width:2200px;
  margin:0 auto;
  padding:0;
}
.substitution-lists-page-v2 .pzfp-page-header{margin-bottom:8px}
.substitution-lists-page-v2 .pzfp-page-header h1{font-size:clamp(1.75rem,2vw,2.25rem)}
.substitution-lists-page-v2 .substitution-list-status-intro{margin-bottom:6px}
.substitution-lists-page-v2 .substitution-snapshot-card{margin:4px 0 6px;padding:10px 14px}
.substitution-lists-page-v2 .substitution-snapshot-card p{font-size:.88rem}
.substitution-lists-page-v2 .substitution-list-filter{
  width:min(34rem,100%);
  margin:0;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
}
.substitution-lists-page-v2 .substitution-list-filter>small{padding:0;white-space:nowrap}
.substitution-lists-page-v2 .substitution-control-toolbar{
  margin:0;
  padding:8px 10px;
  gap:6px;
  border-radius:12px;
}
.substitution-lists-page-v2 .substitution-control-toolbar strong{font-size:.9rem}
.substitution-lists-page-v2 .substitution-control-toolbar button{min-height:34px;padding:5px 10px;font-size:.84rem}
.substitution-lists-page-v2 .substitution-control-table-wrap{margin:0!important;border-radius:14px}

@media(min-width:1000px){
  .substitution-lists-page-v2 .substitution-data-workspace{gap:10px}
  .substitution-lists-page-v2 .substitution-control-table{min-width:1560px}
  .substitution-lists-page-v2 .substitution-control-table th,
  .substitution-lists-page-v2 .substitution-control-table td{padding:.72rem .78rem}
  .substitution-lists-page-v2 .substitution-control-table th{font-size:.82rem;line-height:1.25}
  .substitution-lists-page-v2 .substitution-control-table td{font-size:.92rem;line-height:1.35}
  .substitution-lists-page-v2 .substitution-control-table td small{font-size:.78rem;line-height:1.32}
  .substitution-lists-page-v2 .substitution-control-table th:first-child,
  .substitution-lists-page-v2 .substitution-control-table td:first-child{min-width:15rem}
  .substitution-lists-page-v2 .substitution-control-table th:last-child,
  .substitution-lists-page-v2 .substitution-control-table td:last-child{min-width:5.5rem}
}
@media(min-width:1500px){
  .substitution-lists-page-v2 .substitution-control-table{min-width:100%;table-layout:auto}
}
@media(max-width:760px){
  .substitution-lists-page-v2 .pzfp-layout__body{padding:10px 12px 72px}
  .substitution-lists-page-v2 .substitution-list-filter{grid-template-columns:1fr}
  .substitution-lists-page-v2 .substitution-list-filter>small{white-space:normal}
}

/* Substitutionsliste Designrunde 2 – Ansichten, Sortierung und ruhige Prüfungsdarstellung */
.pzfp-sortable-header{display:flex;align-items:center;justify-content:space-between;gap:.45rem;width:100%;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:800;text-align:left;cursor:pointer}
.pzfp-sortable-header__indicator{flex:0 0 auto;color:#8a948f;font-size:.78rem;font-weight:700}
.pzfp-sortable-header:hover .pzfp-sortable-header__indicator,.pzfp-sortable-header.is-active .pzfp-sortable-header__indicator{color:var(--pzfp-color-text,#202124)}
.pzfp-sortable-header:focus-visible{outline:2px solid var(--pzfp-color-primary,#f4c400);outline-offset:4px;border-radius:4px}
.substitution-view-tabs{display:flex;align-items:flex-end;gap:2px;overflow-x:auto;border-bottom:1px solid var(--line,#d9dee5);scrollbar-width:thin}
.substitution-view-tabs button{flex:0 0 auto;min-height:42px;padding:9px 15px;border:0;border-bottom:2px solid transparent;border-radius:7px 7px 0 0;background:transparent;color:var(--muted,#65716b);font:inherit;font-size:.9rem;font-weight:750;cursor:pointer}
.substitution-view-tabs button:hover{background:#f7f7f3;color:var(--text,#17221d)}
.substitution-view-tabs button.is-active{border-bottom-color:var(--pzfp-color-primary,#f4c400);background:#fffdf3;color:var(--text,#17221d)}
.substitution-check-toolbar{display:grid;grid-gap:8px;gap:8px;padding:10px 12px;border:1px solid var(--line,#d9dee5);border-radius:8px;background:var(--surface,#fff)}
.substitution-check-toolbar__title{display:flex;align-items:center;justify-content:space-between;gap:12px}
.substitution-check-toolbar__title strong{font-size:.9rem}
.substitution-check-toolbar__title button{min-height:32px;padding:5px 10px;border-radius:6px;font-size:.82rem}
.substitution-check-toolbar__filters{display:flex;gap:5px;flex-wrap:wrap}
.substitution-check-toolbar__filters button{min-height:32px;padding:5px 10px;border:1px solid #d6dcd8;border-radius:6px;background:#fafbf9;color:#3e4743;font:inherit;font-size:.82rem;font-weight:700;cursor:pointer}
.substitution-check-toolbar__filters button:hover{border-color:#b9c2bd;background:#f3f5f2}
.substitution-check-toolbar__filters button.is-active{border-color:#d7ad00;background:#fff5c2;color:#2d302d}
.substitution-patient-link{display:grid;grid-gap:2px;gap:2px;color:inherit;text-decoration:none}
.substitution-patient-link:hover strong{text-decoration:underline;text-underline-offset:2px}
.substitution-view-empty{padding:28px 24px;border:1px dashed var(--line,#d9dee5);border-radius:10px;background:#fafbf9}
.substitution-view-empty strong{display:block;margin-bottom:5px;font-size:1rem}
.substitution-view-empty p{max-width:58rem;margin:0;color:var(--muted,#65716b)}
.substitution-control-table tbody tr.status-yellow td,.substitution-control-table tbody tr.status-red td{background:transparent}
.substitution-control-table td.is-alert{background:#fff4f4!important;box-shadow:inset 3px 0 0 #cf4b4b}
.substitution-control-table td.is-warning{background:#fffaf0!important;box-shadow:inset 3px 0 0 #d6a72c}
.substitution-control-table td.is-alert strong{color:#8d2020}
.substitution-control-table td.is-warning strong{color:#735500}
.substitution-overview-table{min-width:920px!important}
.substitution-overview-table th:first-child,.substitution-overview-table td:first-child{min-width:17rem!important}
@media(max-width:760px){
  .substitution-view-tabs{margin-inline:-2px}
  .substitution-view-tabs button{min-height:40px;padding:8px 11px;font-size:.84rem}
  .substitution-check-toolbar__title{align-items:flex-start;flex-direction:column}
  .substitution-check-toolbar__filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  .substitution-check-toolbar__filters button{text-align:left}
}

/* Public go-live navigation and responsive department overview */
.public-site-header {
  width: min(1040px, 100%);
  margin: 0 auto 16px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  grid-gap: 14px;
  gap: 14px;
  position: relative;
  z-index: 40;
}

.public-site-logo {
  display: inline-flex;
  width: min(430px, 76vw);
  max-width: 100%;
  color: inherit;
  text-decoration: none;
}

.public-site-logo .pzfp-logo {
  width: 100%;
}

.public-site-menu {
  position: relative;
}

.public-site-menu > summary {
  list-style: none;
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(34,34,34,.14);
  border-radius: 14px;
  background: #fff;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(0,0,0,.055);
}

.public-site-menu > summary::-webkit-details-marker {
  display: none;
}

.public-site-menu-icon {
  font-size: 1.75rem;
  line-height: 1;
}

.public-site-menu-panel {
  position: absolute;
  top: calc(100% + 9px);
  right: 0;
  width: min(390px, calc(100vw - 24px));
  max-height: min(76vh, 680px);
  overflow-y: auto;
  display: grid;
  grid-gap: 4px;
  gap: 4px;
  padding: 14px;
  border: 1px solid rgba(34,34,34,.12);
  border-radius: 18px;
  background: rgba(255,255,255,.985);
  box-shadow: 0 24px 60px rgba(0,0,0,.18);
}

.public-site-menu-panel a {
  display: block;
  border-radius: 10px;
  padding: 9px 10px;
  color: #292929;
  text-decoration: none;
  font-weight: 700;
}

.public-site-menu-panel a:hover,
.public-site-menu-panel a:focus-visible {
  background: #fff4c6;
}

.public-site-menu-home {
  font-size: 1.05rem;
}

.public-site-menu-group {
  display: grid;
  grid-gap: 2px;
  gap: 2px;
  padding: 10px 0;
  border-top: 1px solid #ece7dd;
}

.public-site-menu-group > strong {
  padding: 4px 10px;
  font-size: .82rem;
  color: #6a655d;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.public-menu-submenu {
  display: grid;
  grid-template-columns: 1fr;
}

.public-menu-submenu a {
  padding-left: 18px;
  font-size: .93rem;
}

.public-site-menu-legal,
.public-site-menu-internal {
  display: flex;
  flex-wrap: wrap;
  gap: 2px 7px;
  padding-top: 10px;
  border-top: 1px solid #ece7dd;
}

.public-site-menu-legal a,
.public-site-menu-internal a {
  font-size: .88rem;
  font-weight: 600;
}

.public-site-menu-internal {
  margin-top: 2px;
}

.test-department-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.test-department-button {
  min-width: 0;
  align-content: stretch;
  gap: 12px;
}

.test-department-card-head {
  width: 100%;
  min-width: 0;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.test-department-button strong {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
  -webkit-hyphens: auto;
          hyphens: auto;
  font-size: clamp(1.22rem, 2.5vw, 2rem);
}

.test-opening-badge {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  border-radius: 999px;
  padding: 5px 9px;
  font-size: .78rem;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.test-opening-badge-open {
  background: #dff3da;
  color: #236124;
}

.test-opening-badge-later {
  background: #fff1c5;
  color: #6d5200;
}

.test-opening-badge-closed,
.test-opening-badge-unknown {
  background: #ededed;
  color: #4a4a4a;
}

.test-department-opening-lines {
  display: grid;
  grid-gap: 3px;
  gap: 3px;
  color: #4d4d4d;
  font-weight: 650;
  line-height: 1.25;
}

.test-department-opening-lines small {
  font-size: .88rem;
}

.public-department-nav a {
  min-width: 0;
  max-width: 100%;
}

@media (min-width: 761px) {
  .public-department-nav {
    overflow: visible;
  }

  .public-department-nav__track {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-gap: 10px;
    gap: 10px;
  }

  .public-department-nav a,
  .public-department-nav__item {
    white-space: normal;
    overflow-wrap: anywhere;
    text-align: center;
  }
}

@media (max-width: 760px) {
  .public-site-header {
    margin-bottom: 12px;
    gap: 8px;
  }

  .public-site-logo {
    width: min(340px, calc(100vw - 82px));
  }

  .public-site-menu > summary {
    width: 44px;
    height: 44px;
  }

  .test-department-grid {
    grid-template-columns: 1fr;
  }

  .test-department-button {
    min-height: 92px;
    padding: 15px 16px;
    border-radius: 16px;
  }

  .test-department-card-head {
    align-items: center;
  }

  .test-department-button strong {
    font-size: 1.12rem;
    letter-spacing: -.02em;
  }

  .test-department-opening-lines {
    padding-right: 78px;
  }
}

@media (max-width: 420px) {
  .test-department-card-head {
    gap: 8px;
  }

  .test-opening-badge {
    font-size: .72rem;
    padding-inline: 8px;
  }

  .test-department-opening-lines {
    padding-right: 0;
  }
}

/* Admin mobile navigation: drawer-only, never pinned */
@media (max-width:760px) {
  .pzfp-admin-shell-content.has-pinned-navigation,
  .pzfp-admin-shell-content.has-desktop-rail {
    margin-left: 0 !important;
  }

  .pzfp-nav-overlay-mobile {
    inset: 0;
  }

  .pzfp-nav-overlay-mobile .pzfp-nav-drawer {
    position: relative !important;
    inset: auto !important;
    width: min(430px, 100vw) !important;
    max-width: 100vw;
    height: 100dvh !important;
    min-height: 100dvh;
  }

  .pzfp-nav-drawer.is-pinned {
    position: relative !important;
    width: min(430px, 100vw) !important;
  }
}


/* PZFP Shell v5 – sticky Kopfbereich mit Avatar und icon-only Schnellzugriffen */
.pzfp-admin-sticky-stack{position:-webkit-sticky;position:sticky;top:0;z-index:150;background:rgba(255,255,255,.97);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 5px 18px rgba(20,22,24,.055)}
.pzfp-admin-sticky-stack .pzfp-admin-global-header{position:relative;top:auto;z-index:auto;box-shadow:none}
.pzfp-admin-sticky-stack .pzfp-admin-profile-menu{position:absolute;top:68px;right:24px}
.pzfp-admin-profile-trigger{width:48px;height:48px;min-height:48px;padding:3px;border-radius:50%;justify-content:center}
.pzfp-admin-profile-trigger img,.pzfp-admin-profile-trigger span{width:42px;height:42px;flex:0 0 42px}
.pzfp-admin-quickbar{height:66px;display:grid;grid-template-columns:repeat(3,minmax(120px,360px));justify-content:center;align-items:center;grid-gap:14px;gap:14px;padding:9px 24px 10px;border-top:1px solid rgba(222,223,217,.55);border-bottom:1px solid var(--pzfp-color-border,#dedfd9);background:rgba(250,250,248,.96)}
.pzfp-admin-quickbar>a,.pzfp-admin-quickbar>button,.pzfp-admin-quickbar>span{height:46px;display:grid;place-items:center;border:1px solid var(--pzfp-color-border,#dedfd9);border-radius:12px;background:#fff;color:#555b60;text-decoration:none;cursor:pointer}
.pzfp-admin-quickbar>a:hover,.pzfp-admin-quickbar>button:hover{background:#faf8ef;border-color:#d5d1c4}
.pzfp-admin-quickbar>a.is-active{border-color:var(--pzfp-color-primary,#f4c400);color:#d3a800;box-shadow:inset 0 -2px 0 var(--pzfp-color-primary,#f4c400)}
.pzfp-admin-quickbar svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pzfp-admin-quickbar>button.is-dirty:after{content:"";position:absolute;width:8px;height:8px;margin:-25px 0 0 28px;border:2px solid #fff;border-radius:50%;background:var(--pzfp-color-primary,#f4c400)}
.pzfp-admin-quickbar>button{position:relative}
@media(max-width:760px){.pzfp-admin-sticky-stack .pzfp-admin-global-header{height:62px}.pzfp-admin-profile-trigger{width:40px;height:40px;min-height:40px;padding:2px}.pzfp-admin-profile-trigger img,.pzfp-admin-profile-trigger span{width:36px;height:36px;flex-basis:36px}.pzfp-admin-quickbar{height:58px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:7px 10px 8px}.pzfp-admin-quickbar>a,.pzfp-admin-quickbar>button,.pzfp-admin-quickbar>span{height:42px;border-radius:10px}.pzfp-admin-quickbar svg{width:23px;height:23px}.pzfp-admin-sticky-stack .pzfp-admin-profile-menu{top:56px;right:8px}}


/* Unified PZFP UI 2026-08-16 */
.app-shell.test-shell { overflow-x:clip; background:#faf9f5; }
.app-shell.test-shell .test-home { padding-top:0; }
.app-shell.test-shell .test-section-grid { gap:16px; margin-top:0; }
.app-shell.test-shell .test-section-button { overflow:hidden; }
.app-shell.test-shell .test-section-button.is-active { border-color:#e0dfda !important; background:#fff !important; }
.pzfp-admin-global-header { z-index:501; }

/* Zentrale Personalmodule */
.staff-capacity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.staff-capacity-grid>div{padding:12px;border:1px solid var(--border,#ddd8cc);border-radius:12px;background:var(--surface-soft,#faf9f5)}.staff-capacity-grid span,.staff-capacity-grid small{display:block;color:var(--text-muted,#667085);font-size:.78rem}.staff-capacity-grid strong{display:block;font-size:1.35rem;margin:.15rem 0}@media(max-width:700px){.staff-capacity-grid{grid-template-columns:1fr}}

