/* ════════ Bereichswechsel (0.39.0) ════════
   Feste Schaltflächen rechts in der Mitte, eine je Bereich in seiner Farbe – auf den öffentlichen Seiten
   (panels.js, aus dem Hinweis-Cookie) und in den Panels (serverseitig, _dock.php). In den Panels ragt nur
   das Symbol hervor, damit nichts verdeckt wird; Zeigen oder Tastaturfokus schiebt die Schaltfläche heraus. */
.panel-dock { position: fixed; z-index: 50; right: 0; top: 50%; transform: translateY(-50%); display: flex; flex-direction: column; gap: 10px; }
.panel-jump { display: flex; align-items: center; gap: 12px; min-width: 232px; padding: 14px 16px 14px 18px; border-radius: 16px 0 0 16px; text-decoration: none; color: #fff;
  box-shadow: 0 14px 30px -12px #13211c80; transform: translateX(10px); transition: transform .18s ease, box-shadow .18s ease; font-family: "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif; }
.panel-dock .panel-jump:hover, .panel-dock .panel-jump:focus-visible { transform: translateX(0); color: #fff; box-shadow: 0 18px 36px -12px #13211ca0; text-decoration: none; }
.panel-jump:focus-visible { outline: 3px solid #c6f432; outline-offset: 2px; }
.panel-jump > .bi:first-child, .panel-jump > .pj-ico { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: #ffffff26; font-size: 20px; flex: none; }
.panel-jump span { display: flex; flex-direction: column; line-height: 1.2; flex: 1; }
.panel-jump b { font-size: 16px; }
.panel-jump small { font-size: 12px; opacity: .85; }
.panel-jump .pj-go { font-size: 18px; display: grid; place-items: center; font-style: normal; }
.panel-jump .pj-ico { font-style: normal; }
.panel-jump .pj-go svg { width: 18px; height: 18px; }
.panel-dock .pj-app { background: #0b7a57; } .panel-dock .pj-bureau { background: #2563c9; } .panel-dock .pj-operator { background: #13211c; color: #c6f432; }
.panel-jump.pj-operator:hover, .panel-jump.pj-operator:focus-visible { color: #c6f432; }
.panel-dock .pj-operator > .bi:first-child, .panel-dock .pj-operator > .pj-ico { background: #c6f43226; }
.panel-dock .pj-public { background: #ffffff; color: #13211c; border: 1px solid #c3cec5; border-right: 0; }
.panel-jump.pj-public:hover, .panel-jump.pj-public:focus-visible { color: #13211c; }
.panel-dock .pj-public > .bi:first-child, .panel-dock .pj-public > .pj-ico { background: #e5f4ec; color: #0b7a57; }
.panel-jump.is-current { cursor: default; box-shadow: inset 5px 0 0 #c6f432, 0 14px 30px -12px #13211c80; }

/* In der dunklen Seitenleiste des Arbeitsplatzes gelten deren Link-Regeln nicht */
aside .panel-dock .panel-jump { margin: 0; border-left: 0; font-size: inherit; }

/* In den Panels: nur das Symbol ragt hervor */
.panel-dock.in-panel .panel-jump { transform: translateX(calc(100% - 64px)); }
.panel-dock.in-panel .panel-jump:hover, .panel-dock.in-panel .panel-jump:focus-visible { transform: translateX(0); }
.panel-dock.in-panel .panel-jump > .pj-ico { width: 36px; height: 36px; }
.panel-dock.in-panel .panel-jump { padding: 10px 14px 10px 13px; }
body.has-dock .workspace { padding-right: 88px; }
body.has-dock > main { padding-right: 88px; }

@media (max-width: 900px) {
  .panel-dock:not(.in-panel) { top: auto; bottom: 14px; transform: none; gap: 8px; }
  .panel-dock:not(.in-panel) .panel-jump { min-width: 0; padding: 10px 12px; border-radius: 14px 0 0 14px; transform: none; }
  .panel-dock:not(.in-panel) .panel-jump small, .panel-dock:not(.in-panel) .panel-jump .pj-go { display: none; }
  .panel-dock:not(.in-panel) .panel-jump > .bi:first-child { width: 32px; height: 32px; font-size: 17px; }
}
/* Panels auf dem Handy: die Schaltflächen stehen im Menü bzw. unter der Kopfzeile, nicht schwebend über dem Inhalt */
@media (max-width: 860px) {
  .panel-dock.in-panel { position: static; transform: none; flex-direction: row; flex-wrap: wrap; gap: 8px; margin: 14px 0 6px; }
  .panel-dock.in-panel .panel-jump { transform: none; min-width: 0; flex: 1 1 140px; border-radius: 12px; border-right: 1px solid transparent; padding: 8px 10px; box-shadow: none; }
  .panel-dock.in-panel .panel-jump.pj-public { border-right: 1px solid #c3cec5; }
  .panel-dock.in-panel .panel-jump small, .panel-dock.in-panel .panel-jump .pj-go { display: none; }
  .panel-dock.in-panel .panel-jump b { font-size: 14px; }
  .panel-dock.in-panel .panel-jump.is-current { box-shadow: inset 4px 0 0 #c6f432; }
  body.has-dock .workspace, body.has-dock > main { padding-right: 16px; }
  body.has-dock > .panel-dock.in-panel { margin: 0; padding: 10px 16px; background: #13211c; }
}
@media (prefers-reduced-motion: reduce) { .panel-jump { transition: none; } }
@media print { .panel-dock { display: none; } }
