/* ===== Schriften (self-hosted, DSGVO-konform) ===== */
@font-face{font-family:'Montserrat';src:url('fonts/montserrat-700-normal.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Montserrat';src:url('fonts/montserrat-600-normal.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Open Sans';src:url('fonts/open-sans-400-normal.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Open Sans';src:url('fonts/open-sans-600-normal.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}

/* ===== Palette nach Logo „NOVUNIO eG" (Cyan/Tuerkis -> Gruen, tiefes Petrol) ===== */
:root{
  --marke:#0FAFC0; --marke-2:#0C94A4; --gruen:#3FC46B; --link:#0A8694;
  --grad:linear-gradient(105deg,#0FAFC0 0%,#23BD8E 52%,#5FD23C 100%);
  --bg:#eaf1f2; --surface:#ffffff; --surface-2:#f1f7f8; --text:#2b3a40; --heading:#14323d; --dezent:#7a898f; --rahmen:#e0e9eb;
  --gefahr:#d64545; --gefahr-hover:#b83a3a;
  --e1:0 1px 3px rgba(15,40,46,.10),0 1px 2px rgba(15,40,46,.07);
  --e2:0 4px 10px -2px rgba(15,40,46,.13),0 12px 26px -8px rgba(15,40,46,.20);
  --e3:0 12px 24px -6px rgba(15,40,46,.22),0 24px 50px -14px rgba(15,40,46,.30);
  --glow:0 8px 22px -7px rgba(15,175,192,.55); --fokus:0 0 0 3px rgba(15,175,192,.38);
  --r-s:9px; --r-m:13px; --r:15px; --r-l:20px;
}
:root[data-theme="dark"]{
  --marke:#1FC6D5; --marke-2:#13A6B5; --gruen:#56D483; --link:#36cfdd;
  --grad:linear-gradient(105deg,#15B6C6 0%,#27C492 52%,#62D74a 100%);
  --bg:#0d1619; --surface:#16242a; --surface-2:#1d2f36; --text:#e3eef0; --heading:#eaf7f8; --dezent:#8ba1a7; --rahmen:#2a3d44;
  --gefahr:#e26464; --gefahr-hover:#cc5151;
  --e1:0 1px 3px rgba(0,0,0,.5);
  --e2:0 6px 18px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.05);
  --e3:0 16px 34px rgba(0,0,0,.62),inset 0 1px 0 rgba(255,255,255,.06);
  --glow:0 8px 24px -7px rgba(31,198,213,.5);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:clip}
body{margin:0;min-height:100vh;max-width:100%;font-family:'Open Sans',Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text);
  line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}
/* sanfter Atmosphaeren-Schimmer im Hintergrund (Logo-Tuerkis/Gruen) */
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(60vw 50vh at 12% -8%,rgba(15,175,192,.10),transparent 60%),
             radial-gradient(55vw 45vh at 100% 0,rgba(95,210,60,.08),transparent 55%)}
h1,h2,h3,legend{font-family:'Montserrat',Arial,sans-serif;color:var(--heading);line-height:1.18;letter-spacing:-.015em}
h1{font-size:1.95rem;font-weight:700;margin:.1em 0 .55em}
h2{font-size:1.32rem;font-weight:700;margin:1.7em 0 .5em}
h3{font-size:1.08rem;font-weight:600;margin:1.3em 0 .4em}
a{color:var(--link)}
strong{font-weight:600;color:var(--heading)}

/* ===== Kopf ===== */
.aam-kopf{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:9px 22px;background:var(--surface);
  border-bottom:3px solid transparent;border-image:var(--grad) 1;box-shadow:var(--e1);position:sticky;top:0;z-index:5000}
.aam-marke{display:flex;align-items:center;text-decoration:none}
.aam-marke img{height:52px;width:auto;border-radius:10px;display:block;box-shadow:0 1px 4px rgba(0,0,0,.18)}
/* nav füllt die Breite rechts vom Logo → Menüpunkte stehen linksbündig direkt
   neben dem Logo; die rechte Gruppe (Profil) bleibt via margin-left:auto rechts. */
.aam-kopf nav{display:flex;align-items:center;gap:4px;flex-wrap:wrap;flex:1}
.aam-nav-rechts{display:flex;align-items:center;gap:4px;margin-left:auto}
.aam-nav-item{display:inline-flex;align-items:center;gap:2px}
.aam-dropdown-zeile{display:flex;align-items:center;gap:6px;padding:2px 4px;border-radius:var(--r-s)}
.aam-dropdown-zeile>a{flex:1;padding:7px 8px}
.aam-tab-wrap{display:inline-flex;align-items:center;gap:4px}
.aam-fav-stern--seite{font-size:1.1rem;margin-left:6px;vertical-align:middle}
.aam-fav-stern{background:none;border:none;cursor:pointer;color:var(--dezent,#8a9099);font-size:1rem;line-height:1;padding:2px 4px;border-radius:6px;flex:none}
.aam-fav-stern:hover,.aam-fav-stern.fav-ist{color:#E2001A}
.aam-fav-stern--klein{font-size:.9rem;padding:2px 3px}
.aam-fav-stern--inline{font-size:.95rem;margin-left:4px;vertical-align:middle}
.fav-float-baum{list-style:none;margin:0;padding:0}
/* Unterordner-Inhalte DEUTLICH einruecken: 26px Stufe + 12px vor der Fuehrungslinie
   je Ebene, damit die Hierarchie auf einen Blick erkennbar ist (Befund 2026-07-10). */
.fav-float-baum--eingebettet{margin:.25rem 0 .35rem 26px;padding-left:12px;border-left:2px solid var(--rahmen,#ddd)}
.fav-float-ordner-titel{font-size:.82rem;font-weight:700;color:var(--dezent);padding:.2rem .5rem;cursor:pointer;user-select:none}
.fav-float-ordner-titel:hover{color:var(--marke)}
.fav-float-ordner--zu>.fav-float-baum--eingebettet,.fav-float-ordner--zu>.fav-float-komm{display:none}
.fav-werkzeuge{margin:.75rem 0}
.fav-baum{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;min-height:24px}
.fav-baum.fav-ueber{outline:2px dashed var(--marke,#E2001A);outline-offset:4px;border-radius:8px}
.fav-item,.fav-ordner-kopf{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--surface);border:1px solid var(--rahmen);border-radius:10px}
.fav-ordner-ziel>.fav-ordner-kopf{outline:2px solid var(--marke,#E2001A);outline-offset:2px;background:color-mix(in srgb,var(--marke,#E2001A) 10%,var(--surface))}
.fav-item.fav-zieht,.fav-ordner-li.fav-zieht{opacity:.55}
/* Bearbeiten-Baum: Unterordner-Ebene deutlich einruecken (36px + 12px Fuehrungslinie). */
.fav-ordner-li>.fav-baum{margin:.35rem 0 .2rem 36px;padding-left:12px;border-left:2px solid var(--rahmen)}
.fav-ordner-li--zu>.fav-baum,.fav-ordner-li--zu>.fav-komm{display:none}
.fav-klapp{border:none;background:none;cursor:pointer;font-size:.9rem;color:var(--dezent);padding:0 2px;flex:none}
.fav-klapp:hover{color:var(--marke)}
.fav-move{max-width:170px;padding:4px 6px;border:1px solid var(--rahmen);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;font-size:.8rem}
.fav-item-zeile{display:flex;align-items:center;gap:8px}
.fav-komm{display:flex;gap:6px;align-items:center;margin:4px 0 2px 26px}
.fav-komm-feld{flex:1;min-width:0;padding:4px 8px;border:1px solid var(--rahmen);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;font-size:.82rem}
.fav-float-komm{font-size:.78rem;color:var(--dezent);margin:2px 0 4px 22px;font-style:italic}
.aam-hilfe-inhalt h2 .aam-fav-stern,.aam-hilfe-inhalt h3 .aam-fav-stern{background:none;border:none;cursor:pointer;color:var(--marke);font-size:.9em;line-height:1;padding:0 4px;vertical-align:middle}
.fav-griff{color:var(--dezent);cursor:grab;user-select:none}
.fav-icon{flex:none}
.fav-link{flex:1;text-decoration:none;color:inherit;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fav-link:hover{text-decoration:underline}
.fav-ordner-name{flex:1;font-weight:700}
.aam-kopf nav a{padding:7px 13px;border-radius:999px;color:var(--text);text-decoration:none;font-family:'Montserrat',sans-serif;
  font-weight:600;font-size:.9rem;transition:background .15s,color .15s}
.aam-kopf nav a:hover{background:var(--surface-2);color:var(--marke)}
#aam-theme{width:38px;height:38px;border:1px solid var(--rahmen);background:var(--surface-2);color:var(--text);border-radius:999px;
  cursor:pointer;font-size:1.05rem;display:grid;place-items:center;transition:box-shadow .15s,transform .15s,color .15s;margin-left:6px}
#aam-theme:hover{box-shadow:var(--glow);transform:translateY(-1px);color:var(--marke)}
.aam-theme-float{position:fixed;top:16px;right:16px;z-index:1000;box-shadow:var(--e1)}

/* ===== Responsive Navigation: Symbole + Hamburger ===== */
/* Jeder Top-Level-Punkt traegt ein Symbol (immer sichtbar) + Text-Label
   (.aam-nav-text). Auf schmaleren Fenstern wird nur das Symbol gezeigt,
   auf sehr schmalen Fenstern klappt ein Hamburger die Navigation auf. */
.aam-nav-ikon{font-size:1.02rem;line-height:1;display:inline-flex;align-items:center}
.aam-nav-text{margin-left:6px}
/* Hamburger-Knopf: nur auf schmalen Fenstern sichtbar (siehe Media Query).
   Trefferflaeche >= 44px (touch-freundlich). */
.aam-hamburger{display:none;width:44px;height:44px;flex:none;border:1px solid var(--rahmen);
  background:var(--surface-2);color:var(--text);border-radius:12px;cursor:pointer;font-size:1.4rem;
  align-items:center;justify-content:center;transition:box-shadow .15s,color .15s;-webkit-tap-highlight-color:transparent}
.aam-hamburger:hover{color:var(--marke);box-shadow:var(--e1)}
.aam-hamburger:focus-visible{outline:3px solid var(--marke);outline-offset:2px}

/* Mittel (~<=1100px): Menue wird zu breit -> nur Symbole, Punkte kompakter.
   Badges, Online-Zaehler und Dropdown-Pfeile bleiben sichtbar. */
@media(max-width:1100px){
  .aam-kopf nav .aam-nav-text{display:none}
  .aam-kopf nav a{padding:7px 10px}
  .aam-dropdown-knopf,.aam-nav-hilfe{padding:7px 10px}
  .aam-nav-ikon{margin:0}
}
/* Mittelbreite: Symbolreihe horizontal scrollen statt mehrzeilig umbrechen
   (verhindert hohe Kopfleiste und H-Scroll der Seite). */
@media(max-width:1100px) and (min-width:721px){
  .aam-kopf{gap:10px}
  .aam-kopf nav{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;
    scrollbar-width:thin;min-width:0;padding-bottom:2px}
}

/* Schmal (<=720px): Hamburger-Drawer — scrollbar bis Viewport-Ende, Untermenues
   standardmaessig zu (nur Tap oeffnet), Schnellzugriff Online/Nachrichten sticky.
   Dicht gepackt, aber Touch-Ziele >=44px. Kein Horizontalscroll durch nowrap. */
@media(max-width:720px){
  .aam-hamburger{display:inline-flex;margin-left:auto}
  .aam-kopf{flex-wrap:nowrap;gap:10px;padding-left:max(12px,env(safe-area-inset-left,0px));
    padding-right:max(12px,env(safe-area-inset-right,0px));overflow-x:clip}
  .aam-kopf nav{display:none}
  .aam-kopf.nav-offen nav{display:flex;flex-direction:column;align-items:stretch;gap:0;
    position:absolute;top:100%;left:0;right:0;background:var(--surface);
    border-bottom:1px solid var(--rahmen);box-shadow:var(--e2);
    padding:6px 10px calc(10px + env(safe-area-inset-bottom,0px));
    max-height:calc(100dvh - 56px);max-height:calc(100svh - 56px);
    overflow-y:auto;overflow-x:clip;-webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;z-index:1050}
  /* Text-Labels wieder zeigen; etwas kompaktere Symbole. */
  .aam-kopf.nav-offen nav .aam-nav-text{display:inline;margin-left:8px}
  .aam-kopf.nav-offen .aam-nav-ikon{margin:0;font-size:1.1rem;width:1.45rem;justify-content:center}
  /* Sticky Schnellzugriff: Online (bei Karte) + Nachrichten zuerst + oben halten. */
  .aam-kopf.nav-offen .aam-nav-item:has(.aam-online-zaehler),
  .aam-kopf.nav-offen .aam-nachr-nav{
    position:sticky;top:0;z-index:3;background:var(--surface);
    box-shadow:0 1px 0 var(--rahmen);margin:0 -10px;padding:0 10px}
  .aam-kopf.nav-offen .aam-nav-item:has(.aam-online-zaehler){order:-2;z-index:4}
  .aam-kopf.nav-offen .aam-nachr-nav{order:-1}
  /* Menuepunkte: mind. 44px, etwas dichtere Packung als Desktop. */
  .aam-kopf.nav-offen .aam-nav-item{width:100%;min-width:0}
  .aam-kopf.nav-offen .aam-nav-item>a,
  .aam-kopf.nav-offen .aam-nav-hilfe,
  .aam-kopf.nav-offen .aam-dropdown-knopf,
  .aam-kopf.nav-offen .aam-menu-aktion{display:flex;align-items:center;min-height:44px;
    padding:7px 10px;border-radius:var(--r-s);width:100%;max-width:100%;box-sizing:border-box;
    font-size:.88rem;white-space:normal;overflow-wrap:anywhere}
  .aam-kopf.nav-offen .aam-dropdown-menu a{min-height:44px;display:flex;align-items:center;
    padding:7px 10px;white-space:normal;overflow-wrap:anywhere}
  .aam-kopf.nav-offen .aam-dropdown-sub-knopf{min-height:44px;width:100%;max-width:100%;
    box-sizing:border-box;padding:7px 10px;white-space:normal}
  .aam-kopf.nav-offen .aam-dropdown-zeile{min-width:0;max-width:100%}
  .aam-kopf.nav-offen .aam-nav-rechts{margin-left:0;width:100%;flex-wrap:wrap;gap:0;order:99}
  /* Dropdowns im Hamburger flach ausklappen (ersetzt die fruehere 760px-Regel). */
  .aam-kopf.nav-offen .aam-dropdown{display:block;width:100%;max-width:100%;min-width:0}
  .aam-kopf.nav-offen .aam-dropdown-menu{position:static;box-shadow:none;border:none;
    padding:2px 0 2px 12px;min-width:0;max-width:100%}
  /* Popovers im Hamburger: nicht absolut (wuerden vom nav overflow abgeschnitten). */
  .aam-kopf.nav-offen .aam-online-pop,
  .aam-kopf.nav-offen .aam-nachr-pop,
  .aam-kopf.nav-offen .aam-termin-pop{
    position:static;max-width:100%;width:100%;margin:4px 0 8px;box-shadow:none;
    box-sizing:border-box;overflow-x:clip}
  /* Profil-Knopf im Hamburger mit Text-Hinweis-Breite, gut greifbar. */
  .aam-kopf.nav-offen .aam-profil-knopf{min-height:44px;border-radius:var(--r-m)}
}

/* ===== Inhalt ===== */
.aam-inhalt{margin:32px 0;padding:0 clamp(18px,3vw,44px);animation:aam-auf .5s ease both}
@keyframes aam-auf{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.aam-inhalt p{margin:.55em 0 1.05em}
.aam-inhalt ul,.aam-inhalt ol{padding-left:1.3em}
.aam-inhalt li{margin:.35em 0}
.aam-lead{font-size:1.08rem;color:var(--dezent)}

/* ===== Auth-Seiten (Login/Registrieren) ===== */
.aam-auth{min-height:100vh;display:grid;place-items:center;padding:28px 16px}
.aam-auth-box{width:100%;max-width:460px;animation:aam-auf .55s ease both}
.aam-hero{width:100%;border-radius:var(--r-l);box-shadow:var(--e3),0 0 0 1px var(--rahmen);display:block;margin-bottom:18px}
.aam-card{background:var(--surface);border:1px solid var(--rahmen);border-radius:var(--r-l);box-shadow:var(--e2);padding:28px 26px;
  position:relative;overflow:hidden}
.aam-card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--grad)}
.aam-card h1{margin-top:6px}

/* ===== Formulare ===== */
label{display:block;margin:15px 0 0;font-size:.88rem;font-weight:600;color:var(--heading)}
.aam-feld{display:block;width:100%;padding:11px 13px;margin-top:6px;border:1px solid var(--rahmen);border-radius:var(--r-s);
  background:var(--surface);color:var(--text);font:inherit;font-weight:400;transition:border-color .15s,box-shadow .15s}
.aam-feld:focus{outline:none;border-color:var(--marke);box-shadow:var(--fokus)}
.aam-feld:disabled{background:var(--surface-2);color:var(--dezent)}
.aam-inline-wahl{display:inline-flex;align-items:center;gap:6px;font-size:.9rem;color:var(--text)}
.aam-badge--rot{background:var(--gefahr,#B71C1C);color:#fff;border-radius:999px;padding:1px 7px;font-size:.72rem;font-weight:700;margin-left:4px}
/* Online-Zähler neben „Karte": grüner Punkt + Zahl, Hover zeigt die Liste. */
.aam-online-zaehler{position:relative;display:inline-flex;align-items:center;gap:4px;margin-left:6px;padding:2px 7px;
  border-radius:999px;background:var(--surface-2);border:1px solid var(--rahmen);cursor:default;font-size:.8rem;font-weight:700;color:var(--heading)}
.aam-online-zaehler:hover,.aam-online-zaehler:focus-within{border-color:var(--gruen,#2e7d32);outline:none}
/* Nach rechts aufklappen (der Zähler sitzt links neben „Karte") — sonst wandert
   die Liste links aus dem Bild. Auf sehr schmalen Fenstern nicht breiter als
   der sichtbare Bereich. */
.aam-online-pop{position:absolute;top:calc(100% + 6px);left:0;right:auto;z-index:1200;min-width:250px;
  max-width:min(320px,calc(100vw - 24px));
  background:var(--surface);border:1px solid var(--rahmen);border-radius:var(--r-m);box-shadow:var(--e2);padding:8px;
  font-weight:400;color:var(--text);text-align:left;display:none}
/* Anzeigen per Hover/Fokus (JS lädt nur den Inhalt nach). Höhere Spezifität
   als [hidden], daher greift die Anzeige zuverlässig. */
.aam-online-zaehler:hover .aam-online-pop,.aam-online-zaehler:focus-within .aam-online-pop{display:block}
.aam-online-pop-kopf{font-size:.78rem;font-weight:700;color:var(--heading);padding:2px 6px 6px}
.aam-online-user-liste{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;max-height:60vh;overflow:auto}
.aam-online-user{display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:8px}
.aam-online-user:hover{background:var(--surface-2)}
.aam-online-user-name{flex:1;min-width:0;display:flex;align-items:center;gap:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}
.aam-online-user .aam-nachr-link{flex:0 0 auto}

/* Hover-Popups am Nav (Nachrichten, Termine) — gleiches Muster wie das
   Online-Popup: liegt über der Kopfleiste (z-index 1200 > .aam-kopf 1000),
   scrollt bei vielen Einträgen und öffnet nach rechts. */
.aam-nachr-nav,.aam-termin-nav{position:relative}
.aam-nachr-pop,.aam-termin-pop{position:absolute;top:calc(100% + 6px);left:0;right:auto;z-index:1200;
  min-width:250px;max-width:min(340px,calc(100vw - 24px));
  background:var(--surface);border:1px solid var(--rahmen);border-radius:var(--r-m);box-shadow:var(--e2);
  padding:8px;font-weight:400;color:var(--text);text-align:left;display:none}
.aam-nachr-nav:hover .aam-nachr-pop,.aam-nachr-nav:focus-within .aam-nachr-pop,
.aam-termin-nav:hover .aam-termin-pop,.aam-termin-nav:focus-within .aam-termin-pop{display:block}
.aam-nachr-pop-inhalt,.aam-termin-pop-inhalt{display:block;max-height:60vh;overflow:auto}
.aam-nachr-uebersicht-link{flex:1;min-width:0;text-decoration:none;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.aam-nachr-uebersicht-link:hover{color:var(--marke)}
.aam-nachr-uebersicht-ikon{flex:0 0 auto;font-size:1rem}
.aam-termin-pop-meta{flex:0 0 auto;font-size:.76rem;color:var(--dezent);white-space:nowrap}
/* Nachrichten-Nav: zwei getrennte Zähler (✉ persönlich / 👥 Gruppe) */
.aam-nachr-badges{display:inline-flex;gap:3px;align-items:center}
.aam-badge--gruppe{background:var(--link,#0A8694);color:#fff;border-radius:999px;padding:1px 7px;font-size:.72rem;font-weight:700;margin-left:4px}
/* Deutliches Blinken bei ungelesenen Nachrichten (Count > 0 → Badge sichtbar).
   Online-Zähler und Termin-Badge bleiben unberührt. Kein Hover nötig. */
.aam-nachr-badges .aam-badge:not([hidden]){
  animation:aam-nachr-badge-blink 1.1s ease-in-out infinite;
  will-change:transform,opacity,box-shadow}
.aam-nachr-badges .aam-badge--rot:not([hidden]){
  --aam-badge-blink-glow:rgba(183,28,28,.85)}
.aam-nachr-badges .aam-badge--gruppe:not([hidden]){
  --aam-badge-blink-glow:rgba(10,134,148,.85)}
@keyframes aam-nachr-badge-blink{
  0%,100%{opacity:1;transform:scale(1);box-shadow:0 0 0 0 var(--aam-badge-blink-glow,rgba(183,28,28,.7))}
  45%{opacity:.35;transform:scale(1.18);box-shadow:0 0 0 8px transparent}
  55%{opacity:1;transform:scale(1.12);box-shadow:0 0 12px 2px var(--aam-badge-blink-glow,rgba(183,28,28,.7))}
}
@media (prefers-reduced-motion:reduce){
  .aam-nachr-badges .aam-badge:not([hidden]){animation:none;opacity:1;transform:none;box-shadow:none}
}
.aam-sim-banner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:color-mix(in srgb,#ED6C02 14%,var(--surface));border-bottom:2px solid #ED6C02;padding:8px 20px;font-size:.9rem}
.aam-user-hover-aktionen{margin-top:8px;padding-top:8px;border-top:1px solid var(--rahmen)}
/* Termin-Erinnerungs-Popup (unten rechts, verschieb-/einklappbar) */
.aam-termin-popup{right:16px;bottom:16px;top:auto;left:auto;z-index:1500}
.aam-termin-eintrag{border:1px solid var(--rahmen);border-left:4px solid var(--kal-farbe,#0FAFC0);border-radius:10px;padding:8px 10px;display:flex;flex-direction:column;gap:4px;background:var(--surface-2)}
.aam-termin-eintrag .kal-punkt{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--kal-farbe,#0FAFC0);vertical-align:middle}
.aam-termin-meta{font-size:.8rem;color:var(--dezent)}
.aam-termin-knoepfe{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.aam-termin-wv{max-width:150px;padding:4px 6px;font-size:.8rem}
/* Nachrichten: Werkzeuge + Suchtreffer */
.nachr-werkzeuge{margin-bottom:14px}
.nachr-treffer{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.nachr-treffer a{display:block;padding:8px 12px;border:1px solid var(--rahmen);border-radius:10px;text-decoration:none;color:var(--text);background:var(--surface)}
.nachr-treffer a:hover{border-color:var(--marke)}
.aam-nachr-link{margin-left:6px;text-decoration:none;color:var(--link,#003B6F);font-size:1rem}
.aam-nachr-link:hover{color:var(--marke)}
.aam-tabelle-wrap,
.aam-tabelle-huelle{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.aam-tabelle-huelle>table,
.aam-tabelle-wrap>table{width:100%}
.aam-protokoll{width:100%;font-size:.86rem}
.aam-protokoll td,.aam-protokoll th{white-space:nowrap;vertical-align:top}
.aam-protokoll td:last-child{white-space:normal}
.aam-blaettern{display:flex;align-items:center;gap:12px;margin-top:12px}
.aam-menue-liste{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;margin-bottom:12px}
.aam-form-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:560px){.aam-form-2{grid-template-columns:1fr}}
fieldset.aam-sicht{border:1px solid var(--rahmen);border-radius:var(--r-m);padding:14px 16px;margin:18px 0 4px;background:var(--surface-2)}
.aam-sicht legend{padding:0 8px;font-size:.95rem;font-weight:600}
.aam-check{display:flex;gap:11px;align-items:flex-start;margin:11px 0;font-size:.92rem;cursor:pointer}
.aam-check input{margin-top:2px;width:19px;height:19px;accent-color:var(--marke);flex:none}
/* Schieberegler (Profil: Online-Freigabe Vorstellseite) */
.aam-switch-wrap{display:flex;align-items:flex-start;gap:14px;margin:18px 0;flex-wrap:wrap}
.aam-switch{position:relative;display:inline-flex;align-items:center;width:52px;height:28px;flex:none;cursor:pointer}
.aam-switch input{opacity:0;width:0;height:0;position:absolute}
.aam-switch-slider{position:absolute;inset:0;background:var(--rahmen);border-radius:999px;transition:background .2s}
.aam-switch-slider::before{content:"";position:absolute;width:22px;height:22px;left:3px;top:3px;background:#fff;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .2s}
.aam-switch input:checked + .aam-switch-slider{background:var(--marke)}
.aam-switch input:checked + .aam-switch-slider::before{transform:translateX(24px)}
.aam-switch input:disabled + .aam-switch-slider{opacity:.45;cursor:not-allowed}
.aam-switch input:disabled ~ .aam-switch-slider{cursor:not-allowed}
.aam-switch input:focus-visible + .aam-switch-slider{outline:2px solid var(--marke);outline-offset:2px}
/* Gruppierter Rechte-Block (Bereichs-Rechte je Gruppe) */
.aam-rechte-block{margin:14px 0;border:1px solid var(--rahmen);border-radius:var(--r-m);padding:6px 14px 12px;background:var(--surface-2)}
.aam-rechte-block>legend{font-family:'Montserrat',sans-serif;font-size:.82rem;font-weight:700;color:var(--heading);padding:0 6px}
.aam-rechte-block .aam-check{margin:8px 0}
.aam-rechte-block .aam-hinweis{display:inline;margin:0}
.aam-recht-zeile{display:flex;align-items:flex-start;gap:8px;margin:3px 0}
.aam-recht-zeile .aam-check{flex:1;min-width:0}
.aam-recht-hilfe{flex:none;width:24px;height:24px;margin-top:6px;border:1px solid var(--rahmen);border-radius:50%;background:var(--surface-2);color:var(--marke);font-weight:800;cursor:pointer;line-height:1}
.aam-recht-hilfe:hover,.aam-recht-hilfe:focus-visible{background:var(--marke);color:#fff;outline:none}
.aam-hinweis{font-size:.82rem;color:var(--dezent);margin:9px 0 0}
.aam-honig{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden}
.aam-abschnitt{background:var(--surface);border:1px solid var(--rahmen);border-radius:var(--r-l);box-shadow:var(--e1);padding:22px 24px;margin:0 0 18px}
.aam-abschnitt h2{margin-top:0}
.aam-info{display:flex;gap:11px;align-items:flex-start;background:var(--surface-2);border:1px solid var(--rahmen);
  border-left:4px solid var(--marke);border-radius:var(--r-m);padding:12px 14px;margin:0 0 18px;font-size:.9rem;color:var(--text)}
.aam-info::before{content:"i";display:grid;place-items:center;flex:none;width:22px;height:22px;border-radius:50%;
  background:var(--grad);color:#04282d;font-family:'Montserrat',sans-serif;font-weight:700;font-size:.95rem;margin-top:1px}

/* ===== Teilnehmerliste ===== */
.aam-liste{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;margin-top:6px}
.aam-person{background:var(--surface);border:1px solid var(--rahmen);border-radius:var(--r-l);box-shadow:var(--e1);
  padding:18px 20px;position:relative;overflow:hidden;transition:transform .15s,box-shadow .15s}
.aam-person::before{content:"";position:absolute;top:0;left:0;bottom:0;width:4px;background:var(--grad)}
.aam-person:hover{transform:translateY(-3px);box-shadow:var(--e2)}
.aam-person-name{font-family:'Montserrat',sans-serif;font-weight:700;font-size:1.06rem;color:var(--heading)}
.aam-person-name-block{display:flex;flex-direction:column;gap:1px;min-width:0}
.aam-person-ort{color:var(--dezent);font-size:.88rem;font-weight:500;line-height:1.25}
.aam-person-zeile{font-size:.9rem;margin-top:5px;display:flex;gap:8px;align-items:baseline}
.aam-person-zeile .lbl{color:var(--dezent);min-width:60px;flex:none;font-size:.82rem}
.aam-person-leer{color:var(--dezent);font-size:.84rem;font-style:italic;margin-top:6px}
.aam-leer{color:var(--dezent);background:var(--surface);border:1px dashed var(--rahmen);border-radius:var(--r-m);padding:18px;text-align:center}

/* ===== Buttons ===== */
.aam-knopf{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--grad);color:#062b30;border:0;
  border-radius:var(--r-s);min-height:44px;padding:11px 28px;margin-top:20px;cursor:pointer;font-family:'Montserrat',sans-serif;
  font-weight:700;font-size:1rem;box-shadow:var(--glow);transition:transform .16s,box-shadow .16s,filter .16s;
  text-decoration:none} /* Link-Knöpfe (<a class="aam-knopf">) nie unterstrichen */
.aam-knopf:hover{filter:brightness(1.06);transform:translateY(-2px);box-shadow:0 14px 28px -7px rgba(15,175,192,.6)}
.aam-knopf:active{transform:translateY(0)}
.aam-knopf:focus-visible{outline:none;box-shadow:var(--fokus)}
.aam-knopf.sekundaer{background:var(--surface-2);color:var(--heading);box-shadow:var(--e1);border:1px solid var(--rahmen)}
.aam-knopf.sekundaer:hover{filter:none;background:var(--rahmen)}
.aam-knopf.gefahr{background:var(--gefahr);color:#fff;box-shadow:var(--e1)}
.aam-knopf.gefahr:hover{filter:none;background:var(--gefahr-hover)}
.aam-link{display:inline-block;margin-top:18px;color:var(--link);font-weight:600;text-decoration:none}
.aam-link:hover{text-decoration:underline}

/* ===== Meldungen ===== */
.aam-fehler{background:#fdecec;border:1px solid var(--gefahr);color:#8a2020;padding:11px 14px;border-radius:var(--r-s);margin:4px 0 14px}
.aam-ok{background:#e6f7f0;border:1px solid var(--gruen);color:#13633f;padding:11px 14px;border-radius:var(--r-s);margin:4px 0 14px}
:root[data-theme="dark"] .aam-fehler{background:#3a1e1f;color:#ff9a9a;border-color:#7a3030}
:root[data-theme="dark"] .aam-ok{background:#11302a;color:#86e3b6;border-color:#2f6b54}

/* ===== Karte + Werkzeuge ===== */
.aam-karten-tools{display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 14px}
.aam-tool{display:inline-flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--rahmen);color:var(--text);
  border-radius:999px;padding:9px 16px;cursor:pointer;font-family:'Montserrat',sans-serif;font-weight:600;font-size:.86rem;
  box-shadow:var(--e1);transition:transform .15s,box-shadow .15s,border-color .15s;min-height:44px}
.aam-tool:hover{transform:translateY(-2px);box-shadow:var(--glow);border-color:var(--marke)}
.aam-tool .punkt{width:11px;height:11px;border-radius:50%;flex:none;box-shadow:0 0 0 2px rgba(255,255,255,.6)}
.aam-karte{height:66vh;min-height:430px;border:1px solid var(--rahmen);border-radius:var(--r);box-shadow:var(--e2);overflow:hidden}
/* Vollflächige Karte: Flex-Kette füllt Viewport/Karteikarte — kein toter Leerraum. */
.aam-karte-buehne{position:relative;flex:1 1 auto;min-height:0;width:100%;height:100%;display:flex;flex-direction:column}
.aam-karte--voll{flex:1 1 auto;width:100%;height:100%;min-height:0;margin:0;border:0;border-radius:0;box-shadow:none}
.leaflet-popup-content{font-family:'Open Sans',sans-serif;font-size:.92rem;line-height:1.45}
/* Karten-Popup folgt dem Theme — sonst steht im Dunkel-Modus heller Name (var(--heading))
   auf weissem Leaflet-Standard-Hintergrund und ist unlesbar. */
/* !important schlaegt Leaflets Default (.leaflet-popup-content-wrapper{background:#fff;color:#333}),
   das sonst je nach Ladereihenfolge gewinnt. Ohne das bleibt das Popup im Dunkel-Modus WEISS,
   waehrend der Name (<strong> -> color:var(--heading), im Dark fast weiss) darauf unlesbar wird.
   So folgt das Popup dem App-Theme; Name + Text sind in Hell UND Dunkel kontrastreich. */
.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--surface)!important;color:var(--text)!important}
.leaflet-popup-content{color:var(--text)}
.leaflet-popup-content strong{color:var(--heading)}
.leaflet-container a.leaflet-popup-close-button{color:var(--dezent)}
.leaflet-container a.leaflet-popup-close-button:hover{color:var(--marke)}
#aam-legende,.aam-karte-legende-fest__liste{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
#aam-legende li,.aam-karte-legende-fest__liste li{font-size:.9rem;display:flex;align-items:center;gap:9px}
#aam-legende .punkt,.aam-karte-legende-fest__liste .punkt{width:13px;height:13px;border-radius:50%;flex:none}

/* Seiten-Layout: Karte füllt Restfläche (Header/Tabs/Footer bleiben fix). */
html.aam-karte-seite,html.aam-karte-seite body{height:100%;overflow:hidden}
html.aam-karte-seite body{display:flex;flex-direction:column;min-height:100dvh;height:100dvh;max-height:100dvh}
html.aam-karte-seite .aam-kopf,
html.aam-karte-seite .aam-kk-leiste,
html.aam-karte-seite .aam-fuss{flex:0 0 auto}
html.aam-karte-seite .aam-inhalt--karte,
html.aam-karte-seite main.aam-inhalt.aam-inhalt--karte{
  flex:1 1 auto;min-height:0;margin:0;padding:0;max-width:none;width:100%;
  display:flex;flex-direction:column;overflow:hidden;animation:none}
html.aam-karte-embed.aam-karte-seite,html.aam-karte-embed.aam-karte-seite body{
  height:100%;min-height:100%;max-height:none;overflow:hidden}
html.aam-karte-embed.aam-karte-seite body{min-height:100%;height:100%}
html.aam-karte-embed.aam-karte-seite .aam-inhalt--karte{padding:0;margin:0}

/* Feste Legende im Karten-Inhalt (kein Body-Float → verschwindet mit der Karteikarte). */
.aam-karte-legende-fest{
  position:absolute;z-index:500;right:max(10px,env(safe-area-inset-right));
  top:max(10px,env(safe-area-inset-top));
  width:min(280px,calc(100% - 20px));max-width:calc(100% - 20px);
  padding:12px 14px;border-radius:12px;background:color-mix(in srgb,var(--surface) 92%,transparent);
  border:1px solid var(--rahmen);box-shadow:var(--e2);backdrop-filter:blur(8px);
  pointer-events:auto;-webkit-backdrop-filter:blur(8px)}
.aam-karte-legende-fest__titel{margin:0 0 8px;font-size:.9rem;font-weight:700;color:var(--heading);
  font-family:'Montserrat',sans-serif}
.aam-karte-legende-fest__hinweis{margin:10px 0 0;font-size:.78rem;line-height:1.35;color:var(--dezent)}
.aam-karte-legende-fest__liste li{min-height:28px}
@media (max-width:480px){
  .aam-karte-legende-fest{
    left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));
    top:auto;bottom:max(8px,env(safe-area-inset-bottom));width:auto;max-width:none;
    padding:10px 12px;max-height:min(42vh,280px);overflow:auto}
  .aam-karte-legende-fest__liste{gap:6px}
  .aam-karte-legende-fest__liste li{font-size:.82rem;min-height:32px}
}
/* Fold-Zwischenbreiten / schmale Tablets: Legende bleibt lesbar, Karte behält Höhe. */
@media (min-width:481px) and (max-width:900px){
  .aam-karte-legende-fest{width:min(240px,42vw);padding:10px 12px}
  .aam-karte-legende-fest__liste li{font-size:.84rem}
}

/* Öffentliche Karte (Standalone / Neural-Panel-iframe). */
html.aam-oeff-karte-embed,html.aam-oeff-karte-embed body{height:100%;margin:0;overflow:hidden;background:#0d1619}
body.aam-oeff-karte-seite--panel{display:flex;flex-direction:column;height:100%;min-height:100%;margin:0}
body.aam-oeff-karte-seite--panel .aam-karte-buehne{flex:1 1 auto;min-height:0}
.site-karte:has(.aam-karte-buehne--oeffentlich),
.site-karte-glas:has(.aam-karte-buehne--oeffentlich){
  padding:0;max-width:none;width:100%;min-height:min(70vh,640px);display:flex;flex-direction:column}
.site-inhalt:has(.aam-karte-buehne--oeffentlich){max-width:none;padding:12px;display:flex;flex-direction:column;min-height:calc(100dvh - 120px)}
.neural-panel-inhalt:has(.aam-oeff-karte-frame){padding:0;overflow:hidden;flex:1 1 auto;min-height:0;display:flex}
.aam-oeff-karte-frame{flex:1 1 auto;width:100%;min-height:min(62vh,520px);border:0;border-radius:0 0 18px 18px;background:#0d1619}

/* Verschiebbare Hover-Fenster (Liste: Filter). Karten-Legende ist fest im Seiten-DOM.
   z-index ÜBER der Kopfleiste (.aam-kopf: 1000) und dem Hamburger-Menü (1050).
   data-aam-kk-inaktiv: von float-fenster.js bei inaktiver Karteikarte gesetzt. */
.aam-float{position:fixed;z-index:1500;width:min(92vw,290px);background:var(--surface);border:1px solid var(--rahmen);
  border-radius:12px;box-shadow:var(--e2);overflow:hidden}
.aam-float[data-aam-kk-inaktiv="1"],.aam-float[hidden]{display:none!important;visibility:hidden!important;pointer-events:none!important}
.aam-float-kopf{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:move;user-select:none;
  padding:8px 12px;background:var(--surface-2);border-bottom:1px solid var(--rahmen);font-weight:700;font-size:.9rem;color:var(--heading);min-height:44px}
.aam-float-zu{border:none;background:none;font-size:1.2rem;line-height:1;cursor:pointer;color:var(--dezent);padding:0 4px;min-width:44px;min-height:44px}
.aam-float-zu:hover{color:var(--marke)}
.aam-float-body{padding:12px;display:flex;flex-direction:column;gap:8px;max-height:70vh;overflow:auto}
.aam-float--zu .aam-float-body{display:none}
#liste-filter-float{right:16px;top:84px}
.aam-filter-form--spalte{display:flex;flex-direction:column;gap:8px;align-items:stretch}
.aam-filter-form--spalte .aam-feld{width:100%}
.aam-float .aam-karten-tools{margin:6px 0 0}

/* Verschiebbare Objekt-Dialoge (Anlegen/Bearbeiten) — wiederverwendbar für Admin-Seiten.
   Muster analog kal-dialog: Drag am Titelbalken, Esc schließt, Position gemerkt. */
.aam-objekt-dialog{position:fixed;top:0;left:0;z-index:6100;width:min(520px,calc(100vw - 24px));max-height:min(92vh,1080px);
  display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--rahmen);
  border-radius:12px;box-shadow:var(--e2);overflow:hidden}
.aam-objekt-dialog--tabs{width:min(560px,calc(100vw - 24px));max-height:min(92vh,1080px)}
.aam-objekt-dialog[hidden]{display:none!important}
/* Formular fuellt den Rest unter dem Titelbalken, Fuss bleibt sichtbar */
.aam-objekt-dialog-form{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden;margin:0}
.aam-objekt-dialog-kopf{display:flex;align-items:center;gap:8px;padding:10px 12px;cursor:move;user-select:none;
  background:var(--surface-2);border-bottom:1px solid var(--rahmen);min-height:48px;flex:none}
.aam-objekt-dialog-titel{flex:1;min-width:0;font-family:'Montserrat',sans-serif;font-size:.95rem;font-weight:700;color:var(--heading)}
.aam-objekt-dialog-zu{flex:none;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:none;border-radius:999px;background:transparent;color:var(--dezent);
  font-size:1.4rem;line-height:1;cursor:pointer;padding:0;text-decoration:none;box-sizing:border-box}
.aam-objekt-dialog-zu:hover{background:var(--rahmen);color:var(--heading)}
.aam-objekt-dialog-tabs{flex:none;display:flex;flex-wrap:wrap;margin:0!important;padding:6px 12px 0;gap:4px;
  border-bottom:1px solid var(--rahmen);background:var(--surface-2)}
.aam-objekt-dialog-tabs button{padding:8px 12px;font-size:.88rem;min-height:44px;touch-action:manipulation}
.aam-objekt-dialog-koerper{padding:12px 16px;overflow:hidden;display:flex;flex-direction:column;gap:4px;flex:1 1 auto;min-height:0}
/* overflow-x:hidden — overflow-y:auto allein setzt sonst oft overflow-x:auto und erzeugt unnötigen H-Scroll. */
.aam-objekt-dialog--tabs .aam-objekt-dialog-koerper{overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;min-height:0}
.aam-objekt-dialog--tabs .aam-tab-panel{display:flex;flex-direction:column;gap:2px}
.aam-objekt-dialog--tabs .aam-tab-panel[hidden]{display:none!important}
.aam-objekt-dialog--tabs .aam-feld{margin:0 0 6px}
.aam-objekt-dialog--tabs .aam-feld-hinweis{display:block;font-size:.78rem;line-height:1.35;margin-top:2px}
.aam-objekt-dialog--tabs .aam-check .aam-feld-hinweis{display:inline;margin-left:4px}
.aam-feld-hinweis--warnung{color:var(--fehler,#b00020);font-weight:600}
.aam-objekt-dialog-fuss{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:12px 16px;border-top:1px solid var(--rahmen);
  background:var(--surface-2);flex:none;min-width:0;max-width:100%;overflow-x:clip}
/* Dialog-/Modal-Fuß: .aam-knopf hat Formular-Abstand (margin-top:20px); --sekundaer setzt 0,
   Primärknopf nicht → Speichern/Abbrechen vertikal versetzt. Zentral für alle Fuß-Aktionen. */
.aam-objekt-dialog-fuss .aam-knopf,
.aam-objekt-dialog-fuss a.aam-knopf,
.kal-modal-fuss .aam-knopf,
.kal-modal-fuss a.aam-knopf,
.rewe-modal-fuss .aam-knopf,
.rewe-modal-fuss a.aam-knopf,
.nachr-eig-fuss .aam-knopf,
.nachr-eig-fuss a.aam-knopf,
.aam-warnung-knoepfe .aam-knopf,
.aam-warnung-knoepfe a.aam-knopf,
.aam-wvp-fuss .aam-knopf,
.aam-wvp-fuss a.aam-knopf,
.aam-aktionen .aam-knopf,
.aam-aktionen a.aam-knopf,
.dok-xl-diag-knoepfe .aam-knopf,
.dok-xl-diag-knoepfe a.aam-knopf,
.dok-upload-aktionen .aam-knopf,
.dok-upload-aktionen a.aam-knopf,
.dok-vorschau-akt .aam-knopf,
.dok-vorschau-akt a.aam-knopf,
.dok-auswahl-leiste .aam-knopf,
.dok-auswahl-leiste a.aam-knopf{
  margin-top:0;margin-bottom:0;flex:0 1 auto;max-width:100%;
  display:inline-flex;align-items:center;justify-content:center;
  box-sizing:border-box;min-height:44px;line-height:1.2;vertical-align:middle}
.aam-objekt-dialog-fuss .aam-knopf--klein,
.kal-modal-fuss .aam-knopf--klein,
.rewe-modal-fuss .aam-knopf--klein,
.aam-aktionen .aam-knopf--klein,
.dok-xl-diag-knoepfe .aam-knopf--klein,
.dok-auswahl-leiste .aam-knopf--klein,
.dok-vorschau-akt .aam-knopf--klein{min-height:38px}
.kal-modal-fuss,
.rewe-modal-fuss,
.nachr-eig-fuss,
.aam-wvp-fuss,
.aam-aktionen,
.dok-xl-diag-knoepfe{align-items:center;min-width:0}
.aam-adress-liste{display:flex;flex-direction:column;gap:6px;max-height:min(28vh,200px);overflow:auto;
  padding:8px 10px;border:1px solid var(--rahmen);border-radius:8px;background:var(--surface-2)}
.aam-adress-liste .aam-check{margin:0}
@media (max-width:480px){
  .aam-objekt-dialog{width:calc(100vw - 16px);max-height:92vh}
  .aam-objekt-dialog--tabs{width:calc(100vw - 16px);max-height:92vh}
  .aam-objekt-dialog-tabs{gap:2px}
  .aam-objekt-dialog-tabs button{flex:1 1 auto;padding:8px 6px;font-size:.82rem}
}

/* ===== Fuß ===== */
.aam-fuss{margin:36px 0 22px;padding:18px clamp(18px,3vw,44px);border-top:3px solid transparent;border-image:var(--grad) 1;
  display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:center;color:var(--dezent);font-size:.88rem}
.aam-fuss a{color:var(--link);text-decoration:none;font-weight:600}
.aam-fuss a:hover{text-decoration:underline}
.aam-fuss-link{background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer;text-decoration:none}
.aam-fuss-link:hover{text-decoration:underline}
.aam-nav-hilfe{background:none;border:none;padding:7px 13px;border-radius:999px;color:var(--text);font-family:'Montserrat',sans-serif;font-size:.93rem;font-weight:600;cursor:pointer}
.aam-nav-hilfe:hover{background:var(--surface-2);color:var(--marke)}
/* Gedrueckter Zustand: der Suche-/Hilfe-Nav-Button sieht gedrueckt aus, solange
   sein Panel offen ist (aria-expanded=true, gesetzt von suche.js/hilfe.js). */
.aam-nav-such-link[aria-expanded="true"],
.aam-nav-hilfe-link[aria-expanded="true"]{background:var(--surface-2);color:var(--marke);border-radius:999px;box-shadow:inset 0 2px 5px rgba(16,24,40,.22)}
.hilfe-backdrop{position:fixed;inset:0;z-index:2300;background:rgba(16,24,40,.45)}
.hilfe-backdrop[hidden]{display:none}
.hilfe-panel{position:fixed;top:0;right:0;z-index:2350;width:min(480px,100vw);max-width:100%;height:100vh;height:100dvh;display:flex;flex-direction:column;background:var(--surface);border-left:1px solid var(--rahmen);box-shadow:-8px 0 32px rgba(16,24,40,.18);transform:translateX(100%);transition:transform .28s ease;visibility:hidden}
.hilfe-panel--offen{transform:translateX(0);visibility:visible}
.hilfe-panel-kopf{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--rahmen);background:var(--surface-2);flex:none}
.hilfe-panel-titel{margin:0;font-family:'Montserrat',sans-serif;font-size:1.05rem}
.hilfe-panel-zu{background:none;border:none;cursor:pointer;font-size:1.6rem;line-height:1;color:var(--dezent);padding:0 .25rem}
.hilfe-panel-zu:hover{color:var(--marke)}
.hilfe-panel-inhalt{flex:1;overflow-y:auto;padding:16px 18px 24px}
.hilfe-panel-inhalt .aam-abschnitt{margin-bottom:1.4rem}
.aam-panel-griff{position:absolute;z-index:3;top:0;bottom:0;left:-7px;width:14px;cursor:col-resize;touch-action:none;outline:none}
.aam-panel-griff::after{content:"";position:absolute;top:42%;bottom:42%;left:5px;width:3px;border-radius:3px;background:var(--rahmen);transition:background .15s,box-shadow .15s}
.aam-panel-griff:hover::after,.aam-panel-griff:focus::after{background:var(--marke);box-shadow:0 0 0 3px color-mix(in srgb,var(--marke) 20%,transparent)}
body.aam-panel-wird-skaliert{cursor:col-resize;user-select:none}
@media (max-width:600px){.aam-panel-griff{display:none}.hilfe-panel{width:100vw!important}}
.aam-hilfe-rechte{display:grid;gap:10px;margin:10px 0 18px}
.aam-hilfe-rechte>div{padding:10px 12px;border:1px solid var(--rahmen);border-radius:9px;background:var(--surface-2);scroll-margin-top:10px}
.aam-hilfe-rechte dt{margin:0 0 4px}
.aam-hilfe-rechte dd{margin:0;color:var(--text);line-height:1.5}
.such-ki{border-top:1px solid var(--rahmen);padding:14px 18px 18px;background:var(--surface-2)}
.such-ki h3{margin:0 0 6px;font-size:1rem}.such-ki-hinweis{font-size:.82rem;color:var(--dezent);margin:0 0 10px;line-height:1.4}
.such-ki-auswahl{display:block;font-size:.84rem;margin-bottom:8px}.such-ki-auswahl select{margin-top:3px}
.such-ki-verlauf{display:grid;gap:8px;max-height:260px;overflow:auto;margin:8px 0}
.such-ki-kopf{display:flex;align-items:center;justify-content:space-between;gap:12px}
.such-ki-kopf h3{margin-bottom:0}
.such-ki-leeren{border:0;background:none;cursor:pointer;font:inherit;font-size:.78rem;padding:2px 0}
.such-ki-nachricht{padding:8px 10px;border-radius:10px;background:var(--surface);border:1px solid var(--rahmen);font-size:.88rem}
.such-ki-nachricht--user{margin-left:28px;background:var(--marke-hell,#eef6ff)}.such-ki-nachricht--assistant{margin-right:18px}
.such-ki-nachricht p{white-space:pre-wrap;margin:4px 0 0;line-height:1.45}.such-ki-quellen{margin:7px 0 0;padding-left:18px}
.such-ki-form{display:grid;gap:7px}.such-ki-form textarea{resize:vertical;min-height:66px}
/* Hilfe ist NICHT modal: Seite bleibt bedienbar (Menüpunkte klickbar), die Hilfe
   bleibt über Seitenwechsel hinweg geöffnet (localStorage in hilfe.js). */
body.hilfe-offen{overflow:auto}
.aam-fuss nav{display:flex;gap:18px}

/* ===== Kontext-Hilfe-Dialog (Primärmodus) ===== */
.hilfe-kontext{
  position:fixed;z-index:2400;top:72px;right:16px;
  width:min(420px,calc(100vw - 24px));max-height:min(70vh,640px);
  display:flex;flex-direction:column;
  background:var(--surface,#fff);border:1px solid var(--rahmen,#ddd);border-radius:10px;
  box-shadow:0 10px 20px -4px rgba(16,24,40,.24),0 20px 44px -12px rgba(16,24,40,.32);
  overflow:hidden
}
.hilfe-kontext[hidden]{display:none!important}
.hilfe-kontext-kopf{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:8px 10px 8px 12px;background:var(--surface-2,#f5f7fb);
  border-bottom:1px solid var(--rahmen,#ddd);cursor:move;user-select:none;touch-action:none;flex:none
}
.hilfe-kontext-titel{font-weight:700;font-size:.95rem;font-family:'Montserrat',sans-serif;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.hilfe-kontext-werkzeuge{display:flex;align-items:center;gap:6px;flex:none}
.hilfe-kontext-voll{
  border:1px solid var(--rahmen);background:var(--surface);color:var(--text);
  border-radius:8px;padding:3px 8px;font:inherit;font-size:.75rem;cursor:pointer;white-space:nowrap
}
.hilfe-kontext-voll:hover{border-color:var(--marke);color:var(--marke)}
.hilfe-kontext-zu{background:none;border:none;cursor:pointer;font-size:1.35rem;line-height:1;
  color:var(--dezent,#8a9099);padding:0 .2rem}
.hilfe-kontext-zu:hover{color:var(--marke)}
.hilfe-kontext-inhalt{padding:12px 14px 16px;overflow-y:auto;font-size:.9rem;line-height:1.45}
.hilfe-kontext-inhalt .aam-abschnitt{margin:0}
.hilfe-kontext-inhalt h2,.hilfe-kontext-inhalt h3{font-size:1rem;margin:0 0 .5rem}
.hilfe-kontext-inhalt p,.hilfe-kontext-inhalt li{margin:.35rem 0}
.hilfe-kontext-leer{margin:0;color:var(--dezent);font-style:italic}
body.hilfe-kontext-aktiv{cursor:help}
body.hilfe-kontext-aktiv .hilfe-kontext{cursor:default}
body.hilfe-kontext-aktiv .hilfe-kontext-kopf{cursor:move}
.hilfe-ziel--aktiv{outline:2px solid color-mix(in srgb,var(--marke,#E2001A) 70%,transparent);
  outline-offset:2px;border-radius:6px}
@media (max-width:600px){
  .hilfe-kontext{
    left:8px!important;right:8px!important;top:auto!important;bottom:8px;
    width:auto;max-width:none;max-height:min(55vh,480px);border-radius:12px 12px 8px 8px
  }
  .hilfe-kontext-voll{font-size:.7rem;padding:2px 6px}
}

@media(max-width:560px){
  .aam-kopf{padding:8px max(12px,env(safe-area-inset-right,0px)) 8px max(12px,env(safe-area-inset-left,0px))}
  .aam-marke img{height:40px}
  .aam-kopf nav a{padding:6px 9px;font-size:.82rem}
  h1{font-size:1.45rem}.aam-inhalt{margin:16px 0;padding:0 max(12px,env(safe-area-inset-left,0px),env(safe-area-inset-right,0px))}
  .aam-abschnitt{padding:14px 14px;margin:0 0 14px;border-radius:var(--r-m)}
  .aam-card{padding:20px 16px}
  .aam-fuss{margin:24px 0 16px;padding:14px max(12px,env(safe-area-inset-left,0px),env(safe-area-inset-right,0px))}
  .aam-recht-hilfe{width:36px;height:36px;margin-top:2px}
  .dok-vorschau{padding:8px}
  .dok-vorschau-box{max-height:96dvh;width:100%;border-radius:var(--r-m)}
  .dok-vorschau-frame{height:min(70dvh,520px)}
  .dok-pop-panel{top:max(12px,env(safe-area-inset-top,0px));max-height:calc(100dvh - 24px)}
  .aam-aktionen{gap:8px}
  .aam-aktionen .aam-knopf{flex:1 1 auto}
}

/* ===== Profil-Erweiterung: Webseite, Social-Links, Kompetenz-Vokabulare ===== */
.aam-gruppe{margin:15px 0 0}
.aam-gruppe>label{margin:0 0 2px}
.aam-trenner{border:0;border-top:1px solid var(--rahmen);margin:20px 0 4px}
.aam-feld-klein{padding:8px 11px}
.aam-knopf-klein{min-height:38px;padding:8px 16px;margin-top:8px;font-size:.86rem}
.aam-plz{max-width:220px}
.aam-links-container,.aam-schwerpunkt-container,.aam-ausbildung-container,.aam-staerke-container{
  display:flex;flex-direction:column;gap:8px;margin-top:6px}
.aam-link-zeile,.aam-tag-zeile{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.aam-link-zeile .aam-feld,.aam-tag-zeile .aam-feld{margin-top:0;flex:1 1 160px}
.aam-link-vorlage{display:none}
.aam-link-hinzu,.aam-tag-hinzu{display:inline-flex;align-items:center;gap:6px;margin-top:8px;background:var(--surface-2);
  color:var(--heading);border:1px solid var(--rahmen);border-radius:999px;padding:7px 15px;cursor:pointer;
  font-family:'Montserrat',sans-serif;font-weight:600;font-size:.84rem;transition:border-color .15s,color .15s,box-shadow .15s}
.aam-link-hinzu:hover,.aam-tag-hinzu:hover{border-color:var(--marke);color:var(--marke);box-shadow:var(--e1)}
.aam-entfernen{flex:none;width:36px;height:36px;border-radius:var(--r-s);border:1px solid var(--rahmen);
  background:var(--surface-2);color:var(--dezent);cursor:pointer;font-size:1rem;line-height:1;display:grid;place-items:center;
  transition:color .15s,border-color .15s}
.aam-entfernen:hover{color:var(--gefahr);border-color:var(--gefahr)}
.aam-tag{display:inline-block;background:var(--surface-2);border:1px solid var(--rahmen);color:var(--text);
  border-radius:999px;padding:2px 11px;font-size:.8rem;font-weight:600;margin:0 4px 4px 0}

/* Schaltflaeche „Steckbrief" in der Mitgliederliste — nur sichtbar, wenn das
   Mitglied seinen Steckbrief freigegeben hat. */
.aam-steckbrief-knopf{display:inline-flex;align-items:center;gap:5px;margin-left:8px;
  padding:2px 10px;border-radius:999px;border:1px solid var(--marke);color:var(--marke);
  background:transparent;font-size:.76rem;font-weight:600;text-decoration:none;white-space:nowrap;
  transition:background .15s,color .15s}
.aam-steckbrief-knopf:hover,.aam-steckbrief-knopf:focus-visible{background:var(--marke);color:#fff}
/* Nur-Symbol-Variante fuer enge Tabellenzeilen — gleiche Trefferflaeche wie die
   Nachbar-Symbole, damit sie auf Touch-Geraeten bedienbar bleibt. */
.aam-steckbrief-knopf--symbol{gap:0;padding:2px 7px;font-size:.9rem;line-height:1.4}
/* In der Hover-Karte sitzt der Knopf neben „Nachricht senden" und uebernimmt
   deren Knopf-Optik — die Pillenform von oben wuerde dort aus der Reihe fallen. */
.aam-user-hover-aktionen{display:flex;flex-wrap:wrap;gap:6px}
.aam-user-hover-aktionen .aam-steckbrief-knopf{border-radius:var(--r-s);margin-left:0}

/* Warn-Abschnitt vor einer Aenderung mit Folgen (z. B. Verlust von
   Gruppen-Mitgliedschaften). Bewusst auffaellig: Hier wurde noch NICHTS
   gespeichert, und die Bestaetigung laesst sich nicht rueckgaengig machen. */
.aam-warnung-abschnitt{border-left:5px solid var(--gefahr)}
.aam-warnung-abschnitt h2{color:var(--gefahr)}
.aam-warnung-abschnitt ul{margin:8px 0 12px;padding-left:1.2em}
.aam-warnung-abschnitt li{list-style:disc;margin:3px 0}
.aam-warnung-knoepfe{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:14px}
.aam-warnung-knoepfe form{margin:0}
.aam-warnung-knoepfe .aam-knopf{margin-top:0}

/* ===== Kompakt-Modus fuer formularlastige Seiten (`$aamInhaltKlasse`) =====
   Zieht Abstaende zwischen Feldern, Gruppen und Abschnitten zusammen, damit
   lange Formulare wie das Profil deutlich weniger Scrollen erfordern.
   BEWUSST nur ueber die Wurzelklasse: Alle anderen Seiten bleiben unveraendert.
   Beruehrt werden ausschliesslich Abstaende und Schriftgroessen von Hilfstexten
   — Bedienflaechen (Eingabefelder, Knoepfe, Kaestchen, Schieberegler) behalten
   ihre Groesse, damit die Seite auf Touch-Geraeten bedienbar bleibt. */
.aam-kompakt label{margin-top:9px}
.aam-kompakt .aam-feld{margin-top:3px;padding:8px 11px}
.aam-kompakt textarea.aam-feld{padding:8px 11px}
.aam-kompakt .aam-abschnitt{padding:14px 16px;margin-bottom:10px}
.aam-kompakt .aam-abschnitt h2{font-size:1.16rem;margin-bottom:4px}
.aam-kompakt .aam-gruppe{margin-top:10px}
.aam-kompakt fieldset.aam-sicht{padding:9px 12px;margin:11px 0 2px}
.aam-kompakt .aam-check{margin:5px 0}
.aam-kompakt .aam-hinweis{margin-top:4px;line-height:1.35}
.aam-kompakt .aam-lead{font-size:.98rem;margin-bottom:6px}
.aam-kompakt .aam-inhalt p,.aam-kompakt p{margin:.3em 0 .6em}
.aam-kompakt .aam-form-2{gap:8px}
.aam-kompakt .aam-knopf-klein{margin-top:5px}
.aam-kompakt .aam-trenner{margin:12px 0 2px}
.aam-kompakt .aam-sb-zeile{padding:5px 0}
.aam-kompakt .aam-sb-form fieldset{margin-bottom:11px}
.aam-kompakt .aam-switch-wrap{margin:11px 0}
.aam-kompakt .aam-schalter{margin:4px 0}
/* Der Speichern-Knopf bleibt gross genug zum Treffen, ruecht aber naeher heran. */
.aam-kompakt .aam-knopf{margin-top:12px}

/* ===== Karteikarte „Steckbrief": wiederholbare Bloecke + Schieberegler ===== */
/* Eine Zeile je Eintrag. Die Felder teilen sich den Platz und brechen auf
   schmalen Bildschirmen untereinander um — der Entfernen-Knopf bleibt rechts. */
.aam-sb-zeile{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap;
  padding:8px 0;border-bottom:1px solid var(--rahmen)}
.aam-sb-zeile:last-child{border-bottom:0}
.aam-sb-feld{flex:1 1 200px;min-width:0;display:block;font-size:.82rem;color:var(--dezent)}
.aam-sb-feld--schmal{flex:0 1 130px}
.aam-sb-feld>span{display:block;margin-bottom:3px}
.aam-sb-feld .aam-feld{margin-top:0;width:100%}
.aam-sb-weg{align-self:flex-end;margin-bottom:1px}
.aam-sb-block:empty{display:none}
.aam-sb-form fieldset{margin-bottom:18px}
@media (max-width:520px){
  .aam-sb-feld,.aam-sb-feld--schmal{flex:1 1 100%}
  .aam-sb-weg{margin-left:auto}
}
/* Schieberegler — dieselbe Bedienlogik wie ein Kaestchen, nur als Kippschalter.
   Das Kaestchen selbst bleibt im Baum (Tastatur, Screenreader), ist aber optisch
   durch die Bahn ersetzt. */
.aam-schalter{display:inline-flex;align-items:center;gap:10px;cursor:pointer;margin:6px 0}
.aam-schalter input{position:absolute;opacity:0;width:44px;height:24px;margin:0;cursor:pointer}
.aam-schalter-bahn{flex:none;width:44px;height:24px;border-radius:999px;background:var(--surface-2);
  border:1px solid var(--rahmen);position:relative;transition:background .15s,border-color .15s}
.aam-schalter-bahn::after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;
  background:var(--dezent);transition:transform .15s,background .15s}
.aam-schalter input:checked+.aam-schalter-bahn{background:var(--marke);border-color:var(--marke)}
.aam-schalter input:checked+.aam-schalter-bahn::after{transform:translateX(20px);background:#fff}
.aam-schalter input:focus-visible+.aam-schalter-bahn{outline:2px solid var(--marke);outline-offset:2px}

/* ===== Teilnehmerliste: Suche + aufklappbares Detail ===== */
.aam-suche-form{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 20px}
.aam-suche-form .aam-feld{flex:1 1 220px;margin-top:0}
.aam-suche-form .aam-knopf{margin-top:0;min-height:44px}
.aam-suche-form .aam-link{margin-top:0}
.aam-person>.aam-person-summary{cursor:pointer;display:flex;flex-direction:column;gap:2px;list-style:none}
.aam-person>.aam-person-summary::-webkit-details-marker{display:none}
.aam-person>.aam-person-summary::after{content:"Details anzeigen";color:var(--link);font-size:.8rem;font-weight:600;margin-top:4px}
.aam-person[open]>.aam-person-summary::after{content:"Details verbergen"}
.aam-person-detail{margin-top:12px;padding-top:12px;border-top:1px solid var(--rahmen)}

/* ===== Statistik Abstimmungen: Auswahl zuerst ===== */
.ab-stat-form{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin:0 0 6px}
.ab-stat-label{display:flex;flex-direction:column;gap:6px;flex:1 1 220px;font-size:.85rem;font-weight:600;color:var(--heading)}
.ab-stat-select{margin-top:0;width:100%;max-width:40rem}
.ab-stat-hinweis{margin-top:8px}
.ab-stat-ergebnis .ab-kopf h2{margin:0 0 .3em;font-size:1.25rem;font-family:'Montserrat',sans-serif}
@media(max-width:560px){
  .ab-stat-form{flex-direction:column;align-items:stretch}
  .ab-stat-select{max-width:none}
}

/* ===== Statistik: Kategorie-Tabs + Tabelle ===== */
.aam-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 20px}
.aam-tab{display:inline-flex;align-items:center;padding:9px 18px;border-radius:999px;background:var(--surface);
  border:1px solid var(--rahmen);color:var(--text);text-decoration:none;font-family:'Montserrat',sans-serif;font-weight:600;
  font-size:.88rem;box-shadow:var(--e1);transition:transform .15s,box-shadow .15s,border-color .15s}
.aam-tab:hover{transform:translateY(-2px);box-shadow:var(--glow);border-color:var(--marke)}
.aam-tab--aktiv{background:var(--grad);color:#062b30;border-color:transparent;box-shadow:var(--glow)}
.aam-tab--aktiv:hover{color:#062b30}
.aam-tabelle{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--rahmen);
  border-radius:var(--r-m);overflow:hidden;box-shadow:var(--e1);margin-top:4px}
.aam-tabelle th,.aam-tabelle td{text-align:left;padding:11px 16px;border-bottom:1px solid var(--rahmen)}
.aam-tabelle th{background:var(--surface-2);font-family:'Montserrat',sans-serif;font-size:.85rem;color:var(--heading)}
.aam-tabelle tr:last-child td{border-bottom:0}
.aam-tabelle td:last-child,.aam-tabelle th:last-child{text-align:right}
.aam-tabelle a{font-weight:600}

/* ===== Sortierbare Tabelle + Sofort-Filter (admin.php) ===== */
.aam-tab-filter{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;margin:0 0 14px}
.aam-tab-filter__feld{display:flex;flex-direction:column;gap:4px;font-size:.8rem;color:var(--text-schwach)}
.aam-tab-filter__feld .aam-feld{margin-top:0;min-width:190px}
.aam-tab-filter__zaehler{margin-left:auto;align-self:center;font-size:.85rem;color:var(--text-schwach)}
/* Kopfzelle als Sortier-Schalter: fuellt die ganze Zelle, zeigt Pfeil-Status. */
.aam-tabelle--sortierbar thead th{padding:0}
.aam-tabelle--sortierbar thead th:last-child{padding:11px 16px}
/* Ungelesen-Spalte in der Userverwaltung: zwei Badges (PN / Gruppe), kompakt */
.aam-user-ungelesen{white-space:nowrap;vertical-align:middle}
.aam-user-ungelesen .aam-badge{margin-left:0;margin-right:4px}
.aam-user-ungelesen .aam-badge:last-child{margin-right:0}
@media (max-width:640px){
  .aam-user-ungelesen{white-space:normal}
  .aam-user-ungelesen .aam-badge{display:inline-block;margin:2px 4px 2px 0}
}
.aam-sort{display:flex;align-items:center;gap:6px;width:100%;border:0;background:none;cursor:pointer;
  padding:11px 16px;font:inherit;font-family:'Montserrat',sans-serif;font-size:.85rem;color:var(--heading);
  text-align:left}
.aam-sort:hover{background:var(--surface)}
.aam-sort:focus-visible{outline:3px solid var(--marke);outline-offset:-3px}
.aam-sort::after{content:'\2195';margin-left:auto;opacity:.35;font-size:.9em}          /* ↕ ungewählt */
th[aria-sort="ascending"] .aam-sort::after{content:'\2191';opacity:1;color:var(--marke)}  /* ↑ */
th[aria-sort="descending"] .aam-sort::after{content:'\2193';opacity:1;color:var(--marke)} /* ↓ */
th[aria-sort="ascending"] .aam-sort,th[aria-sort="descending"] .aam-sort{color:var(--marke)}
.aam-tabelle--sortierbar thead tr.aam-tab-filter-zeile th{padding:6px 8px;vertical-align:middle;background:var(--surface)}
.aam-tabelle--sortierbar thead tr.aam-tab-filter-zeile th:last-child{text-align:right}
.aam-tabelle--sortierbar .aam-feld--tabfilter{width:100%;min-width:0;font-size:.82rem;padding:5px 8px;margin:0}
.aam-tab-filter--inline{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin:0 0 10px}
.aam-tab-filter--inline .aam-tab-filter__zaehler{margin-left:auto}

/* ===== Abstimmungen: Kopfzeile mit Aktions-Knöpfen ===== */
.aam-kopfzeile-aktionen{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}
.aam-kopfzeile-aktionen h1{margin:0}
.aam-aktionen{display:flex;flex-wrap:wrap;gap:10px;align-items:center;min-width:0}

/* ===== Kacheln (Abstimmungs-Übersicht + Archiv) ===== */
.aam-karten{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;margin-top:8px}
.aam-karte{background:var(--surface);border:1px solid var(--rahmen);border-radius:var(--r-l);box-shadow:var(--e1);
  padding:22px 22px 18px;position:relative;overflow:hidden;transition:transform .15s,box-shadow .15s}
.aam-karte::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--grad)}
.aam-karte:hover{transform:translateY(-3px);box-shadow:var(--e2)}
.aam-karte--archiv{opacity:.88}
.aam-karte-kopf{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px;margin-bottom:8px}
.aam-karte-titel{margin:0;font-size:1.05rem;font-family:'Montserrat',sans-serif;flex:1 1 0}
.aam-karte-titel .aam-link{color:var(--heading);text-decoration:none}
.aam-karte-titel .aam-link:hover{color:var(--marke);text-decoration:underline}
.aam-karte-daten{margin:0 0 14px;display:grid;grid-template-columns:auto 1fr;gap:3px 10px;font-size:.88rem}
.aam-karte-daten dt{color:var(--dezent);font-weight:600}
.aam-karte-daten dd{margin:0}

/* ===== Badges (Gesperrt / Archiviert) ===== */
.aam-badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:.74rem;font-family:'Montserrat',sans-serif;
  font-weight:700;letter-spacing:.03em;white-space:nowrap;flex:none}
.aam-badge--gesperrt{background:#fde8e8;color:#a12020;border:1px solid #e8b8b8}
.aam-badge--archiv{background:var(--surface-2);color:var(--dezent);border:1px solid var(--rahmen)}
:root[data-theme="dark"] .aam-badge--gesperrt{background:#3a1a1a;color:#ff9e9e;border-color:#6b3030}
:root[data-theme="dark"] .aam-badge--archiv{background:var(--surface-2);color:var(--dezent);border-color:var(--rahmen)}
/* App-Nutzungs-Badge (Mitgliedsliste): dezent, Symbol + Version, Details im Tooltip */
.aam-badge--app{background:var(--surface-2);color:var(--dezent);border:1px solid var(--rahmen);font-weight:600;margin-left:6px;padding:1px 7px;font-size:.7rem;cursor:default}
/* „Online über"-Kürzel (Mitgliedsliste): sehr dezenter Zusatz hinter dem Status */
.aam-kanal-hinweis{margin-left:6px;color:var(--dezent);font-size:.72rem;font-weight:400;cursor:default}

/* ===== Buttons: Modifikatoren ===== */
.aam-knopf--sekundaer{background:var(--surface-2);color:var(--heading);box-shadow:var(--e1);border:1px solid var(--rahmen);margin-top:0}
.aam-knopf--sekundaer:hover{filter:none;background:var(--rahmen)}
.aam-knopf--destruktiv{background:var(--gefahr);color:#fff;box-shadow:var(--e1)}
.aam-knopf--destruktiv:hover{filter:none;background:var(--gefahr-hover)}
.aam-knopf--klein{min-height:38px;padding:7px 18px;font-size:.86rem;margin-top:8px}

/* ===== Detail-Kopf einer Abstimmung ===== */
.ab-kopf{margin-bottom:18px}
.ab-kopf h1{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:.3em}
.aam-meta{font-size:.9rem;color:var(--dezent);margin:.3em 0 .6em}
.ab-erklaerung{background:var(--surface-2);border-left:4px solid var(--marke);border-radius:0 var(--r-s) var(--r-s) 0;
  padding:10px 14px;margin:10px 0 6px;font-size:.95rem;color:var(--text)}
.aam-erfolg{background:#e6f7f0;border:1px solid var(--gruen);color:#13633f;padding:11px 14px;border-radius:var(--r-s);margin:4px 0 14px}
:root[data-theme="dark"] .aam-erfolg{background:#11302a;color:#86e3b6;border-color:#2f6b54}

/* ===== Optionsliste + Ergebnisbalken ===== */
.ab-optionen{display:flex;flex-direction:column;gap:14px;margin:14px 0}
.ab-optionen--gesperrt .ab-option{opacity:.92}
.ab-option{background:var(--surface);border:1px solid var(--rahmen);border-radius:var(--r-m);box-shadow:var(--e1);padding:14px 16px}
.ab-option-anzeige{display:flex;align-items:center;gap:12px;margin-bottom:8px}
/* Bild-Optionen/Logos: einheitliche feste Box, vollständig sichtbar (contain, kein Beschnitt) */
.ab-bild,.ab-ergebnis-bild{width:140px;height:90px;object-fit:contain;background:var(--surface-2);border:1px solid var(--rahmen);border-radius:var(--r-s);padding:4px;box-sizing:border-box;cursor:zoom-in}
/* Lightbox: Original-Bild in Großansicht (Klick auf ein Options-/Logo-Bild) */
.aam-lightbox{display:none;position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;background:rgba(16,24,40,.82);align-items:center;justify-content:center;padding:24px;cursor:zoom-out}
.aam-lightbox--offen{display:flex}
.aam-lightbox-bild{max-width:95vw;max-height:92vh;object-fit:contain;border-radius:var(--r-s);box-shadow:var(--e3);background:var(--surface)}
.ab-option-text{font-weight:600;color:var(--heading);font-size:.97rem}
/* Ergebnis-Label (Statistik): Bild + optionale Beschriftung */
.ab-ergebnis-label{display:inline-flex;align-items:center;gap:10px}
.ab-ergebnis-text{font-weight:600;color:var(--heading)}
/* Ergebnisbalken */
.ab-balken-wrap{position:relative;background:var(--surface-2);border-radius:999px;height:22px;overflow:hidden;margin-bottom:8px}
.ab-balken{position:absolute;left:0;top:0;height:100%;background:var(--grad);border-radius:999px;
  transition:width .4s ease;min-width:3px}
.ab-balken-label{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:.78rem;font-weight:600;
  color:var(--heading);white-space:nowrap;mix-blend-mode:normal}
/* Stimmformular */
.ab-stimmformular{margin-bottom:18px}
.ab-stimmen-info{background:var(--surface-2);border:1px solid var(--rahmen);border-left:4px solid var(--marke);
  border-radius:0 var(--r-s) var(--r-s) 0;padding:9px 14px;font-size:.9rem;margin-bottom:4px}
.ab-stimme-label{display:flex;align-items:center;gap:8px;font-size:.88rem;color:var(--dezent);margin-top:2px}
.ab-stimme-input{width:72px;padding:5px 9px;border:1px solid var(--rahmen);border-radius:var(--r-s);
  background:var(--surface);color:var(--text);font:inherit;font-size:.93rem;text-align:center;
  transition:border-color .15s,box-shadow .15s}
.ab-stimme-input:focus{outline:none;border-color:var(--marke);box-shadow:var(--fokus)}

/* ===== Optionen-Zeile im Anlegen-Formular ===== */
.ab-option-zeile{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:8px}
.ab-option-zeile .aam-feld-klein{flex:0 0 auto;width:auto}
.ab-option-zeile .aam-feld{flex:1 1 200px;margin-top:0}
.ab-opt-bild{flex:1 1 auto}
.ab-opt-bild + .aam-knopf-klein,.ab-opt-entfernen{flex:none}

/* ===== Zusatz-/Klarstellungs-Spalten: ausgerichtetes Raster ===== */
.ab-optionen-raster-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:14px 0;
  border:1px solid var(--rahmen);border-radius:var(--r-m);background:var(--surface);box-shadow:var(--e1)}
.ab-optionen-raster{border-collapse:separate;border-spacing:0;width:max(100%,720px);font-size:.86rem}
.ab-optionen-raster thead th{position:sticky;top:0;z-index:2;background:var(--surface-2);color:var(--heading);
  font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;
  border-bottom:1px solid var(--rahmen);padding:10px 8px;text-align:left;vertical-align:bottom}
.ab-optionen-raster tbody th,.ab-optionen-raster tbody td{border-bottom:1px solid var(--rahmen);padding:10px 8px;
  vertical-align:middle;background:var(--surface)}
.ab-optionen-raster tbody tr:last-child th,.ab-optionen-raster tbody tr:last-child td{border-bottom:none}
.ab-optionen-raster tbody tr:hover th,.ab-optionen-raster tbody tr:hover td{background:var(--surface-2)}
.ab-or-opt{min-width:11rem;max-width:18rem;text-align:left}
.ab-or-opt-inner{display:flex;align-items:center;gap:8px;min-width:0}
.ab-optionen-raster .ab-option-text{font-weight:600;color:var(--heading);font-size:.95rem;overflow-wrap:anywhere}
.ab-or-col{color:var(--heading);font-weight:600;max-width:14rem}
.ab-or-col--kurz{width:3.2rem;min-width:2.6rem;max-width:3.6rem;text-align:center;font-family:ui-monospace,Consolas,monospace;
  font-size:.95rem;letter-spacing:.02em}
.ab-or-erg{min-width:7.5rem;width:9rem}
.ab-or-stim{width:5.5rem;text-align:center}
.ab-optionen-raster .ab-balken-wrap{margin:0;min-width:6.5rem}
.ab-optionen-raster .ab-stimme-label{margin:0;justify-content:center}
.ab-optionen-raster .ab-bild{width:72px;height:48px}
.aam-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}
/* Fallback: alte Chip-Zellen (falls noch irgendwo genutzt) */
.ab-zusatz-zellen{display:flex;flex-wrap:wrap;gap:6px 10px;margin-left:auto;align-items:stretch}
.ab-zusatz-zelle{display:flex;flex-direction:column;min-width:56px;padding:3px 8px;background:var(--surface-2);
  border:1px solid var(--rahmen);border-radius:var(--r-s);line-height:1.2}
.ab-zusatz-name{font-size:.68rem;text-transform:uppercase;letter-spacing:.03em;color:var(--dezent);font-weight:600}
.ab-zusatz-wert{font-size:.86rem;color:var(--heading);font-weight:600}

/* ===== Spalten-Verwaltung (Admin-Box) ===== */
.ab-spalten-liste{list-style:none;margin:6px 0;padding:0;display:flex;flex-direction:column;gap:6px}
.ab-spalten-zeile{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.ab-spalten-form{display:inline-flex;gap:6px;align-items:center;margin:0}
.ab-spalten-form .aam-feld{margin-top:0;width:auto;flex:1 1 160px}

/* Zusatzwerte-Raster */
.ab-raster-wrap{overflow-x:auto;margin:8px 0}
.ab-raster{border-collapse:collapse;width:100%;font-size:.85rem}
.ab-raster th,.ab-raster td{border:1px solid var(--rahmen);padding:4px 6px;text-align:left;vertical-align:middle}
.ab-raster thead th{background:var(--surface-2);color:var(--heading);position:sticky;top:0}
.ab-raster tbody th{background:var(--surface-2);color:var(--heading);font-weight:600;white-space:nowrap}
.ab-raster td .aam-feld{margin-top:0;min-width:80px}

/* ===== Admin-Box ===== */
.ab-details summary{cursor:pointer;font-weight:600;color:var(--link);font-size:.93rem;padding:4px 0;list-style:none}
.ab-details summary::-webkit-details-marker{display:none}
.ab-details[open] summary{color:var(--marke);margin-bottom:10px}
.ab-admin-aktionen{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start}
.ab-admin-aktionen .ab-details{flex:1 1 100%}
.ab-admin-form{margin:0}
.ab-abgestimmt{margin:0 0 16px;padding:12px 14px;background:var(--surface-2);border:1px solid var(--rahmen);border-radius:8px}
.ab-abgestimmt h3{margin:0 0 8px;font-size:1.05rem;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ab-abgestimmt-liste{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 16px}
.ab-abgestimmt-eintrag{margin:0;min-width:0;max-width:100%}
.ab-abgestimmt-eintrag .aam-name-avatar{max-width:100%}
.ab-abgestimmt-eintrag strong{overflow-wrap:anywhere}

/* ===== Archiv-Suche ===== */
.ab-suche-zeile{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:14px}
.ab-suche-zeile .aam-feld{flex:1 1 220px;margin-top:0}
.ab-suche-zeile .aam-knopf{margin-top:0;min-height:44px}
.ab-suche-zeile .aam-link{margin-top:0}
.ab-suche-treffer{font-size:.9rem;color:var(--dezent);margin-bottom:10px}

/* ===== Option-Bearbeiten-Box ===== */
.ab-opt-edit{margin-top:10px;border-top:1px solid var(--rahmen);padding-top:10px}
.ab-opt-edit summary{cursor:pointer;font-size:.83rem;color:var(--dezent);list-style:none;padding:2px 0}
.ab-opt-edit summary::-webkit-details-marker{display:none}
.ab-opt-edit[open] summary{color:var(--marke);margin-bottom:8px}
.ab-opt-edit-form{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;margin-top:6px}
.ab-opt-edit-form .aam-feld{flex:1 1 160px;margin-top:0;font-size:.88rem}
.ab-opt-edit-form .aam-feld-datei{flex:1 1 auto;font-size:.83rem}
.ab-opt-edit-aktionen{display:flex;gap:8px;flex:0 0 auto;align-items:center}
:root[data-theme="dark"] .ab-opt-edit{border-top-color:var(--rahmen)}

/* ===== Dark-Mode-Ergänzungen ===== */
:root[data-theme="dark"] .ab-balken-wrap{background:var(--surface-2)}
:root[data-theme="dark"] .ab-balken-label{color:var(--text)}
:root[data-theme="dark"] .ab-stimmen-info{background:var(--surface-2)}
:root[data-theme="dark"] .ab-erklaerung{background:var(--surface-2)}

/* ===== Responsive ===== */
@media(max-width:560px){
  .aam-karten{grid-template-columns:1fr}
  .aam-kopfzeile-aktionen{flex-direction:column;align-items:flex-start}
  .ab-bild,.ab-ergebnis-bild{width:110px;height:72px}
  .ab-admin-aktionen{flex-direction:column}
}

/* ===== Eignungsmatrix-Formular ===== */
.matrix-formular .matrix-kriterium{margin:0 0 20px}
.matrix-label{display:block;font-weight:600;color:var(--heading);margin-bottom:3px;font-size:.93rem}
.matrix-hinweis{display:block;font-size:.8rem;color:var(--dezent);margin:2px 0 6px;line-height:1.4}
.matrix-erklaerung{font-size:.86rem;color:var(--text);background:var(--surface-2);border:1px solid var(--rahmen);border-left:3px solid var(--marke);border-radius:var(--r-s);padding:7px 10px;margin:2px 0 8px;line-height:1.5;max-width:70ch}
.matrix-optional{font-weight:400;color:var(--dezent);font-size:.85em}
.matrix-select{max-width:360px}
.matrix-begruendung{resize:vertical;min-height:52px}
.matrix-schlusswort{resize:vertical;min-height:80px}
.matrix-zeichen-zaehler{margin:4px 0 0;font-size:.82rem;color:var(--dezent,#7a898f)}
.matrix-zeichen-zaehler--voll{color:var(--gefahr,#d64545);font-weight:600}
.matrix-cluster{margin-bottom:4px}
.matrix-speichern{margin:8px 0 24px}

/* ===== Matrix-Selbstbild-Hinweis (Statistik-Auswertung) ===== */
.matrix-selbstbild-hinweis{
  background:var(--surface-2);
  border-left:4px solid var(--marke);
  border-radius:0 var(--r-s) var(--r-s) 0;
  padding:9px 14px;
  margin:0 0 10px;
  font-size:.93rem;
  color:var(--text);
}
:root[data-theme="dark"] .matrix-selbstbild-hinweis{background:var(--surface-2)}

/* ===== Eignungs-Auswertungs-Liste (Statistik) ===== */
.matrix-auswertung-liste{list-style:none;padding:0;margin:6px 0 0;display:flex;flex-direction:column;gap:8px}
.matrix-auswertung-zeile{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:center;
  padding:7px 4px;border-bottom:1px solid var(--rahmen);font-size:.9rem}
.matrix-auswertung-zeile:last-child{border-bottom:0}
.matrix-auswertung-label{font-weight:600;color:var(--heading)}
.matrix-auswertung-leer{color:var(--dezent);font-style:italic}
.matrix-auswertung-text{color:var(--text)}
/* Balken (Skala-Kriterien) */
.matrix-auswertung-balken-wrap{position:relative;background:var(--surface-2);border-radius:999px;height:20px;overflow:hidden;min-width:80px}
.matrix-auswertung-balken{position:absolute;left:0;top:0;height:100%;background:var(--grad);border-radius:999px;
  transition:width .4s ease;min-width:3px}
.matrix-auswertung-balken-text{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:.74rem;
  font-weight:600;color:var(--heading);white-space:nowrap}
:root[data-theme="dark"] .matrix-auswertung-balken-wrap{background:var(--surface-2)}
:root[data-theme="dark"] .matrix-auswertung-balken-text{color:var(--text)}

/* ===== Admin: Meldungs-Blöcke ===== */
.aam-meldung{padding:10px 14px;border-radius:var(--r-s);margin:4px 0 14px;font-size:.93rem}
.aam-meldung--ok{background:#e6f7f0;border:1px solid var(--gruen);color:#13633f}
.aam-meldung--fehler{background:#fdecec;border:1px solid var(--gefahr);color:#8a2020}
:root[data-theme="dark"] .aam-meldung--ok{background:#11302a;color:#86e3b6;border-color:#2f6b54}
:root[data-theme="dark"] .aam-meldung--fehler{background:#3a1e1f;color:#ff9a9a;border-color:#7a3030}

/* ===== Responsive Ergänzungen (Matrix) ===== */
@media(max-width:560px){
  .matrix-auswertung-zeile{grid-template-columns:1fr;gap:4px}
  .matrix-select{max-width:100%}
}

/* ===== Eignungsmatrix: Team-Bewertung Side-by-Side ===== */

/* Spalten-Kopfzeile (Bezeichnungen der zwei Vergleichs-Spalten) */
.matrix-vergleich-kopfzeile{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:12px;
  margin:0 0 6px;
  padding:0 0 4px;
  border-bottom:2px solid var(--rahmen);
}
.matrix-vergleich-label-zelle{
  /* leere Zelle über der Kriterium-Beschreibung */
}
.matrix-vergleich-spalte-kopf{
  font-family:'Montserrat',sans-serif;
  font-weight:700;
  font-size:.82rem;
  color:var(--dezent);
  text-transform:uppercase;
  letter-spacing:.04em;
  padding:4px 8px;
  border-radius:var(--r-s);
  background:var(--surface-2);
  text-align:center;
}
.matrix-vergleich-spalte-kopf--team{
  background:color-mix(in srgb,var(--marke) 12%,var(--surface-2));
  color:var(--marke-2);
}
:root[data-theme="dark"] .matrix-vergleich-spalte-kopf--team{
  background:color-mix(in srgb,var(--marke) 18%,var(--surface-2));
  color:var(--marke);
}

/* Zeile pro Kriterium (Grid: Label | Selbst | Team) */
.matrix-vergleich{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:12px;
  align-items:start;
  padding:12px 0;
  border-bottom:1px solid var(--rahmen);
}
.matrix-vergleich:last-child{border-bottom:0}

/* Spalte Selbstbewertung: gedimmt / read-only Optik */
.matrix-vergleich-spalte--selbst{
  background:var(--surface-2);
  border-radius:var(--r-s);
  padding:8px 10px;
  font-size:.91rem;
  color:var(--text);
  opacity:.9;
}
.matrix-vergleich-spalte--selbst .matrix-einschaetzung-wert--gesetzt{
  font-weight:600;
  color:var(--heading);
  display:block;
  margin-bottom:4px;
}
.matrix-vergleich-spalte--selbst .matrix-einschaetzung-wert--leer{
  color:var(--dezent);
  font-style:italic;
}
.matrix-begruendung-text{
  font-size:.83rem;
  color:var(--dezent);
  margin:.35em 0 0;
}

/* Spalte Team: aktives Formular, leicht hervorgehoben */
.matrix-vergleich-spalte--team{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.matrix-vergleich-spalte--team .aam-feld{
  margin-top:0;
}

/* Schlusswort-Block in der Gesamt-Sektion */
.matrix-schlusswort-block{
  margin:18px 0 0;
  padding:14px 16px;
  background:var(--surface-2);
  border:1px solid var(--rahmen);
  border-left:4px solid var(--marke);
  border-radius:0 var(--r-s) var(--r-s) 0;
}
.matrix-schlusswort-block h3{margin:0 0 6px}
.matrix-schlusswort-text{margin:0;font-size:.93rem;color:var(--text)}

/* Formular-Wrapper */
.matrix-vergleich-formular .aam-abschnitt{overflow:visible}

/* Responsive: auf schmalen Bildschirmen stapeln */
@media(max-width:700px){
  .matrix-vergleich,
  .matrix-vergleich-kopfzeile{
    grid-template-columns:1fr;
  }
  .matrix-vergleich-kopfzeile .matrix-vergleich-label-zelle{display:none}
  .matrix-vergleich-spalte-kopf{display:none}
  .matrix-vergleich-spalte--selbst{
    position:relative;
  }
  .matrix-vergleich-spalte--selbst::before{
    content:"Selbstbewertung";
    display:block;
    font-family:'Montserrat',sans-serif;
    font-weight:700;
    font-size:.78rem;
    color:var(--dezent);
    text-transform:uppercase;
    letter-spacing:.04em;
    margin-bottom:4px;
  }
  .matrix-vergleich-spalte--team::before{
    content:"Team-Bewertung";
    display:block;
    font-family:'Montserrat',sans-serif;
    font-weight:700;
    font-size:.78rem;
    color:var(--marke-2);
    text-transform:uppercase;
    letter-spacing:.04em;
    margin-bottom:4px;
  }
}

/* ===== Sortier-Formular (Drag & Drop + Pfeil-Buttons) ===== */
.ab-sortierung{margin-top:2.4rem}

.ab-sort-liste{
  list-style:none;
  margin:0 0 1.1rem;
  padding:0;
  max-width:520px;
}

.ab-sort-item{
  display:flex;
  align-items:center;
  gap:10px;
  padding:9px 12px;
  margin-bottom:6px;
  background:var(--surface);
  border:1px solid var(--rahmen);
  border-radius:var(--r-s);
  box-shadow:var(--e1);
  cursor:grab;
  transition:box-shadow .15s,background .15s,transform .12s;
  user-select:none;
}
.ab-sort-item:active{cursor:grabbing}
.ab-sort-item.ab-sort-drag{
  opacity:.45;
  box-shadow:var(--e3);
  transform:scale(1.02) rotate(.6deg);
}

.ab-sort-griff{
  flex-shrink:0;
  font-size:1.15rem;
  color:var(--dezent);
  cursor:grab;
  line-height:1;
  padding:2px 4px;
}
.ab-sort-griff:active{cursor:grabbing}

.ab-sort-label{
  flex:1;
  display:flex;
  align-items:center;
  gap:8px;
  font-size:.95rem;
  color:var(--text);
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}

.ab-sort-vorschau{
  width:32px;
  height:32px;
  object-fit:cover;
  border-radius:5px;
  flex-shrink:0;
  border:1px solid var(--rahmen);
}

.ab-sort-buttons{
  display:flex;
  flex-direction:column;
  gap:3px;
  flex-shrink:0;
}

/* Pfeil-Schaltflächen: kompakt, Icon-only */
.aam-knopf--icon{
  width:30px;
  height:26px;
  padding:0;
  font-size:.78rem;
  line-height:1;
  border-radius:6px;
  display:grid;
  place-items:center;
  background:var(--surface-2);
  color:var(--text);
  border:1px solid var(--rahmen);
  cursor:pointer;
  transition:background .13s,color .13s,box-shadow .13s;
}
.aam-knopf--icon:hover{
  background:var(--marke);
  color:#fff;
  border-color:var(--marke);
  box-shadow:var(--glow);
}
.aam-knopf--icon:focus-visible{
  outline:none;
  box-shadow:var(--fokus);
}

/* Dunkelmodus — Drag-Zustand etwas heller hervorheben */
:root[data-theme="dark"] .ab-sort-item{
  background:var(--surface);
}
:root[data-theme="dark"] .ab-sort-item.ab-sort-drag{
  background:var(--surface-2);
}

/* ===== Inline-Sortier-Controls (Griff + Pfeil-Buttons direkt an jeder Option) ===== */
.ab-sort-controls{
  display:inline-flex;
  align-items:center;
  gap:3px;
  flex-shrink:0;
  margin-right:6px;
}

/* Griff-Icon: dezent, cursor:grab — Safari/iOS: touch-action + kein Textselekt */
.ab-sort-controls .ab-sort-griff{
  font-size:1.05rem;
  color:var(--dezent);
  cursor:grab;
  line-height:1;
  padding:1px 3px;
  user-select:none;
  -webkit-user-select:none;
  touch-action:none;
  -webkit-touch-callout:none;
}
.ab-sort-controls .ab-sort-griff:active{
  cursor:grabbing;
}

/* Pfeil-Buttons: sehr kompakt, Icon-only */
.ab-sort-controls .ab-sort-hoch,
.ab-sort-controls .ab-sort-runter{
  width:24px;
  height:22px;
  padding:0;
  font-size:.7rem;
  line-height:1;
  border-radius:5px;
  border:1px solid var(--rahmen);
  background:var(--surface-2);
  color:var(--text);
  cursor:pointer;
  display:grid;
  place-items:center;
  transition:background .13s,color .13s,border-color .13s;
  touch-action:manipulation;
  -webkit-user-select:none;
  user-select:none;
}
.ab-sort-controls .ab-sort-hoch:hover,
.ab-sort-controls .ab-sort-runter:hover{
  background:var(--marke);
  color:#fff;
  border-color:var(--marke);
}
.ab-sort-controls .ab-sort-hoch:focus-visible,
.ab-sort-controls .ab-sort-runter:focus-visible{
  outline:none;
  box-shadow:var(--fokus);
}

/* Gezogene Option: halbtransparent mit Schatten */
.ab-option.ab-sort-drag{
  opacity:.5;
  box-shadow:var(--e2);
}

/* Kurzes Feedback nach Auto-Speichern */
.ab-optionen.ab-sort-gespeichert{
  border-left:3px solid var(--marke);
  background:var(--surface-2);
  transition:border-left .15s,background .15s;
  border-radius:var(--r-s);
}

/* Dark-Mode-Ergänzungen für Inline-Controls */
:root[data-theme="dark"] .ab-sort-controls .ab-sort-hoch,
:root[data-theme="dark"] .ab-sort-controls .ab-sort-runter{
  background:var(--surface-2);
  color:var(--text);
  border-color:var(--rahmen);
}
:root[data-theme="dark"] .ab-optionen.ab-sort-gespeichert{
  background:var(--surface-2);
}

/* ===== Rangfolge-Abstimmung ===== */
.ab-rangfolge-anleitung{
  background:var(--surface-2);
  border:1px solid var(--rahmen);
  border-left:4px solid var(--marke);
  border-radius:var(--r-m);
  padding:14px 16px;
  margin:12px 0 16px;
}
.ab-rangfolge-anleitung-titel{
  margin:0 0 8px;
  font-size:1rem;
  color:var(--heading);
}
.ab-rangfolge-anleitung-liste{
  margin:0 0 8px;
  padding-left:1.25rem;
  color:var(--text);
  font-size:.92rem;
  line-height:1.45;
}
.ab-rang-platz{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:1.75rem;
  height:1.75rem;
  border-radius:999px;
  background:var(--marke);
  color:#fff;
  font-weight:700;
  font-size:.85rem;
  flex-shrink:0;
}
.ab-optionen-raster .ab-or-platz{
  width:3rem;
  text-align:center;
  vertical-align:middle;
}
/* Nur Griff/Controls sperren Scroll — Optionen selbst bleiben scrollbar. */
.ab-stimmformular--rangfolge .ab-sort-controls{
  touch-action:none;
}
.ab-stimmformular--rangfolge .ab-option.ab-sort-drag{
  touch-action:none;
  -webkit-user-select:none;
  user-select:none;
}
.ab-gruppen-rechte td label{
  display:inline-flex;align-items:center;gap:6px;white-space:nowrap;
}
@media (max-width:640px){
  .ab-rangfolge-anleitung{padding:12px}
  .ab-sort-controls .ab-sort-hoch,
  .ab-sort-controls .ab-sort-runter{
    width:32px;height:30px;font-size:.85rem;
  }
  .ab-sort-controls .ab-sort-griff{font-size:1.35rem;padding:4px 6px}
}

/* ===== Navi-Dropdown „Auswertungen" ===== */
.aam-dropdown{position:relative;display:inline-block}
.aam-dropdown-knopf{font-family:'Montserrat',sans-serif;font-size:.93rem;font-weight:600;cursor:pointer;
  padding:7px 13px;border:none;border-radius:999px;background:transparent;color:var(--text);display:inline-flex;align-items:center;gap:5px}
.aam-dropdown-knopf:hover{background:var(--surface-2);color:var(--marke)}
.aam-dropdown-pfeil{font-size:.7em;transition:transform .15s}
.aam-dropdown.offen .aam-dropdown-pfeil{transform:rotate(180deg)}
.aam-dropdown-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:248px;background:var(--surface);
  border:1px solid var(--rahmen);border-radius:var(--r-m);box-shadow:var(--e2);padding:6px;z-index:1100;
  display:none;flex-direction:column}
.aam-dropdown:hover .aam-dropdown-menu,
.aam-dropdown:focus-within .aam-dropdown-menu,
.aam-dropdown.offen .aam-dropdown-menu{display:flex}
/* Nach absichtlichem Schließen (Toggle/Esc/Menüpunkt) Hover/Fokus überstimmen,
   sonst bleibt das Menü optisch offen, solange die Maus noch darüber liegt. */
.aam-dropdown.geschlossen .aam-dropdown-menu,
.aam-dropdown.geschlossen:hover .aam-dropdown-menu,
.aam-dropdown.geschlossen:focus-within .aam-dropdown-menu{display:none}
/* Hover-Brücke über die 6px-Lücke zwischen Knopf und Menü: das Dropdown bleibt
   offen, wenn man die Maus vom Menüpunkt nach unten ins Menü bewegt
   (Anwender 2026-07-12). Ohne die Brücke reißt der :hover über der leeren Lücke
   ab und das Menü verschwindet, bevor man es erreicht. Transparent, unsichtbar. */
.aam-dropdown-menu::before{content:"";position:absolute;left:0;right:0;top:-6px;height:6px}
.aam-dropdown-menu a{padding:9px 12px;border-radius:var(--r-s);color:var(--text);text-decoration:none;
  font-family:'Montserrat',sans-serif;font-size:.9rem;white-space:nowrap}
.aam-dropdown-menu a:hover{background:var(--surface-2);color:var(--marke)}
/* Rechtsbuendiges Menue (Profil-Symbol ganz rechts) — ragt nicht aus dem Fenster */
.aam-dropdown-menu--rechts{left:auto;right:0}

/* ---- Verschachtelte Untermenues (z. B. „Auswertungen") ------------------
   Statt einer flachen Endlos-Liste klappt ein Unterpunkt ein eigenes
   Flyout-Untermenue nach rechts auf (Desktop, Hover/Fokus). Im mobilen
   „nav-offen"-Modus wird es stattdessen eingerueckt untereinander gezeigt. */
.aam-dropdown-sub{position:relative;display:flex;flex-direction:column}
.aam-dropdown-sub-knopf{flex:1;display:flex;align-items:center;justify-content:space-between;gap:8px;
  cursor:pointer;border:none;background:transparent;padding:9px 12px;border-radius:var(--r-s);
  color:var(--text);font-family:'Montserrat',sans-serif;font-size:.9rem;white-space:nowrap}
.aam-dropdown-sub-knopf:hover,.aam-dropdown-sub:focus-within>.aam-dropdown-sub-knopf{background:var(--surface-2);color:var(--marke)}
.aam-dropdown-sub-pfeil{font-size:.7em;transition:transform .15s}
.aam-dropdown-submenu{position:absolute;top:-6px;left:100%;min-width:220px;background:var(--surface);
  border:1px solid var(--rahmen);border-radius:var(--r-m);box-shadow:var(--e2);padding:6px;z-index:1200;
  display:none;flex-direction:column}
/* Hover-Bruecke ueber die Luecke zwischen Unterpunkt und Flyout. */
.aam-dropdown-submenu::before{content:"";position:absolute;top:0;bottom:0;left:-8px;width:8px}
.aam-dropdown-sub:hover>.aam-dropdown-submenu,
.aam-dropdown-sub:focus-within>.aam-dropdown-submenu,
.aam-dropdown-sub.offen>.aam-dropdown-submenu{display:flex}
.aam-dropdown-sub.geschlossen>.aam-dropdown-submenu,
.aam-dropdown-sub.geschlossen:hover>.aam-dropdown-submenu,
.aam-dropdown-sub.geschlossen:focus-within>.aam-dropdown-submenu{display:none}
.aam-dropdown-sub:hover>.aam-dropdown-sub-knopf .aam-dropdown-sub-pfeil,
.aam-dropdown-sub.offen>.aam-dropdown-sub-knopf .aam-dropdown-sub-pfeil{transform:rotate(90deg)}

/* Termine-Dropdown: faellige Erinnerungen als Abschnitt im Menue. */
.aam-termin-menu-liste{max-height:280px;overflow:auto;padding:2px 4px}
.aam-termin-menu-liste ul{list-style:none;margin:0;padding:0}
.aam-termin-menu-liste li{padding:6px 6px;border-bottom:1px solid var(--rahmen);font-size:.86rem}
.aam-termin-menu-liste li:last-child{border-bottom:none}
/* Mobiles Menue (aufgeklappte Navigation): Flyout entfaellt, Untermenue
   erscheint eingerueckt untereinander. Untermenues nur per Tap (.offen) —
   Hover/Focus-within oeffnen nicht (sonst laenger als der Viewport). */
.aam-kopf.nav-offen .aam-dropdown-submenu{position:static;box-shadow:none;border:none;
  padding:2px 0 2px 12px;min-width:0;max-width:100%;left:auto}
@media(max-width:720px){
  .aam-kopf.nav-offen .aam-dropdown:hover .aam-dropdown-menu,
  .aam-kopf.nav-offen .aam-dropdown:focus-within .aam-dropdown-menu{display:none}
  .aam-kopf.nav-offen .aam-dropdown.offen .aam-dropdown-menu,
  .aam-kopf.nav-offen .aam-dropdown.offen:hover .aam-dropdown-menu,
  .aam-kopf.nav-offen .aam-dropdown.offen:focus-within .aam-dropdown-menu{display:flex}
  .aam-kopf.nav-offen .aam-dropdown-sub:hover>.aam-dropdown-submenu,
  .aam-kopf.nav-offen .aam-dropdown-sub:focus-within>.aam-dropdown-submenu{display:none}
  .aam-kopf.nav-offen .aam-dropdown-sub.offen>.aam-dropdown-submenu,
  .aam-kopf.nav-offen .aam-dropdown-sub.offen:hover>.aam-dropdown-submenu,
  .aam-kopf.nav-offen .aam-dropdown-sub.offen:focus-within>.aam-dropdown-submenu{display:flex}
  .aam-kopf.nav-offen .aam-dropdown-sub:hover>.aam-dropdown-sub-knopf .aam-dropdown-sub-pfeil{
    transform:none}
  .aam-kopf.nav-offen .aam-dropdown-sub.offen>.aam-dropdown-sub-knopf .aam-dropdown-sub-pfeil{
    transform:rotate(90deg)}
}
/* Aktions-Knoepfe im Menue (Favoriten-Fenster, Hell/Dunkel) — Optik wie Menue-Links */
.aam-menu-aktion{flex:1;text-align:left;cursor:pointer;border:none;background:transparent;
  padding:9px 12px;border-radius:var(--r-s);color:var(--text);
  font-family:'Montserrat',sans-serif;font-size:.9rem;white-space:nowrap}
.aam-menu-aktion:hover{background:var(--surface-2);color:var(--marke)}
/* Profil-Knopf: nur Symbol, rund */
.aam-profil-knopf{padding:8px;border-radius:50%;line-height:0}
.aam-profil-knopf svg{display:block}
/* Mobile-Stapelung der Kopf-Dropdowns erfolgt jetzt nur noch im aufgeklappten
   Hamburger (siehe Abschnitt „Responsive Navigation" oben). Zwischen 721px und
   1100px bleibt die Navigation als Symbolreihe inline, damit die Dropdowns dort
   nicht faelschlich in voller Breite stapeln. */

/* ===== Eignungs-Matrix über alle Mitglieder ===== */
.mx-werkzeug{display:flex;align-items:center;gap:9px;margin:0 0 12px;flex-wrap:wrap}
.mx-werkzeug label{font-size:.9rem;color:var(--dezent)}
.mx-select{max-width:260px}
/* Keine inneren Scrollbalken: die Matrix wird über die Haupt-Scrollbars der Seite
   gescrollt. Die erste Spalte (Kriterium) bleibt via sticky-left an der Seite fixiert.
   Auf schmalen Viewports: Huelle mit overflow-x, sonst bricht die Seite horizontal. */
.mx-wrap{overflow:visible}
@media(max-width:900px){
  .mx-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;max-width:100%}
  .mx-eck,.mx-krit{min-width:140px;max-width:180px}
}
.mx-grid{border-collapse:separate;border-spacing:0;font-size:.82rem;width:max-content;min-width:100%}
.mx-grid th,.mx-grid td{border-bottom:1px solid var(--rahmen);border-right:1px solid var(--rahmen)}
.mx-grid thead th{background:var(--surface-2);padding:8px 10px;text-align:center;vertical-align:bottom}
.mx-eck{position:sticky;left:0;z-index:5 !important;background:var(--surface-2);text-align:left !important;min-width:210px}
.mx-krit{position:sticky;left:0;z-index:2;background:var(--surface);text-align:left;padding:7px 10px;font-weight:600;
  color:var(--heading);min-width:210px;max-width:240px}
.mx-kopf{min-width:104px}
.mx-name{background:none;border:none;cursor:default;color:var(--text);font-family:'Montserrat',sans-serif;font-size:.82rem;
  font-weight:600;padding:2px 4px;border-radius:6px;line-height:1.25;max-width:120px}
.mx-name.mx-hat-schluss{cursor:pointer}
.mx-name.mx-hat-schluss:hover{background:var(--surface);color:var(--marke)}
.mx-cluster-zeile th{position:sticky;left:0;background:var(--surface-2);text-align:left;padding:6px 10px;
  font-family:'Montserrat',sans-serif;font-size:.8rem;letter-spacing:.02em;color:var(--marke-2);text-transform:uppercase}
.mx-zelle{padding:6px 8px;text-align:center;vertical-align:middle;color:var(--text);position:relative}
.mx-zelle.mx-hat-b{cursor:pointer}
.mx-zelle.mx-hat-b:hover{outline:2px solid var(--marke);outline-offset:-2px}
.mx-wert{display:inline-block}
.mx-b{margin-left:3px;font-size:.85em;opacity:.85}
.mx-leer{color:var(--dezent)}
/* Skala-Farbcodierung (grün → rot), dezent hinterlegt */
.mx-c5{background:rgba(63,196,107,.30)}
.mx-c4{background:rgba(63,196,107,.16)}
.mx-c3{background:rgba(245,166,35,.18)}
.mx-c2{background:rgba(214,69,69,.16)}
.mx-c1{background:rgba(214,69,69,.30)}
.mx-c0{background:transparent}
/* Hervorgehobene Spalte */
.mx-grid .mx-hl{box-shadow:inset 0 0 0 9999px rgba(15,175,192,.10)}
.mx-grid th.mx-hl{outline:2px solid var(--marke);outline-offset:-2px}
/* Detail-Panel */
.mx-panel{position:relative;margin-top:14px;background:var(--surface-2);border:1px solid var(--rahmen);
  border-left:4px solid var(--marke);border-radius:var(--r-m);padding:14px 40px 14px 16px}
.mx-panel h3{margin:0 0 6px}
.mx-panel p{margin:0;white-space:pre-line;color:var(--text)}
.mx-panel-zu{position:absolute;top:8px;right:10px;background:none;border:none;font-size:1.4rem;line-height:1;
  cursor:pointer;color:var(--dezent)}
.mx-panel-zu:hover{color:var(--gefahr)}

/* ===== Rechtsform-Rechner ===== */
.rk-slider-kopf{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:10px}
.rk-slider-kopf h2{margin:0}
.rk-slider-wert{text-align:right}
.rk-slider-wert>span:first-child{font-family:'Montserrat',sans-serif;font-weight:800;font-size:2.6rem;color:var(--marke);line-height:1}
.rk-prozent{font-size:1.2rem;color:var(--marke);vertical-align:top;margin-left:2px}
.rk-slider{-webkit-appearance:none;appearance:none;width:100%;height:8px;border-radius:999px;outline:none;
  background:linear-gradient(to right,var(--marke) 0%,var(--marke) var(--pct,50%),var(--rahmen) var(--pct,50%),var(--rahmen) 100%)}
.rk-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:24px;height:24px;border-radius:50%;
  background:var(--surface);border:3px solid var(--marke);cursor:pointer;box-shadow:var(--e1)}
.rk-slider::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:var(--surface);border:3px solid var(--marke);cursor:pointer}
.rk-slider-skala{display:flex;justify-content:space-between;font-size:.74rem;color:var(--dezent);margin-top:6px}
.rk-tabelle-wrap{overflow-x:auto}
.rk-tabelle{min-width:1400px}
.rk-tabelle th small{font-weight:400;color:var(--dezent)}
/* Kleiner Aufwand-Regler direkt im Spaltenkopf (Buchhaltung / Jahresabschluss) */
.rk-th-slider{display:flex;flex-direction:column;gap:2px;margin-top:6px;font-weight:400}
.rk-slider--klein{height:5px;margin:3px 0 0}
.rk-slider--klein::-webkit-slider-thumb{width:15px;height:15px;border-width:2px}
.rk-slider--klein::-moz-range-thumb{width:15px;height:15px;border-width:2px}
.rk-th-label{font-size:.66rem;color:var(--marke);text-align:center;white-space:nowrap;text-transform:none}
.rk-num{text-align:right;white-space:nowrap}
.rk-erg{background:rgba(15,175,192,.07);font-weight:600;color:var(--heading)}
.rk-input{width:96px;text-align:right;padding:6px 8px}
.rk-name{font-weight:600;color:var(--heading);white-space:nowrap}
.rk-marke{display:inline-block;width:7px;height:7px;border-radius:50%;background:transparent;margin-right:7px;vertical-align:middle}
.rk-tabelle tr.rk-beste .rk-marke{background:var(--marke)}
.rk-tabelle tr.rk-beste{background:rgba(15,175,192,.06)}
.rk-legende{display:flex;align-items:center;gap:7px;margin-top:10px}
.rk-punkt{display:inline-block;width:11px;height:11px;border-radius:3px;background:var(--marke)}

/* ===== Dokumente (Explorer: Baum links, Dateien rechts) ===== */
.dok-pfad{margin:6px 0 14px;font-size:.92rem}
.dok-pfad a{color:var(--link);text-decoration:none}
.dok-pfad a:hover{text-decoration:underline}
.dok-explorer{display:grid;grid-template-columns:var(--dok-baum-breite,300px) 12px minmax(0,1fr);gap:8px;align-items:start}
@media (max-width:760px){.dok-explorer{grid-template-columns:1fr}.dok-baum-panel{position:static !important}.dok-splitter{display:none}
  .dok-baum{max-height:min(42vh,320px)}
  .dok-pfeil,.dok-pfeil-leer{width:36px;height:36px;min-width:36px}
  .dok-ibtn{width:40px;height:40px;font-size:1.05rem}
  .dok-baum-btn{min-height:36px;padding:6px 12px;font-size:.8rem}
  .dok-datei{flex-wrap:wrap;align-items:flex-start;gap:8px;padding:10px}
  .dok-datei-typ{max-width:100%;order:3;flex:1 1 100%}
  .dok-groesse{margin-left:0}
  .dok-akt{margin-left:auto}
  .dok-haupt{flex:1 1 auto;width:100%}
  .dok-main-kopf{gap:10px}
  .dok-upload-form{min-width:0;width:100%}
}

/* Zieh-Griff (Splitter) zwischen Ordnerbaum und Datei-Bereich — nur Desktop.
   Die Breite der linken Spalte steuert die CSS-Variable --dok-baum-breite auf
   .dok-explorer; JS setzt sie ueber die CSSOM (CSP-konform, kein Inline-<style>). */
.dok-splitter{align-self:stretch;position:relative;min-height:64px;padding:0;border:none;background:none;cursor:col-resize;touch-action:none;border-radius:999px}
.dok-splitter::before{content:"";position:absolute;top:0;bottom:0;left:50%;transform:translateX(-50%);width:2px;border-radius:999px;background:var(--rahmen);transition:background .15s,width .15s}
.dok-splitter::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:6px;height:30px;border-radius:5px;background:var(--surface);border:1px solid var(--rahmen);box-shadow:var(--e1);transition:border-color .15s}
.dok-splitter:hover::before,.dok-splitter.dok-splitter--aktiv::before{width:4px;background:var(--marke)}
.dok-splitter:hover::after,.dok-splitter.dok-splitter--aktiv::after{border-color:var(--marke)}
.dok-splitter:focus-visible{outline:none}
.dok-splitter:focus-visible::before{width:4px;background:var(--marke)}
.dok-splitter:focus-visible::after{border-color:var(--marke);box-shadow:var(--fokus)}
/* Waehrend des Ziehens: nichts markieren, ueberall der Resize-Zeiger. */
.dok-resizing{cursor:col-resize !important;user-select:none !important}

/* Linke Spalte: Ordnerbaum */
.dok-baum-panel{background:var(--surface);border:1px solid var(--rahmen);border-radius:var(--r-m);box-shadow:var(--e1);overflow:hidden;position:sticky;top:12px}
.dok-baum-kopf{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 11px;background:var(--surface-2);border-bottom:1px solid var(--rahmen)}
.dok-baum-titel{font-family:'Montserrat',sans-serif;font-weight:600;font-size:.92rem}
.dok-baum-akt{display:flex;align-items:center;gap:4px}
.dok-baum-btn{border:1px solid var(--rahmen);background:var(--surface);color:var(--text);border-radius:999px;padding:3px 9px;font-size:.72rem;cursor:pointer}
.dok-baum-btn:hover{border-color:var(--marke);color:var(--marke)}
.dok-baum{padding:8px;max-height:72vh;overflow:auto}
.dok-baum ul{list-style:none;margin:0;padding:0}
/* Unterordner deutlich einruecken (26px Stufe + 14px Fuehrungslinie je Ebene). */
/* Unterordner deutlich einrücken: die generische Reset-Regel „.dok-baum ul"
   (Spezifität 0,1,1) überschrieb sonst margin/padding von .dok-kinder (0,1,0) —
   darum hier höher spezifisch (.dok-baum .dok-kinder = 0,2,0). Je Ebene eine
   klare Stufe + Baumlinie (Anwender 2026-07-12). */
.dok-baum .dok-kinder{list-style:none;margin:0 0 0 18px;border-left:1px solid var(--rahmen);padding-left:18px;display:none}
.dok-baum .dok-kinder.dok-offen{display:block}
.dok-zeile{display:flex;align-items:center;gap:3px;padding:3px 4px;border-radius:8px;position:relative}
.dok-zeile:hover{background:var(--surface-2)}
.dok-zeile.dok-aktuell{background:rgba(15,175,192,.12);box-shadow:inset 0 0 0 1px var(--marke)}
.dok-zeile[draggable="true"]{cursor:grab}
.dok-zeile.dok-drop-ziel{outline:2px solid var(--marke);outline-offset:1px;background:rgba(15,175,192,.16)}
.dok-wurzel{margin-bottom:4px}
.dok-pfeil{border:none;background:none;cursor:pointer;color:var(--dezent);width:22px;height:22px;flex:none;display:grid;place-items:center;font-size:.82rem;border-radius:6px;transition:transform .12s,color .12s,background .12s}
.dok-pfeil:hover{background:var(--surface-2);color:var(--marke)}
.dok-pfeil.dok-offen{transform:rotate(90deg);color:var(--marke)}
.dok-pfeil-leer{width:22px;flex:none}
.dok-zeile-link{display:flex;align-items:center;gap:7px;flex:1;min-width:0;text-decoration:none;color:var(--text);padding:2px 0}
.dok-zeile-link:hover .dok-name{color:var(--marke)}

/* Rechte Spalte: aktueller Ordner + Dateien */
.dok-main{min-width:0}
.dok-main.dok-laedt{opacity:.5;transition:opacity .1s}
.dok-main-kopf{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.dok-main-titel{display:flex;align-items:center;gap:8px;font-family:'Montserrat',sans-serif;font-weight:600;font-size:1.05rem;color:var(--heading)}
.dok-upload-form{display:flex;flex-direction:column;gap:8px;align-items:flex-start;flex:1;min-width:min(100%,320px)}
.dok-datei-wahl{display:flex;align-items:center;gap:10px;flex-wrap:wrap;cursor:pointer;max-width:100%}
.dok-datei-wahl .dok-datei-knopf{margin:0;pointer-events:none}
.dok-datei-name{font-size:.85rem;color:var(--dezent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:min(100%,300px)}
.dok-upload-aktionen{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.dok-upload-aktionen .dok-neu-dokument{margin:0}
.dok-datei-liste{display:flex;flex-direction:column;gap:6px;min-height:120px;border:2px dashed transparent;border-radius:var(--r-m);padding:6px;transition:border-color .15s,background .15s}
.dok-datei-liste.dok-drop{border-color:var(--marke);background:rgba(15,175,192,.06)}
.dok-auswahl-leiste{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 10px;padding:8px 10px;border:1px solid var(--rahmen);border-radius:var(--r-m);background:var(--surface-2)}
.dok-auswahl-leiste[hidden]{display:none!important}
.dok-auswahl-alle{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;color:var(--text);cursor:pointer;min-height:44px}
.dok-auswahl-alle input{width:18px;height:18px;accent-color:var(--marke);flex:none}
.dok-datei{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--rahmen);border-radius:var(--r-m);padding:8px 12px;box-shadow:var(--e1);transition:opacity .18s ease,transform .18s ease,border-color .15s,background .15s}
.dok-datei--gewaehlt{border-color:var(--marke);background:rgba(15,175,192,.08)}
.dok-datei--weg{opacity:0;transform:translateX(8px) scale(.98);pointer-events:none}
@media (prefers-reduced-motion:reduce){.dok-datei--weg{transform:none;transition:opacity .12s ease}}
.dok-datei-check{display:inline-flex;align-items:center;justify-content:center;flex:none;width:28px;min-height:44px;margin:0}
.dok-datei-check input{width:18px;height:18px;accent-color:var(--marke);cursor:pointer}
.dok-datei-check--leer{visibility:hidden}
.dok-loeschen-frage{margin:0 0 8px;font-size:1rem;color:var(--heading);font-weight:600}
.dok-datei:target{border-color:var(--marke);box-shadow:0 0 0 4px color-mix(in srgb,var(--marke) 25%,transparent),var(--e2);animation:dok-ziel-puls 1.2s ease-out 1}
@keyframes dok-ziel-puls{0%{transform:scale(.985)}55%{transform:scale(1.008)}100%{transform:scale(1)}}
.dok-datei-typ{display:inline-flex;align-items:center;flex:none;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:2px 7px;border:1px solid var(--rahmen);border-radius:999px;background:var(--surface-2);color:var(--dezent);font-size:.72rem;font-weight:600;line-height:1.2}
.dok-datei[draggable="true"]{cursor:grab}

/* Gemeinsame Bausteine (Icon, Name, Groesse) */
.dok-haupt{display:flex;align-items:center;gap:11px;flex:1;min-width:0;text-decoration:none;color:var(--text)}
.dok-haupt:hover .dok-name{color:var(--marke)}
.dok-icon-wrap{flex:none;display:grid;place-items:center;width:26px;height:26px}
.dok-icon,.dok-icon-img{width:24px;height:24px;object-fit:contain}
.dok-name{font-family:'Montserrat',sans-serif;font-weight:600;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dok-groesse{margin-left:auto;color:var(--dezent);font-size:.8rem;flex:none}

/* Kleine Aktions-Symbole neben Ordner/Datei */
.dok-akt{display:flex;align-items:center;gap:1px;flex:none}
.dok-ibtn{display:inline-grid;place-items:center;width:24px;height:24px;border:1px solid transparent;border-radius:7px;background:none;color:var(--dezent);cursor:pointer;font-size:.92rem;line-height:1;text-decoration:none}
.dok-ibtn:hover{background:var(--surface);border-color:var(--rahmen);color:var(--marke)}
.dok-ibtn--del:hover{color:#e2001a;border-color:#e2001a}
.dok-del-form{display:inline-flex;margin:0}

/* Popover (Neuer Ordner / Eigenschaften) */
.dok-pop{position:relative;display:inline-flex}
.dok-pop>summary{list-style:none}
.dok-pop>summary::-webkit-details-marker{display:none}
/* Popover als kleines modales Dialogfeld — NICHT vom Baum-Scroll abgeschnitten,
   kein „Unterformular" im Baum. Abgedunkelter Hintergrund + zentriert. */
.dok-pop[open]::before{content:"";position:fixed;inset:0;background:rgba(16,24,40,.42);z-index:1100}
/* Oben verankert (unter der Navbar) statt vertikal zentriert — so kann der obere
   Rand bei viel Inhalt nie aus dem Bild wandern; der Inhalt scrollt intern. */
.dok-pop-panel{position:fixed;top:76px;left:50%;transform:translateX(-50%);z-index:1200;
  width:min(92vw,360px);max-height:calc(100dvh - 92px);overflow:auto;background:var(--surface);
  border:1px solid var(--rahmen);border-radius:var(--r-l);box-shadow:var(--e3);padding:16px;
  display:flex;flex-direction:column;gap:10px;text-align:left;white-space:normal}
@supports not (height:100dvh){.dok-pop-panel{max-height:calc(100vh - 92px)}}
.dok-pop-kopf{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:-2px 0 2px}
.dok-pop-titel{font-family:'Montserrat',sans-serif;font-weight:600;color:var(--heading)}
.dok-pop-zu{border:none;background:none;font-size:1.5rem;line-height:1;color:var(--dezent);cursor:pointer;padding:0 4px}
.dok-pop-zu:hover{color:var(--marke)}
.dok-mini{display:flex;flex-direction:column;gap:6px}
.dok-mini .aam-feld{width:100%}
.dok-sub>summary{cursor:pointer;font-size:.9rem;font-weight:600;color:var(--heading);padding:4px 0}
.dok-symbolwahl{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0}
.dok-symbol-opt{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--rahmen);
  border-radius:8px;cursor:pointer;color:var(--text);position:relative}
.dok-symbol-opt input{position:absolute;opacity:0;inset:0;cursor:pointer}
.dok-symbol-opt:has(input:checked){outline:2px solid var(--marke);color:var(--marke)}
.dok-symbol-opt--paar:not(:has(input:checked)){outline:1px dashed var(--marke);outline-offset:1px}
.dok-symbol-opt--ausgeblendet{display:none}
.dok-symbol-paar-hinweis{margin:0 0 4px;font-size:.78rem}
.dok-symbol-opt span{font-size:.62rem}
.dok-symbol-upload{font-size:.8rem;color:var(--dezent);display:block}
.dok-recht-tab{width:100%;font-size:.85rem;border-collapse:collapse}
.dok-recht-tab td{padding:3px 4px}
.dok-recht-tab select{width:100%}
.aam-knopf--klein{padding:6px 12px;font-size:.82rem;min-height:0}

/* ===== „Neues Dokument": Dokumenttyp-Auswahl als Kachel-Raster =====
   Loest die schlichte Linkliste durch anklickbare Kacheln (grosses Symbol +
   Name) ab. Die Kacheln entstehen ausschliesslich aus DateiRepo::dokTypAuswahl()
   — ein neuer DOK_META-Typ (z. B. „brief") erscheint automatisch, hier ist
   nichts hart kodiert. CI-treu (NOVUNIO eG, Tuerkis-Akzent, weiche Ecken +
   Elevation), Hover-/Fokus-Zustand, tastaturbedienbar (native <a> + sichtbarer
   Fokusring). Nur die Auswahl-Ansicht wird breiter — andere Popover unberuehrt. */
.dok-neu-dokument .dok-pop-panel{width:min(94vw,480px)}
.dok-neu-typen{display:grid;grid-template-columns:repeat(auto-fill,minmax(122px,1fr));gap:11px;margin-top:2px}
.dok-neu-typ{display:flex;flex-direction:column;align-items:center;gap:10px;
  padding:17px 11px 14px;text-align:center;text-decoration:none;color:var(--heading);
  background:var(--surface-2);border:1px solid var(--rahmen);border-radius:var(--r-m);box-shadow:var(--e1);
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}
.dok-neu-typ-icon{display:grid;place-items:center;width:54px;height:54px;flex:none;
  font-size:1.75rem;line-height:1;border-radius:15px;background:var(--surface);border:1px solid var(--rahmen);
  box-shadow:0 10px 18px -8px rgba(15,40,46,.35);transition:transform .16s ease,border-color .16s ease}
:root[data-theme="dark"] .dok-neu-typ-icon{box-shadow:0 10px 18px -8px rgba(0,0,0,.55)}
.dok-neu-typ-label{font-family:'Montserrat',sans-serif;font-weight:600;font-size:.9rem;line-height:1.25;color:var(--heading)}
.dok-neu-typ:hover,.dok-neu-typ:focus-visible{transform:translateY(-3px);background:var(--surface);
  border-color:var(--marke);box-shadow:var(--e3),var(--glow)}
.dok-neu-typ:focus-visible{outline:none;box-shadow:var(--e3),var(--fokus)}
.dok-neu-typ:hover .dok-neu-typ-icon,.dok-neu-typ:focus-visible .dok-neu-typ-icon{border-color:var(--marke);transform:scale(1.07)}
.dok-neu-typ:active{transform:translateY(-1px)}
@media (prefers-reduced-motion:reduce){
  .dok-neu-typ,.dok-neu-typ-icon{transition:none}
  .dok-neu-typ:hover,.dok-neu-typ:focus-visible,.dok-neu-typ:active{transform:none}
  .dok-neu-typ:hover .dok-neu-typ-icon,.dok-neu-typ:focus-visible .dok-neu-typ-icon{transform:none}
}

/* ===== Eignungsmatrix-Filter (Mitgliedsliste + Karte) ===== */
.aam-filter-form{align-items:center}
.aam-filter-feld{margin-top:0;max-width:240px}
.aam-filter-feld:disabled{opacity:.55;cursor:not-allowed}

/* ===== Wünsche zur Firmengründung ===== */
.wuensche-liste{display:flex;flex-direction:column;gap:14px}
.wuensche-block{margin:0}
.wuensche-summary{cursor:pointer;display:flex;align-items:center;gap:10px;list-style:none;
  font-family:'Montserrat',sans-serif;font-weight:700;font-size:1.06rem;color:var(--heading);padding:2px 0}
.wuensche-summary::-webkit-details-marker{display:none}
.wuensche-summary::after{content:"Antwort anzeigen";margin-left:auto;flex:none;color:var(--link);
  font-size:.8rem;font-weight:600;white-space:nowrap}
.wuensche-block[open]>.wuensche-summary::after{content:"Antwort verbergen"}
.wuensche-block[open]>.wuensche-summary{color:var(--marke);margin-bottom:0}
.wuensche-detail{margin-top:12px;padding-top:12px;border-top:1px solid var(--rahmen)}
.wuensche-text{white-space:pre-wrap;margin:0;color:var(--text)}
@media(max-width:560px){
  .wuensche-summary{flex-wrap:wrap}
  .wuensche-summary::after{margin-left:0;width:100%}
}

/* ===== Dokumente: Datei-Anzahl je Ordner + Vorschau-Modal ===== */
.dok-anzahl{color:var(--dezent);font-size:.76rem;font-weight:400;margin-left:2px;flex:none;white-space:nowrap}
.dok-vorschau{position:fixed;inset:0;z-index:1300;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(16,24,40,.55)}
.dok-vorschau[hidden]{display:none}
.dok-vorschau-box{background:var(--surface);border:1px solid var(--rahmen);border-radius:var(--r-l);box-shadow:var(--e3);
  width:min(94vw,960px);max-height:90vh;display:flex;flex-direction:column;overflow:hidden}
.dok-vorschau-kopf{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 16px;border-bottom:1px solid var(--rahmen);background:var(--surface-2)}
.dok-vorschau-titel{font-family:'Montserrat',sans-serif;font-weight:600;color:var(--heading);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dok-vorschau-akt{display:flex;align-items:center;gap:10px;flex:none}
.dok-vorschau-body{flex:1;min-height:0;overflow:auto;display:flex;align-items:center;justify-content:center;padding:12px;background:var(--bg)}
.dok-vorschau-bild{max-width:100%;max-height:78vh;object-fit:contain;border-radius:var(--r-s)}
.dok-vorschau-frame{width:100%;height:76vh;border:0;background:#fff;border-radius:var(--r-s)}

/* ===== Ordner-Symbol: „zu" (geschlossen) vs. „auf" (aufgeklappt) ===== */
.dok-icon-auf{display:none}
.dok-zeile:has(> .dok-pfeil.dok-offen) .dok-icon-zu{display:none}
.dok-zeile:has(> .dok-pfeil.dok-offen) .dok-icon-auf{display:grid}
.dok-symbol-gruppe{border:1px solid var(--rahmen);border-radius:var(--r-s);padding:6px 8px 8px;margin:2px 0}
.dok-symbol-gruppe legend{font-size:.78rem;color:var(--dezent);padding:0 4px;font-family:'Montserrat',sans-serif}

/* ===== Rechte-Simulator (Admin) ===== */
.dok-sim-form{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 14px;background:var(--surface);border:1px solid var(--rahmen);border-radius:var(--r-m);padding:8px 12px}
.dok-sim-form label{display:flex;align-items:center;gap:8px;font-size:.9rem;font-weight:600;color:var(--heading)}
.dok-sim-banner{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:space-between;margin:0 0 14px;background:#fff8e1;border:1px solid #f0d060;color:#5a4a00;border-radius:var(--r-m);padding:10px 14px}
:root[data-theme="dark"] .dok-sim-banner{background:#332b12;border-color:#6b5a1f;color:#f2e2a8}
.dok-recht-badge{display:inline-block;padding:1px 8px;border-radius:999px;font-size:.72rem;background:var(--surface-2);border:1px solid var(--rahmen);color:var(--dezent);white-space:nowrap}

/* ===== Freigabe-Links + Protokoll (Aktivitäts-Log) ===== */
.dok-pop-panel--breit{width:min(94vw,540px)}
.dok-freigabe-eintrag{display:flex;align-items:center;gap:6px;margin:4px 0;flex-wrap:wrap}
.dok-freigabe-eintrag .aam-feld{flex:1 1 200px;font-size:.76rem}
.dok-log-liste{list-style:none;margin:0;padding:0;max-height:52vh;overflow:auto;font-size:.8rem}
.dok-log-liste li{padding:5px 0;border-bottom:1px solid var(--rahmen);display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline}
.dok-log-zeit{color:var(--dezent);font-variant-numeric:tabular-nums;white-space:nowrap}
.dok-log-aktion{font-weight:600;color:var(--heading)}
.dok-log-wer{color:var(--marke)}
.dok-log-detail{color:var(--text)}
.dok-log-ip{color:var(--dezent);font-size:.72rem;margin-left:auto}

/* ===== Profilfoto ===== */
.aam-foto-block{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.aam-foto-vorschau{flex:none;width:96px;height:96px;border-radius:50%;overflow:hidden;background:var(--surface-2);
  border:1px solid var(--rahmen);display:grid;place-items:center;box-shadow:var(--e1)}
.aam-foto-bild{width:100%;height:100%;object-fit:cover}
.aam-foto-platzhalter{font-family:'Montserrat',sans-serif;font-weight:700;font-size:2.4rem;color:var(--marke)}
.aam-foto-aktionen{flex:1;min-width:220px}

/* ===== Avatar (ueberall wo ein Name erscheint) ===== */
.aam-avatar{display:inline-grid;place-items:center;flex:none;border-radius:50%;overflow:hidden;
  font-family:'Montserrat',sans-serif;font-weight:700;vertical-align:middle;line-height:1;background:var(--surface-2)}
.aam-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.aam-avatar--klein{width:26px;height:26px;font-size:.78rem}
.aam-avatar--gross{width:52px;height:52px;font-size:1.25rem}
.aam-name-avatar{display:inline-flex;align-items:center;gap:8px}
.aam-user-hover-wrap{display:inline-flex;vertical-align:middle}
.aam-user-hover-wrap .aam-avatar{cursor:pointer}
/* Unter Hilfe-Panel (2350), über Seiteninhalt; Kopfleiste (.aam-kopf: 5000) bleibt oben. */
.aam-user-hover-pop{position:fixed;z-index:4000;width:max-content;max-width:min(620px,calc(100vw - 16px));pointer-events:auto}
.aam-user-hover-pop[hidden]{display:none!important}
.aam-user-hover-card-inner{display:flex;align-items:flex-start;background:var(--surface);border:1px solid var(--rahmen);border-radius:var(--r-l);box-shadow:var(--e3);overflow:hidden}
.aam-user-hover-img{display:block;width:150px;flex:none;height:auto;object-fit:contain;background:var(--surface-2)}
.aam-user-hover-body{flex:1;min-width:0;padding:12px 14px 14px;font-size:.9rem;overflow:hidden}
.aam-user-hover-name{font-family:'Montserrat',sans-serif;font-size:1.05rem;color:var(--heading);margin-bottom:2px}
.aam-user-hover-ort{color:var(--dezent);font-size:.88rem;margin-bottom:8px}
.aam-user-hover-zeile{font-size:.88rem;margin-top:6px;display:flex;gap:8px;align-items:baseline}
.aam-user-hover-zeile .lbl{color:var(--dezent);min-width:72px;flex:none;font-size:.8rem}
.aam-user-hover-zeile>span:last-child{min-width:0;flex:1;word-break:break-word;overflow-wrap:anywhere}
.aam-user-hover-zeile .aam-tag{margin:0 4px 4px 0}
.aam-user-hover-zeile a{word-break:break-word;overflow-wrap:anywhere}
.aam-user-hover-freitext{display:block;max-height:10em;overflow:auto;white-space:pre-wrap;line-height:1.35}
.aam-user-hover-gekuerzt{color:var(--dezent);font-size:.78rem;font-style:italic}
.aam-user-hover-zeile:has(.aam-user-hover-freitext){align-items:flex-start}
.aam-online-flag{position:relative;display:inline-block;font-size:1rem;line-height:1;vertical-align:middle;margin-left:5px;cursor:help}
/* Puls, damit das Fähnchen als „jetzt aktiv" wahrgenommen wird */
.aam-online-flag::before{content:"";position:absolute;inset:-2px;border-radius:50%;background:rgba(46,125,50,.35);animation:aam-online-puls 1.8s ease-out infinite;z-index:-1}
@keyframes aam-online-puls{0%{transform:scale(.6);opacity:.8}70%{transform:scale(1.6);opacity:0}100%{opacity:0}}
@media (prefers-reduced-motion:reduce){.aam-online-flag::before{animation:none}}
.aam-online-flag--karte::before,#aam-legende .aam-online-flag::before{display:none}
/* Klarer Hover-Tooltip: „Gerade online" als Sprechblase */
.aam-online-flag[title]:hover::after{content:attr(title);position:absolute;left:50%;bottom:calc(100% + 6px);transform:translateX(-50%);
  background:#2e7d32;color:#fff;font-size:.75rem;font-weight:600;line-height:1.2;white-space:nowrap;padding:4px 8px;border-radius:6px;
  box-shadow:0 4px 12px rgba(0,0,0,.25);z-index:3000;pointer-events:none}
.aam-online-flag--karte{font-size:1.4rem;margin-left:0;filter:drop-shadow(0 1px 2px rgba(0,0,0,.4))}
.aam-marker-wrap{background:transparent;border:none;pointer-events:none}
/* Leaflet lädt oft nach stil.css — kombinierte Klasse schlägt .leaflet-div-icon (weißes Rechteck). */
.leaflet-div-icon.aam-marker-wrap,
.aam-marker-wrap.leaflet-div-icon{background:transparent!important;border:none!important;box-shadow:none}
.aam-marker-wrap .aam-status-dot{pointer-events:auto}
/* Öffentliche Karte: anonyme Punkte ohne Tooltip/Cursor-Hinweis */
.aam-karte-buehne--oeffentlich .aam-marker-wrap--anonym,
.aam-karte-buehne--oeffentlich .aam-marker-wrap--anonym .aam-status-dot{cursor:default}
.aam-karte-buehne--oeffentlich .aam-marker-wrap--interaktiv,
.aam-karte-buehne--oeffentlich .aam-marker-wrap--interaktiv .aam-status-dot{cursor:pointer}
/* Ein Hover-Hinweis: CSS-Sprechblase (data-aam-label), zuverlässig auch im iframe-Panel. */
.aam-karte-buehne--oeffentlich .aam-marker-wrap--interaktiv .aam-status-dot[data-aam-label]:hover::after{
  content:attr(data-aam-label);position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);
  background:#003B6F;color:#fff;font-size:.75rem;font-weight:600;line-height:1.2;white-space:nowrap;padding:4px 8px;border-radius:6px;
  box-shadow:0 4px 12px rgba(0,0,0,.25);z-index:10000;pointer-events:none}
/* Standalone-Öffentlich-Karte: Vorstellseite als Overlay-Dialog (ohne Neural-Parent). */
.aam-oeff-vorstellung-overlay{position:fixed;inset:0;z-index:20000;background:rgba(4,8,12,.72);display:flex;align-items:center;justify-content:center;padding:16px}
.aam-oeff-vorstellung-panel{width:min(720px,calc(100vw - 32px));max-height:min(88vh,920px);display:flex;flex-direction:column;background:#0b1520;border:1px solid rgba(255,255,255,.12);border-radius:12px;box-shadow:0 24px 64px rgba(0,0,0,.45);overflow:hidden}
.aam-oeff-vorstellung-panel__kopf{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.08)}
.aam-oeff-vorstellung-panel__kopf h2{margin:0;font-size:1rem;font-weight:700;color:#fff}
.aam-oeff-vorstellung-panel__zu{border:0;background:transparent;color:#fff;font-size:1.5rem;line-height:1;cursor:pointer;padding:0 4px}
.aam-oeff-vorstellung-panel__inhalt{overflow:auto;padding:16px;color:#e8eef5}
.aam-karte-legende-fest .aam-status-dot{cursor:default}
#aam-legende .aam-online-flag{margin-left:0;font-size:1.1rem}

/* ---- Phase 2: Suche, Versionen, Favoriten ---- */
.dok-such-form { display:flex; gap:.5rem; align-items:center; margin:0 0 1rem; flex-wrap:wrap; }
.dok-such-form .aam-feld { max-width:22rem; }
.dok-such-liste { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.35rem; }
.dok-such-liste li { display:flex; gap:.75rem; align-items:baseline; flex-wrap:wrap; padding:.35rem .5rem; border:1px solid var(--rahmen,#dddddd); border-radius:8px; }
.dok-such-treffer { display:inline-flex; align-items:center; gap:.4rem; }
.dok-such-treffer .dok-icon-wrap { display:inline-flex; }
.dok-such-notiz { color:var(--text-dezent,#8a9099); font-size:.85rem; }
.dok-version-liste { list-style:none; margin:.5rem 0 0; padding:0; display:flex; flex-direction:column; gap:.3rem; }
.dok-version-liste li { display:flex; gap:.5rem; align-items:center; flex-wrap:wrap; }
.dok-version-nr { font-weight:700; color:var(--garmisch-blau,#003B6F); min-width:2.2rem; }
.dok-version-form { display:inline; margin:0; }
.dok-fav { background:none; border:none; cursor:pointer; color:var(--text-dezent,#8a9099); font-size:1rem; line-height:1; padding:0 .2rem; }
.dok-fav:hover, .dok-fav.fav-ist { color:#E2001A; }
.aam-fav-merken { background:none; border:none; cursor:pointer; color:inherit; font-size:1.15rem; line-height:1; padding:0 .3rem; }
.aam-fav-merken:hover, .aam-fav-merken.fav-ist { color:#E2001A; }
.fav-drop-aktiv { outline:2px dashed #E2001A; outline-offset:2px; }

/* ---- Freigabe: Kommentar, Copy-Button, externe Ordneransicht ---- */
.dok-neuer-link{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin:0 0 1rem;padding:.6rem .8rem;border:1px solid #E2001A;border-radius:8px;background:var(--surface,#fff)}
.dok-link-feld{min-width:16rem;flex:1 1 20rem;font-family:monospace;font-size:.85rem}
.dok-freigabe-zeile{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}
.dok-freigabe-kommentar{display:block;color:var(--text-dezent,#8a9099);font-size:.85rem;font-style:italic}
[data-copy].kopiert,[data-copy-ziel].kopiert{background:#2e7d32;color:#fff;border-color:#2e7d32}
.frg-pfad{margin:.6rem 0;font-size:.95rem}
.frg-sep{color:var(--text-dezent,#8a9099)}
.frg-liste{list-style:none;margin:.5rem 0;padding:0;display:flex;flex-direction:column;gap:.35rem}
.frg-zeile{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;padding:.4rem .5rem;border:1px solid var(--rahmen,#dddddd);border-radius:8px}
.frg-name{font-weight:600}
.frg-groesse{margin-left:auto}
.frg-del{margin:0}
.frg-upload{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--rahmen,#dddddd);display:flex;gap:.6rem;align-items:flex-end;flex-wrap:wrap}
.frg-leer{color:var(--text-dezent,#8a9099)}

/* ---- Favoriten-Menübaum + Admin-Dropdown ---- */
.aam-dropdown-menu--fav{min-width:15rem;max-height:70vh;overflow-y:auto}
.aam-dropdown-gruppe{padding:.35rem .8rem .15rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dezent,#8a9099)}
.aam-dropdown-leer{display:block;padding:.5rem .8rem;color:var(--text-dezent,#8a9099);font-size:.9rem}
.aam-dropdown-trenner{height:1px;margin:.35rem 0;background:var(--rahmen,#dddddd)}
.aam-dropdown-fav{display:block;width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:.5rem .8rem;font:inherit;color:inherit}
.aam-dropdown-fav:hover{background:var(--surface-2,#f5f7fb)}
.aam-dropdown-fav.fav-ist{color:#E2001A}
.dok-fav.fav-ist{color:#E2001A}

/* ---- Schwebendes Favoriten-Fenster + Menü-Icons ---- */
.aam-icon-knopf,.aam-icon-link{background:none;border:none;cursor:pointer;font-size:1.15rem;line-height:1;color:inherit;text-decoration:none;padding:.15rem .35rem;border-radius:6px}
.aam-icon-knopf:hover,.aam-icon-link:hover{background:rgba(0,0,0,.06)}
.aam-icon-knopf.aktiv{color:#E2001A}
:root[data-theme="dark"] .aam-icon-knopf:hover,:root[data-theme="dark"] .aam-icon-link:hover{background:rgba(255,255,255,.10)}
.fav-float{position:fixed;top:80px;right:16px;z-index:1200;width:300px;max-width:92vw;max-height:70vh;display:flex;flex-direction:column;
  background:var(--surface,#fff);border:1px solid var(--rahmen,#dddddd);border-radius:12px;
  box-shadow:0 10px 20px -4px rgba(16,24,40,.24),0 20px 44px -12px rgba(16,24,40,.32);overflow:hidden}
.fav-float[hidden]{display:none}
.fav-float-kopf{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .75rem;
  background:var(--surface-2,#f5f7fb);border-bottom:1px solid var(--rahmen,#dddddd);cursor:move;user-select:none;touch-action:none}
.fav-float-titel{font-weight:700}
.fav-float-zu{background:none;border:none;cursor:pointer;font-size:1.25rem;line-height:1;color:var(--text-dezent,#8a9099);padding:0 .2rem}
.fav-float-zu:hover{color:#E2001A}
.fav-float-inhalt{padding:.4rem 0;overflow-y:auto}
.fav-float-eintrag{display:block;padding:.45rem .8rem;text-decoration:none;color:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fav-float-eintrag:hover{background:var(--surface-2,#f5f7fb)}
/* Mitglieder-/Kontakt-Favoriten in der Leiste: kleiner Avatar + Status-Punkt + Hover. */
.fav-float-eintrag--mitglied{display:flex;align-items:center;gap:6px}
.fav-float-mitglied{display:inline-flex;align-items:center;gap:4px;flex:none}
.fav-float-mitglied .aam-avatar{width:20px;height:20px;font-size:.68rem}
.fav-float-mitglied .aam-status-dot{margin-right:0}

/* Ordnerwahl-Popup beim Favoriten-Stern (fav-add.js): Ordner waehlen / neu anlegen. */
.fav-wahl-pop{position:fixed;z-index:1400;width:260px;max-width:92vw;display:flex;flex-direction:column;gap:6px;
  background:var(--surface,#fff);border:1px solid var(--rahmen,#ddd);border-radius:12px;padding:10px;
  box-shadow:0 10px 20px -4px rgba(16,24,40,.24),0 20px 44px -12px rgba(16,24,40,.32)}
.fav-wahl-titel{font-weight:700;font-size:.85rem}
.fav-wahl-liste{display:flex;flex-direction:column;gap:2px;max-height:200px;overflow:auto}
.fav-wahl-eintrag{border:none;background:none;text-align:left;cursor:pointer;padding:6px 8px;border-radius:8px;color:var(--text);font:inherit;font-size:.85rem;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fav-wahl-eintrag:hover,.fav-wahl-eintrag:focus-visible{background:var(--surface-2,#f5f7fb)}
.fav-wahl-neu{display:flex;gap:6px;align-items:center}
.fav-wahl-neu-name{flex:1;min-width:0}
.fav-wahl-suche{font-size:.85rem}
.fav-wahl-abbruch{align-self:flex-end}

/* ---- Freigegebener Ordner: Hand-Symbol am Ordnersymbol (wie klassische Freigabe) ---- */
.dok-icon-stapel{position:relative;display:inline-flex;flex:none}
.dok-hand{position:absolute;left:-3px;bottom:-4px;font-size:.72rem;line-height:1;cursor:pointer;
  filter:drop-shadow(0 0 1px #fff) drop-shadow(0 0 1px #fff) drop-shadow(0 0 1px #fff)}
.dok-hand:hover{transform:scale(1.3)}

/* ---- 2FA: Wiederherstellungscodes ---- */
.aam-recovery{list-style:none;margin:.5rem 0;padding:.6rem .8rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.35rem;border:1px solid var(--rahmen,#ddd);border-radius:8px;background:var(--surface-2,#f5f7fb)}
.aam-recovery code{font-size:.95rem;letter-spacing:.03em}

/* ---- Profil-Karteikarten (Tabs) + QR ---- */
.aam-tabs{display:flex;flex-wrap:wrap;gap:2px;border-bottom:2px solid var(--rahmen,#ddd);margin:1.2rem 0}
.aam-tabs button{background:none;border:none;border-bottom:3px solid transparent;padding:.6rem 1.1rem;cursor:pointer;font:inherit;color:var(--dezent,#8a9099);margin-bottom:-2px;border-radius:8px 8px 0 0}
.aam-tabs button:hover{color:var(--text)}
.aam-tabs button.aktiv{color:#E2001A;border-bottom-color:#E2001A;font-weight:700}
.aam-tab-panel[hidden]{display:none}
.aam-qr{display:inline-block;margin:.5rem 0;padding:10px;background:#fff;border:1px solid var(--rahmen,#ddd);border-radius:10px}
.aam-qr img,.aam-qr canvas{display:block}

/* ---- Online/Offline-Statuspunkt (grün = online, grau = offline) ---- */
.aam-status-dot{position:relative;display:inline-block;width:10px;height:10px;border-radius:50%;vertical-align:middle;margin-right:6px;flex:none;cursor:help}
/* Puls als expandierender box-shadow-Ring direkt am Punkt — immer sichtbar
   (unabhaengig von z-index/Hintergrund) und funktioniert auch im Karten-Marker. */
.aam-status-dot--online{background:#2e7d32;transform-origin:center;animation:aam-online-ring 1.5s ease-in-out infinite}
.aam-status-dot--offline{background:#E53935}
.aam-status-dot--abwesend{background:#ED6C02}   /* gelb-orange: App aktiv, Bildschirm gesperrt */
/* Der Punkt pulst deutlich sichtbar zwischen normaler und 1,5-facher Groesse
   (zusaetzlich ein weicher Ring). transform verschiebt kein Layout. */
@keyframes aam-online-ring{
  0%{transform:scale(1);box-shadow:0 0 0 0 rgba(46,125,50,.55)}
  50%{transform:scale(1.5);box-shadow:0 0 0 6px rgba(46,125,50,0)}
  100%{transform:scale(1);box-shadow:0 0 0 0 rgba(46,125,50,0)}
}
@media (prefers-reduced-motion:reduce){.aam-status-dot--online{animation:none}}
.aam-status-dot--karte{width:16px;height:16px;margin:0;border:2px solid #fff}
/* Offline auf der Karte auffällig rot (in der Liste bleibt es grau). */
.aam-status-dot--karte.aam-status-dot--online{background:#2e7d32}
.aam-status-dot--karte.aam-status-dot--offline{background:#E53935}
.aam-status-dot--karte.aam-status-dot--abwesend{background:#ED6C02}

/* Unterkarteikarten (z. B. Rechte-Gruppen in der Gruppenverwaltung): kompaktere Leiste. */
.aam-tabs--klein{margin:4px 0 10px;gap:4px}
.aam-tabs--klein button{padding:5px 12px;font-size:.85rem}

/* Combobox mit integrierter Suche (auswahl-suche.js): Auswahl-Schaltfläche +
   Popup (Suchfeld oben, Liste live gefiltert). Popup hängt an <body> und ist
   position:fixed — z-index über kal-dialog/nachr-eig-dialog (6000). */
.aam-combo{position:relative;display:block;width:100%}
.aam-combo-knopf{display:flex;align-items:center;justify-content:space-between;gap:8px;
  width:100%;text-align:left;cursor:pointer}
.aam-combo-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 auto}
.aam-combo-knopf--leer .aam-combo-text{color:var(--dezent)}
.aam-combo-pfeil{flex:0 0 auto;opacity:.6;font-size:.8em}
.aam-combo-pop{position:fixed;z-index:7000;max-width:min(92vw,440px);
  background:var(--surface);border:1px solid var(--marke);border-radius:10px;
  box-shadow:0 14px 34px -10px rgba(16,24,40,.5);padding:6px;
  display:flex;flex-direction:column;gap:6px}
.aam-combo-suche{width:100%}
.aam-combo-liste{list-style:none;margin:0;padding:0;max-height:min(48vh,320px);overflow:auto}
.aam-combo-opt{padding:7px 10px;border-radius:7px;cursor:pointer;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.aam-combo-opt[hidden]{display:none}
.aam-combo-opt--aktiv,.aam-combo-opt:hover{background:var(--surface-2)}
.aam-combo-opt--gewaehlt{font-weight:600;color:var(--marke)}
/* In der kompakten Posten-Tabelle: Auswahl-Schaltfläche wie ein Bedienelement
   (der Rahmen der randlosen .aam-feld-Zellen würde sie sonst „verschwinden"). */
.rewe-posten-kompakt .aam-combo{max-width:220px}
.rewe-posten-kompakt .aam-combo + .aam-combo{margin-top:3px}
.rewe-posten-kompakt .aam-combo-knopf{border:1px solid var(--rahmen);background:var(--surface)}

/* ReWe-Beleg-Editor: Posten scrollen, der Fußbereich (Summen + Speichern)
   bleibt immer sichtbar (wie die Menüleiste, nur unten). */
.rewe-posten-scroll{max-height:44vh;overflow:auto}
.rewe-beleg-fuss{position:sticky;bottom:0;z-index:6;background:var(--surface);
  border-top:2px solid var(--marke);padding:10px 4px 12px;display:flex;
  justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;
  box-shadow:0 -6px 14px -8px rgba(16,24,40,.25)}
.rewe-summen{border-collapse:collapse;min-width:320px}
.rewe-summen td{padding:2px 10px 2px 0;font-size:.92rem}
.rewe-summen .rewe-summen-wert{text-align:right;min-width:110px}
.rewe-summen .rewe-summen-brutto td{border-top:2px solid var(--marke);
  padding-top:6px;font-size:1.02rem;color:var(--marke)}
/* Format-Editor (format-editor.js) — eigenständig gestylt, unabhängig von
   nachrichten.css (das nur auf der Nachrichten-Seite geladen ist). Sauberer
   Werkzeug-Riegel: Knöpfe einheitlich, Farbfelder zeigen ihre Farbe. */
.fmt-editor-wrap{display:flex;flex-direction:column;gap:4px}
.fmt-toolbar{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:2px;
  padding:4px 6px;border:1px solid var(--rahmen);border-radius:8px;background:var(--surface-2);max-width:100%}
.fmt-tb{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;padding:0 6px;
  border:1px solid var(--rahmen);border-radius:6px;background:var(--surface);color:var(--text);cursor:pointer;font-size:.85rem;line-height:1}
.fmt-tb:hover{border-color:var(--marke)}
.fmt-tb:focus-visible{outline:2px solid var(--marke);outline-offset:1px}
.fmt-farbe{min-width:18px;width:18px;height:18px;padding:0;border-radius:50%;
  background:var(--f);border:1px solid rgba(0,0,0,.25)}
.fmt-farbe:hover{box-shadow:0 0 0 2px var(--marke)}
.fmt-editor{min-height:34px;max-height:160px;overflow:auto;white-space:pre-wrap;word-break:break-word}
.fmt-editor:empty::before{content:attr(data-platzhalter);color:var(--dezent);pointer-events:none}
.fmt-font{width:auto;min-width:92px;height:26px;padding:2px 6px;font-size:.8rem;margin:0;
  border:1px solid var(--rahmen);border-radius:6px;background:var(--surface);color:var(--text)}

/* Kompakte Posten-Tabelle (Beleg-Editor): wenig Platz, klare Ausrichtung.
   Menge/Einheit/Einzelpreis/USt schmal; Einzelpreis + Netto rechtsbündig;
   Schablone/Kreditor begrenzt breit. */
.rewe-posten-kompakt th,.rewe-posten-kompakt td{padding:4px 6px;vertical-align:top}
.rewe-posten-kompakt .aam-feld{padding:4px 8px;margin:0}
.rewe-posten-kompakt textarea.aam-feld{margin-top:3px}
.rewe-posten-kompakt td:nth-child(1){width:30px}
.rewe-posten-kompakt input[name="posten_menge[]"]{width:62px;text-align:right}
.rewe-posten-kompakt input[name="posten_einheit[]"]{width:64px}
.rewe-posten-kompakt .rewe-feld-preis{width:92px;text-align:right}
.rewe-posten-kompakt select[name="posten_ust[]"]{width:76px}
.rewe-posten-kompakt select[name="posten_schablone[]"],
.rewe-posten-kompakt select[name="posten_kreditor[]"]{max-width:220px;display:block}
.rewe-posten-kompakt select[name="posten_kreditor[]"]{margin-top:3px}
.rewe-posten-kompakt th:nth-child(5),.rewe-posten-kompakt th:nth-child(8),
.rewe-posten-kompakt td.rewe-zeile-netto{text-align:right;white-space:nowrap}
.rewe-posten-kompakt .fmt-editor{min-height:28px;max-height:110px}
.rewe-posten-kompakt .fmt-toolbar{padding:2px 4px;gap:3px}
.rewe-posten-kompakt .fmt-toolbar .fmt-tb{min-width:22px;height:22px;font-size:.72rem}
.rewe-posten-kompakt .fmt-toolbar .fmt-farbe{min-width:14px;width:14px;height:14px}
.rewe-posten-kompakt .fmt-font{height:22px;min-width:74px;font-size:.7rem}
/* Kopf-/Fußtext: volle Breite, größer und per Anfasser vergrößerbar. */
.fmt-editor{resize:vertical}
.rewe-beleg-form>fieldset .fmt-editor-wrap{width:100%}
.fmt-editor--gross{min-height:96px;max-height:none}

/* Posten noch tabellarischer: randlose Felder auf Zellen-Linien, minimale
   Abstände — die Tabelle wirkt wie ein Rechenblatt. */
.rewe-posten-kompakt{border-collapse:collapse}
.rewe-posten-kompakt th,.rewe-posten-kompakt td{padding:2px 5px;border-bottom:1px solid var(--rahmen)}
.rewe-posten-kompakt .aam-feld{border:0;border-bottom:1px dashed transparent;border-radius:4px;background:transparent;padding:3px 5px}
.rewe-posten-kompakt .aam-feld:hover{background:var(--surface-2)}
.rewe-posten-kompakt .aam-feld:focus{background:var(--surface-2);border-bottom-color:var(--marke);outline:none}
.rewe-posten-kompakt select.aam-feld{border:1px solid var(--rahmen)}
.rewe-posten-kompakt .fmt-editor{border:1px dashed var(--rahmen)}
.rewe-posten-kompakt tr.rewe-posten-zeile td{vertical-align:middle}
.rewe-posten-kompakt td:nth-child(2){min-width:220px}

/* ===== Dokumenten-Editor (dokument-editor.php) ===== */
.dok-main-akt{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.dok-neu-dokument{white-space:nowrap}
.dok-ed{display:flex;flex-direction:column;gap:10px;margin-top:10px}
.dok-ed-kopf{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}
.dok-ed-titel-label{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--heading);flex:1;min-width:260px}
.dok-ed-titel-label .aam-feld{margin-top:0;flex:1;min-width:180px}
.dok-ed-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:6px 8px;
  border:1px solid var(--rahmen);border-radius:10px;background:var(--surface-2);position:sticky;top:0;z-index:2}
.dok-ed-tb{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 8px;
  border:1px solid var(--rahmen);border-radius:7px;background:var(--surface);color:var(--text);cursor:pointer;font-size:.9rem;line-height:1}
.dok-ed-tb:hover{border-color:var(--marke)}
.dok-ed-tb:focus-visible{outline:2px solid var(--marke);outline-offset:1px}
.dok-ed-farbe{min-width:20px;width:20px;height:20px;padding:0;border-radius:50%;background:var(--f);border:1px solid rgba(0,0,0,.25)}
.dok-ed-farbe:hover{box-shadow:0 0 0 2px var(--marke)}
.dok-ed-tb-trenner{display:inline-block;width:1px;height:22px;background:var(--rahmen);margin:0 3px}
.dok-ed-flaeche{min-height:340px;max-height:70vh;overflow:auto;padding:18px 20px;border:1px solid var(--rahmen);
  border-radius:12px;background:var(--surface);box-shadow:var(--e1);resize:vertical}
.dok-ed-flaeche:focus{outline:none;border-color:var(--marke)}
.dok-ed-flaeche img{max-width:100%;height:auto}
.dok-ed-flaeche table{border-collapse:collapse}
.dok-ed-flaeche td,.dok-ed-flaeche th{border:1px solid var(--rahmen);padding:6px 10px}
.dok-ed-flaeche blockquote{border-left:3px solid var(--marke);margin:1em 0;padding:.2em 1em;color:var(--dezent)}
.dok-ed-fuss{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.dok-ed-status{font-size:.9rem}
.dok-ed-status--ok{color:#2e7d32}
.dok-ed-status--fehler{color:#B71C1C}

/* ===== PWA-Standalone: Safe-Area der Kopfzeile (Notch/Statusleiste) =====
   Am Ende der Datei, damit die Safe-Area-Regel auch die schmaleren
   .aam-kopf-Shorthand-Regeln (z. B. <=560px) sicher ueberschreibt. */
@media (display-mode:standalone),(display-mode:fullscreen){
  .aam-kopf{padding-top:calc(9px + env(safe-area-inset-top,0px))}
}

/* Wiedervorlage-Marker direkt am Objekt (Ordner-/Datei-Zeile im Dokumente-
   Panel): zeigt dem aktuellen Nutzer, dass er darauf eine eigene offene
   Wiedervorlage hat; das Faelligkeitsdatum steht im Hover-Titel. CI-Tuerkis,
   funktioniert hell + dunkel ueber var(--marke). Klein + nowrap, damit das
   Zeilen-Layout nicht umbricht. */
.dok-wv-marker{display:inline-flex;align-items:center;gap:3px;flex:none;white-space:nowrap;
  font-size:.72rem;font-weight:600;line-height:1;color:var(--marke);
  background:color-mix(in srgb,var(--marke) 12%,var(--surface));
  border:1px solid color-mix(in srgb,var(--marke) 35%,var(--rahmen));
  border-radius:999px;padding:2px 7px;margin:0 2px;cursor:default}
.dok-main-titel .dok-wv-marker{font-size:.74rem}

/* --- Vorstellseiten-Editor im Profil (v0.73.0) -----------------------------
   Kopfzeile mit Beschriftung links und Umschalter „Editor ⇄ HTML-Code" rechts;
   der Editor selbst darf hier deutlich hoeher werden als im Beleg-Kontext
   (Vorstellungstexte sind lang), Bilder skalieren mit. */
.aam-editor-kopf{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:14px 0 4px}
.aam-editor-kopf label{margin:0;font-weight:600}
.aam-knopf.klein{padding:6px 12px;font-size:.82rem;min-height:32px}
/* Der Editor-Aufsatz wird VOR das Textarea gehaengt (format-editor.js:
   insertBefore(wrap, ta)) — die Kopfzeile steht davor, daher Nachbar-Selektor. */
.aam-editor-kopf + .fmt-editor-wrap{margin-top:2px}
.aam-editor-kopf + .fmt-editor-wrap .fmt-editor{min-height:220px;max-height:520px;resize:vertical}
.fmt-editor img{max-width:100%;height:auto;border-radius:8px;display:block;margin:8px 0}
.fmt-upload-hinweis{font-size:.78rem;color:var(--marke);padding-left:6px;align-self:center}

/* --- Server-Status (Admin → System) --------------------------------------- */
.aam-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 1rem}
.aam-status-raster{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:10px}
.aam-status-karte{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--rahmen);border-radius:8px;background:var(--surface)}
.aam-status-karte-text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.aam-status-karte-text strong{font-size:.92rem;line-height:1.25}
.aam-status-karte .aam-recht-hilfe,.aam-status-platte-titel .aam-recht-hilfe,.aam-meldung .aam-recht-hilfe,.aam-tabelle th .aam-recht-hilfe,.aam-abschnitt h2 .aam-recht-hilfe{margin-top:0;vertical-align:middle}
.aam-status-platte-titel{display:inline-flex;align-items:center;gap:6px;min-width:0}
.aam-abschnitt h2 .aam-recht-hilfe{display:inline-flex;align-items:center;justify-content:center}
.aam-status-detail{font-size:.8rem;color:var(--dezent)}
.aam-status-ampel{display:inline-block;width:12px;height:12px;border-radius:50%;flex:none;margin-top:4px;vertical-align:middle}
.aam-status-ampel--ok{background:#2e7d32}
.aam-status-ampel--warn{background:#ed6c02}
.aam-status-ampel--fehler{background:#c62828}
.aam-status-platten{display:flex;flex-direction:column;gap:14px;max-width:640px}
.aam-status-platte-kopf{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 12px;font-size:.88rem;margin-bottom:4px}
.aam-status-balken{height:10px;background:var(--surface-2, #e8e8e8);border-radius:999px;overflow:hidden;border:1px solid var(--rahmen)}
.aam-status-balken-fuell{height:100%;border-radius:999px;transition:width .2s ease}
.aam-status-balken-fuell--ok{background:#2e7d32}
.aam-status-balken-fuell--warn{background:#ed6c02}
.aam-status-balken-fuell--kritisch{background:#c62828}
@media (max-width:480px){
  .aam-status-platte-kopf{flex-direction:column;gap:2px}
}
