/* ==========================================================================
   Vereinsverwaltung – gemeinsames Design-System
   Mobile-first, große Touch-Ziele, funktioniert genauso im Desktop-Browser.
   ========================================================================== */

:root {
  --grün: #1b6e3c;
  --grün-dunkel: #145a30;
  --grün-hell: #e6f4ea;
  --blau: #2b579a;
  --rot: #b00020;
  --gelb: #a86a00;
  --gelb-hell: #fff8e6;
  --text: #1f2328;
  --text-mute: #666;
  --border: #e0e0e0;
  --bg: #f4f5f7;
  --card-bg: #ffffff;
  --radius: 14px;
  --radius-sm: 8px;
  --shadow: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.06);
}

* { box-sizing: border-box; }

body {
  font-family: -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  background: var(--bg);
  color: var(--text);
  margin: 0;
  padding: 20px 16px 60px;
  line-height: 1.4;
}

.page {
  max-width: 480px;
  margin: 0 auto;
}
.page-wide {
  max-width: 1000px;
  margin: 0 auto;
}

@media (min-width: 760px) {
  body { padding: 32px 24px 80px; }
}

.logo-wrap { text-align: center; margin-bottom: 8px; }
.logo-wrap img { width: 84px; height: auto; }

h1 { font-size: 1.35rem; text-align: center; margin: 4px 0 18px; }
h2 { font-size: 1.05rem; color: var(--grün); margin: 28px 0 10px; border-bottom: 1px solid var(--border); padding-bottom: 6px; }
h3 { font-size: .95rem; margin: 16px 0 6px; }
details.nav-section { margin: 28px 0 10px; }
details.nav-section > summary { font-size: 1.05rem; color: var(--grün); border-bottom: 1px solid var(--border); padding-bottom: 6px; cursor: pointer; list-style: none; }
details.nav-section > summary::-webkit-details-marker { display: none; }
details.nav-section > summary::before { content: "▸ "; }
details.nav-section[open] > summary::before { content: "▾ "; }
details.nav-section > .nav-tiles { margin-top: 10px; }

.subtitle { text-align: center; font-size: .85rem; color: var(--text-mute); margin-top: -8px; margin-bottom: 16px; }

/* ---------- Karten ---------- */
.card {
  background: var(--card-bg);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 18px;
  margin-bottom: 16px;
}
.card.muted { opacity: .55; }
.card.warn { background: var(--gelb-hell); border: 1px solid #e6c568; box-shadow: none; }

/* ---------- Buttons ---------- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 46px;
  padding: 11px 18px;
  border: none;
  border-radius: var(--radius-sm);
  font-size: .95rem;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  transition: filter .1s ease;
  line-height: 1.1;
}
.btn:active { filter: brightness(.92); }
.btn-block { width: 100%; }
.btn-lg { min-height: 54px; font-size: 1.05rem; padding: 14px 20px; }
.btn-sm { min-height: 34px; padding: 6px 12px; font-size: .78rem; }

.btn-primary { background: var(--grün); color: #fff; }
.btn-secondary { background: var(--blau); color: #fff; }
.btn-danger { background: var(--rot); color: #fff; }
.btn-warning { background: var(--gelb); color: #fff; }
.btn-ghost { background: #fff; color: var(--text); border: 1px solid var(--border); }
.btn-outline-primary { background: #fff; color: var(--grün); border: 2px solid var(--grün); }

/* ---------- Formulare ---------- */
label { display: block; font-weight: 600; font-size: .85rem; margin-top: 14px; margin-bottom: 4px; }
label.inline { display: flex; align-items: center; gap: 8px; font-weight: 400; margin-top: 10px; }
label.inline input[type=checkbox], label.inline input[type=radio] { width: auto; }

input[type=text], input[type=email], input[type=password], input[type=tel],
input[type=number], input[type=file], input[type=date], input[type=time], input[type=datetime-local],
input[type=search], select, textarea {
  width: 100%;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  font-size: 1rem;
  background: #fff;
  color: var(--text);
  font-family: inherit;
}
textarea { min-height: 80px; resize: vertical; }
input:focus, select:focus, textarea:focus {
  outline: none;
  border-color: var(--grün);
  box-shadow: 0 0 0 3px var(--grün-hell);
}

.form-row { display: flex; flex-wrap: wrap; gap: 12px; }
.form-row > div { flex: 1; min-width: 140px; }
/* Erzwingt genau zwei Spalten nebeneinander, auch auf schmalen Handy-Bildschirmen */
.form-row-2up { display: flex; gap: 12px; }
.form-row-2up > div { flex: 1 1 0; min-width: 0; }

.hint { font-size: .78rem; color: var(--text-mute); margin-top: 4px; }

.error-box { background: #fdecea; color: var(--rot); padding: 12px 16px; border-radius: var(--radius-sm); margin-bottom: 16px; font-size: .9rem; }
.success-box { background: var(--grün-hell); color: var(--grün-dunkel); padding: 12px 16px; border-radius: var(--radius-sm); margin-bottom: 16px; font-size: .9rem; }

/* ---------- Navigation / Kachel-Menü ---------- */
.nav-tiles {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  margin: 16px 0;
}
@media (min-width: 560px) {
  .nav-tiles { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 760px) {
  .nav-tiles { grid-template-columns: repeat(4, 1fr); }
}
.nav-tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  background: #fff;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 16px 8px;
  text-decoration: none;
  color: var(--text);
  font-size: .8rem;
  font-weight: 600;
  text-align: center;
  min-height: 76px;
}
.nav-tile .emoji { font-size: 1.5rem; }
.nav-tile:active { filter: brightness(.95); }
.nav-tile.active { border: 2px solid var(--grün); background: var(--grün-hell, #e8f5e9); }

.tabs { display: flex; gap: 8px; margin: 16px 0; }
.tab {
  flex: 1;
  text-align: center;
  padding: 14px 10px;
  border-radius: var(--radius-sm);
  text-decoration: none;
  font-weight: 700;
  font-size: .95rem;
  border: 2px solid var(--border);
  color: var(--text);
  background: #fff;
}
.tab.active { background: var(--grün); color: #fff; border-color: var(--grün); }

/* ---------- Admin-Leiste (angemeldet als ...) ---------- */
.adminbar {
  text-align: center;
  font-size: .78rem;
  color: var(--text-mute);
  background: #fff;
  border-radius: var(--radius-sm);
  padding: 10px 14px;
  margin-bottom: 16px;
  box-shadow: var(--shadow);
}
.adminbar a { color: var(--grün); text-decoration: none; font-weight: 600; }
.adminbar .role-badge { background: var(--grün-hell); color: var(--grün-dunkel); padding: 2px 8px; border-radius: 20px; font-weight: 700; font-size: .72rem; }
.adminbar .logout-btn { background: none; border: none; color: var(--rot); cursor: pointer; padding: 0; font-size: .78rem; font-weight: 600; text-decoration: underline; }
.adminbar .sep { color: #ccc; margin: 0 2px; }

/* ---------- Tabellen ---------- */
.table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; margin-bottom: 20px; border-radius: var(--radius-sm); }
table { border-collapse: collapse; width: 100%; background: #fff; font-size: .82rem; }
th, td { border: 1px solid var(--border); padding: 8px 10px; text-align: left; white-space: nowrap; }
th { background: #f0f1f3; font-weight: 700; }
td.wrap, th.wrap { white-space: normal; }

/* ---------- Badges ---------- */
.badge { display: inline-block; padding: 3px 9px; border-radius: 20px; font-size: .7rem; font-weight: 700; }
.badge-green { background: var(--grün-hell); color: var(--grün-dunkel); }
.badge-blue { background: #e8eefc; color: var(--blau); }
.badge-grey { background: #eee; color: #555; }
.badge-warn { background: var(--gelb-hell); color: var(--gelb); }
.badge-red { background: #fdecea; color: var(--rot); }

/* ---------- Filter-Leiste ---------- */
.filter-bar {
  background: #fff;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 14px;
  margin: 16px 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}
.filter-bar select { width: auto; flex: 1; min-width: 160px; }

/* ---------- Produkt-/Artikelzeilen im öffentlichen Formular ---------- */
.product-row { border-top: 1px solid var(--border); padding: 14px 0; }
.product-row:first-of-type { border-top: none; }
.product-image { max-width: 84px; max-height: 84px; border-radius: var(--radius-sm); display: block; margin-bottom: 8px; object-fit: cover; }
.product-details { display: flex; gap: 8px; margin-top: 8px; margin-left: 2px; flex-wrap: wrap; }
.product-details select { flex: 1; min-width: 120px; }
.product-details input[type=number] { width: 76px; }

/* Zwei Ansichts-Modi für die Artikelauswahl (Tabelle = Standard, Katalog
   = große Bilder) — dieselbe Formularstruktur, nur per CSS umgeschaltet,
   damit die Auswahl beim Wechseln nicht verlorengeht. */
.produktauswahl-tabelle .product-row {
  display: flex; align-items: center; gap: 12px; padding: 8px 0; flex-wrap: wrap;
}
.produktauswahl-tabelle .product-image { max-width: 40px; max-height: 40px; margin-bottom: 0; flex-shrink: 0; }
.produktauswahl-tabelle .product-details { margin-top: 0; margin-left: 0; }
.produktauswahl-tabelle .product-extras { flex-basis: 100%; }

.produktauswahl-katalog { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 16px; }
.produktauswahl-katalog .product-row { border-top: none; border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 14px; }
.produktauswahl-katalog .product-image { max-width: 100%; max-height: 220px; width: 100%; margin-bottom: 10px; }

.ansicht-umschalter { display: flex; gap: 8px; margin-bottom: 12px; }
.ansicht-umschalter button { flex: 0; }
.ansicht-umschalter button.aktiv { background: var(--grün); color: #fff; }
.extra-hint { font-size: .8rem; color: var(--text-mute); margin: 6px 0 0; }
.extra-text { margin-top: 6px; }
.total-line { text-align: right; font-weight: 700; margin-top: 18px; font-size: 1.05rem; background: var(--grün-hell); padding: 12px 16px; border-radius: var(--radius-sm); }

/* ---------- Sonstiges ---------- */
.stack { display: flex; flex-direction: column; gap: 10px; }
.flex-wrap-gap { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
a.link { color: var(--grün); }


/* ---------- Einheitliche Suche (V85) ---------- */
input[type=search].app-search,
input.app-search {
  width: 100%; min-height: 50px; padding: 12px 42px 12px 46px;
  border: 2px solid #cfd8d3; border-radius: 12px; background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%231b6e3c' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: 15px center;
  font-size: 1rem; font-weight: 500; box-shadow: 0 1px 2px rgba(0,0,0,.04);
  appearance: none; -webkit-appearance: none;
}
input[type=search].app-search::placeholder, input.app-search::placeholder { color:#69736d; font-weight:500; opacity:1; }
input[type=search].app-search:hover, input.app-search:hover { border-color:#9fb4a7; }
input[type=search].app-search:focus, input.app-search:focus { border-color:var(--grün); box-shadow:0 0 0 4px rgba(27,110,60,.13),0 2px 8px rgba(0,0,0,.06); }
input[type=search].app-search::-webkit-search-cancel-button { cursor:pointer; }
.search-block { position:relative; margin:12px 0 16px; }
.search-label { display:block; margin:0 0 7px; font-size:.8rem; font-weight:800; letter-spacing:.02em; color:var(--grün-dunkel); text-transform:uppercase; }
.search-suggestions { position:absolute; z-index:50; top:calc(100% + 5px); left:0; right:0; background:#fff; border:1px solid var(--border); border-radius:12px; box-shadow:0 10px 28px rgba(0,0,0,.14); overflow:hidden; display:none; }
.search-suggestions.open { display:block; }
.search-suggestion { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px 14px; text-decoration:none; color:var(--text); border-bottom:1px solid #edf0ee; }
.search-suggestion:last-child { border-bottom:0; }
.search-suggestion:hover,.search-suggestion:focus { background:var(--grün-hell); outline:none; }
.search-suggestion-type { flex:0 0 auto; font-size:.7rem; font-weight:800; color:var(--grün-dunkel); background:var(--grün-hell); border-radius:999px; padding:3px 8px; }
.search-empty { padding:12px 14px; color:var(--text-mute); font-size:.85rem; }
@media (max-width:559px){ input[type=search].app-search,input.app-search{min-height:52px;font-size:1rem;} }

/* V86 – einheitliches Bereichs-Dashboard */
.v86-dashboard{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px;margin:14px 0 20px}
.v86-dashboard a,.v86-dashboard button{min-height:76px;border:1px solid #d7dee8;border-radius:14px;background:#fff;padding:12px;text-align:center;text-decoration:none;display:flex;align-items:center;justify-content:center;font-weight:700;box-shadow:0 2px 8px rgba(0,0,0,.05)}
.v86-dashboard a:hover,.v86-dashboard a:focus{transform:translateY(-1px);box-shadow:0 5px 16px rgba(0,0,0,.09)}
.v86-section{border:1px solid #dfe5ec;border-radius:16px;background:#fff;padding:16px;margin:14px 0}
.v86-section>h2,.v86-section>h3{margin-top:0}
.v86-resource-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.v86-resource-card{border:1px solid #dfe5ec;border-radius:14px;padding:14px;background:#fff}
.v86-conflict{border-left:5px solid #b42318;background:#fff3f2;padding:10px 12px;border-radius:8px}
.v86-free{border-left:5px solid #067647;background:#ecfdf3;padding:10px 12px;border-radius:8px}
.v86-calendar-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
@media(max-width:640px){.v86-dashboard{grid-template-columns:repeat(2,minmax(0,1fr))}.v86-dashboard a{min-height:68px}}

/* V87 – echte zentrale Kalender-/Planungsoberfläche */
.v87-plan-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:10px;margin:14px 0 18px}.v87-plan-nav a{display:flex;min-height:88px;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;text-decoration:none;background:#fff;border:1px solid #dfe4ea;border-radius:16px;box-shadow:0 2px 8px rgba(0,0,0,.06);font-size:1.35rem}.v87-plan-nav strong{font-size:1rem;color:#252525}.v87-plan-nav small{font-size:.76rem;color:#747474;font-weight:400}.v87-plan-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0 20px}.v87-plan-stats div{background:#fff;border-radius:13px;padding:11px;text-align:center;border:1px solid #e1e5ea}.v87-plan-stats strong{display:block;font-size:1.3rem}.v87-plan-stats span{font-size:.72rem;color:#777}.v87-section{background:#fff;border:1px solid #e1e5ea;border-radius:16px;padding:15px;margin:13px 0}.v87-section h2{margin:0}.v87-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px}.v87-section-head p{margin:4px 0}.v87-event-list{display:grid;gap:8px}.v87-event,.v87-approval{display:flex;align-items:center;gap:12px;border-top:1px solid #eceff2;padding:10px 2px}.v87-event:first-child,.v87-approval:first-child{border-top:0}.v87-date{width:45px;min-width:45px;height:45px;border-radius:11px;background:#f3f5f7;display:flex;flex-direction:column;align-items:center;justify-content:center}.v87-date b{line-height:1}.v87-date span{font-size:.72rem}.v87-approval{justify-content:space-between}.v87-approval-actions{display:flex;gap:5px}.v87-team-select{display:flex;gap:8px}.v87-team-select select{margin:0;flex:1}.v87-form-page{max-width:700px;margin:0 auto;background:#fff;min-height:100vh}.v87-form-top{position:sticky;top:0;z-index:10;background:#292929;color:#fff;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:15px 14px}.v87-form-top a,.v87-form-top button{color:#f4a3a3;background:0;border:0;font-weight:700;text-decoration:none;font-size:.95rem}.v87-form-top button{color:#7bd899;text-align:right}.v87-form-top strong{text-align:center}.v87-form-section{padding:10px 18px;background:#fff}.v87-form-section>label{display:block;border-bottom:1px solid #e6e6e6;padding:10px 0}.v87-form-section input,.v87-form-section select,.v87-form-section textarea{width:100%;border:0;background:transparent;padding:8px 0;font-size:1rem;box-shadow:none}.v87-form-section input:focus,.v87-form-section select:focus,.v87-form-section textarea:focus{outline:none}.v87-form-band{font-size:1.08rem;background:#f2f2f2;padding:13px 18px;margin:0}.v87-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.v87-checkgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:5px}.v87-checkgrid label{padding:8px;border-bottom:1px solid #eee}.v87-mobile-save{padding:18px}.v87-team-events{display:grid;gap:9px;margin-top:10px}.v87-team-event{display:flex;gap:12px;background:#fff;border:1px solid #e0e5eb;border-radius:14px;padding:12px}.v87-team-event-body{min-width:0}.v87-event-top{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.v87-team-event p{margin:6px 0 0}
@media(max-width:600px){.v87-plan-nav{grid-template-columns:repeat(2,1fr)}.v87-plan-stats{grid-template-columns:repeat(2,1fr)}.v87-section-head{display:block}.v87-section-head .btn{margin-top:8px}.v87-approval{align-items:flex-start;flex-direction:column}.v87-team-select{flex-direction:column}.v87-two{grid-template-columns:1fr}.v87-checkgrid{grid-template-columns:1fr}.v87-form-page{max-width:none}.v87-form-top{padding-top:max(15px,env(safe-area-inset-top))}}

.v89-term-filter{display:flex;gap:8px;overflow-x:auto;padding:8px 0 10px}.v89-term-filter .btn{white-space:nowrap;flex:0 0 auto}.v89-own-reason{padding:8px 10px;border-radius:9px;background:#fff4e5}

/* V97 – zentrale SportsMember-nahe App-Shell für alle Bereiche */
.app-shell{position:relative;z-index:40;margin:0 0 18px;background:rgba(255,255,255,.98);border:1px solid var(--border);border-radius:18px;box-shadow:0 5px 22px rgba(24,44,32,.08);overflow:visible}
.app-shell-top{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:9px 14px;border-bottom:1px solid #e8edea}
.app-brand{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none;min-width:0}.app-brand-logo{width:46px;height:46px;border-radius:12px;background:#fff;border:1px solid #e4e9e6;display:grid;place-items:center;overflow:hidden;flex:0 0 auto}.app-brand-logo img{max-width:40px;max-height:40px;object-fit:contain}.app-brand-text{display:flex;flex-direction:column;min-width:0}.app-brand-text strong{font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-brand-text small,.app-user-copy small{font-size:.72rem;color:var(--text-mute)}
.app-user{display:flex;align-items:center;gap:8px;position:relative}.app-online{font-size:.75rem;text-decoration:none;color:#067647;background:#ecfdf3;border-radius:999px;padding:6px 9px;font-weight:800}.app-user-button{display:flex;align-items:center;gap:8px;border:0;background:transparent;color:var(--text);padding:6px 8px;border-radius:12px;cursor:pointer}.app-user-button:hover{background:#f2f5f3}.app-avatar{width:34px;height:34px;border-radius:50%;background:var(--grün-hell);display:grid;place-items:center;font-weight:900;color:var(--grün-dunkel)}.app-user-copy{display:flex;flex-direction:column;text-align:left;line-height:1.1}.app-user-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:220px;background:#fff;border:1px solid var(--border);box-shadow:0 12px 34px rgba(0,0,0,.14);border-radius:14px;padding:7px;z-index:90}.app-user-menu a,.app-user-menu button{display:block;width:100%;padding:10px 11px;border:0;background:transparent;text-align:left;text-decoration:none;color:var(--text);border-radius:9px;font:inherit;cursor:pointer}.app-user-menu a:hover,.app-user-menu button:hover{background:var(--grün-hell)}.app-user-menu form{margin:0}
.app-primary-nav{display:flex;align-items:stretch;padding:5px 8px;gap:4px;overflow-x:auto}.app-primary-nav>a,.app-primary-nav>button{appearance:none;border:0;background:transparent;color:#46534c;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:7px;min-height:46px;padding:7px 13px;border-radius:11px;font-weight:750;white-space:nowrap;cursor:pointer}.app-primary-nav>a:hover,.app-primary-nav>button:hover{background:#f2f6f3;color:var(--grün-dunkel)}.app-primary-nav>a.active{background:var(--grün-hell);color:var(--grün-dunkel);box-shadow:inset 0 -2px 0 var(--grün)}
.app-more-panel{border-top:1px solid #e8edea;padding:14px;background:#fbfcfb}.app-more-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px}.app-more-grid section{min-width:0}.app-more-grid h3{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-mute);margin:0 0 7px;padding:0 8px}.app-more-grid a{display:block;padding:9px 8px;border-radius:9px;color:var(--text);text-decoration:none;font-weight:650}.app-more-grid a:hover{background:var(--grün-hell);color:var(--grün-dunkel)}
.app-version{text-align:center;margin:-10px 0 13px;font-size:.68rem;color:var(--text-mute)}.app-inline-search{margin:8px 0 16px}.app-mobile-nav{display:none}
/* Auf Startseiten ist das Dashboard der Inhalt; die Shell ersetzt die frühere isolierte Adminleiste. */
.app-shell + .app-inline-search{margin-top:-4px}
@media(max-width:760px){
  body{padding-bottom:76px}.page,.page-wide{padding-left:10px;padding-right:10px}.app-shell{border-radius:0;margin-left:-10px;margin-right:-10px;margin-top:-10px;position:sticky;top:0}.app-shell-top{min-height:60px;padding:7px 10px}.app-brand-logo{width:40px;height:40px}.app-brand-logo img{max-width:34px;max-height:34px}.app-brand-text small,.app-user-copy,.app-online{display:none}.app-primary-nav{display:none}.app-more-panel{position:fixed;left:10px;right:10px;bottom:72px;max-height:65vh;overflow:auto;border:1px solid var(--border);border-radius:16px;box-shadow:0 10px 36px rgba(0,0,0,.2);z-index:100}.app-more-grid{grid-template-columns:1fr 1fr}.app-mobile-nav{position:fixed;left:0;right:0;bottom:0;z-index:95;display:grid;grid-template-columns:repeat(5,1fr);background:rgba(255,255,255,.98);border-top:1px solid #dce4df;padding:5px max(5px,env(safe-area-inset-right)) max(5px,env(safe-area-inset-bottom)) max(5px,env(safe-area-inset-left));box-shadow:0 -4px 16px rgba(0,0,0,.08)}.app-mobile-nav a,.app-mobile-nav button{border:0;background:transparent;text-decoration:none;color:#526159;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-height:50px;border-radius:10px;font:inherit}.app-mobile-nav a span,.app-mobile-nav button span{font-size:1.18rem}.app-mobile-nav small{font-size:.65rem;font-weight:750}.app-mobile-nav a.active{color:var(--grün-dunkel);background:var(--grün-hell)}.app-version{display:none}
}
@media(max-width:420px){.app-more-grid{grid-template-columns:1fr}.app-user-button{padding:5px}.app-more-panel{left:6px;right:6px}}

/* v99 – Mitgliederportal als einheitliche Team-App */
.member-home,.member-calendar{padding-top:18px}.member-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:8px 0 18px}.member-hero h1,.member-page-title h1{margin:2px 0 4px}.member-eyebrow{text-transform:uppercase;letter-spacing:.11em;font-size:.68rem;font-weight:800;color:var(--text-mute);margin:0}.member-profile-chip{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#fff;box-shadow:var(--shadow);text-decoration:none;font-size:1.3rem}.member-alert-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin:0 0 22px}.member-alert{background:#fff;border-radius:16px;box-shadow:var(--shadow);padding:12px;text-decoration:none;color:var(--text);display:flex;align-items:center;gap:10px}.member-alert>strong{font-size:1.45rem;color:var(--grün-dunkel)}.member-alert span{display:flex;flex-direction:column;font-weight:700;font-size:.8rem}.member-alert small{font-weight:500;color:var(--text-mute);font-size:.68rem}.member-section{margin:22px 0}.member-section-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:10px}.member-section-head h2{margin:2px 0 0;font-size:1.15rem}.member-section-head>a{font-size:.78rem;text-decoration:none;font-weight:700;color:var(--grün-dunkel)}.member-event-list{display:flex;flex-direction:column;gap:10px}.member-event{background:#fff;border-radius:16px;box-shadow:var(--shadow);padding:13px;display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text)}.member-event-icon{width:42px;height:42px;flex:0 0 42px;border-radius:13px;background:#f2f4f3;display:grid;place-items:center;font-size:1.2rem}.member-event-icon.large{width:48px;height:48px;flex-basis:48px;font-size:1.35rem}.member-event-main{min-width:0;display:flex;flex-direction:column;gap:2px;flex:1}.member-event-main strong,.member-event-main h2{white-space:normal;overflow-wrap:anywhere}.member-event-main span,.member-event-main p,.member-event-main small{font-size:.76rem;color:var(--text-mute);margin:0}.member-rsvp{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;font-weight:900;flex:0 0 31px}.member-rsvp-zugesagt{background:#e7f7ec;color:#18783b}.member-rsvp-abgesagt{background:#fdeceb;color:#b42318}.member-rsvp-offen{background:#fff4da;color:#92610a}.member-dept-row{display:flex;gap:10px;overflow-x:auto;padding:2px 1px 6px}.member-dept{min-width:130px;background:#fff;border-radius:16px;box-shadow:var(--shadow);padding:14px;text-decoration:none;color:var(--text);display:flex;align-items:center;gap:9px}.member-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.member-action-grid>a{background:#fff;border-radius:16px;box-shadow:var(--shadow);padding:15px;text-decoration:none;color:var(--text);display:grid;grid-template-columns:34px 1fr;column-gap:8px;align-items:center}.member-action-grid>a>span{font-size:1.35rem;grid-row:1/3}.member-action-grid strong{font-size:.84rem}.member-action-grid small{font-size:.68rem;color:var(--text-mute)}.member-account-switch{margin-bottom:90px}.member-segmented{display:grid;grid-template-columns:repeat(3,1fr);background:#e9eceb;border-radius:13px;padding:3px;margin:14px 0 18px}.member-segmented a{text-align:center;padding:9px 7px;border-radius:10px;text-decoration:none;color:var(--text-mute);font-size:.76rem;font-weight:800}.member-segmented a.active{background:#fff;color:var(--text);box-shadow:0 1px 4px rgba(0,0,0,.09)}.member-event-card{background:#fff;border-radius:18px;box-shadow:var(--shadow);padding:15px}.member-event-card-top{display:flex;gap:11px;align-items:flex-start}.member-event-card .member-event-main h2{font-size:1rem;margin:1px 0 3px}.member-event-type{font-size:.65rem!important;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:var(--grün-dunkel)!important}.member-event-meta{display:flex;gap:8px;flex-wrap:wrap;margin:11px 0 0}.member-event-meta span{background:#f4f5f5;border-radius:999px;padding:5px 8px;font-size:.68rem;color:#555}.member-event-description{font-size:.8rem;margin:11px 0 0}.member-answer-block{border-top:1px solid var(--border);margin-top:13px;padding-top:12px}.member-answer-label{display:block;font-size:.72rem;font-weight:800;margin-bottom:7px}.member-answer-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.member-answer{border:1px solid var(--border);border-radius:12px;padding:10px;background:#fff;font-weight:800;cursor:pointer}.member-answer.yes.selected,.member-answer.yes:hover{background:#e7f7ec;border-color:#a5dab6;color:#176d35}.member-answer.no.selected,.member-answer.no:hover{background:#fdeceb;border-color:#efb4b0;color:#a8241b}.member-decline-box{margin-top:10px}.member-decline-box label{font-size:.72rem;font-weight:800}.member-decline-row{display:flex;gap:7px}.member-decline-row input{margin:0;min-width:0}.member-inline-details{border-top:1px solid var(--border);margin-top:12px;padding-top:10px;font-size:.78rem}.member-inline-details summary{cursor:pointer;font-weight:800}.member-response-list{display:flex;flex-direction:column;gap:6px;margin-top:8px}.member-response-list>div{display:grid;grid-template-columns:1fr auto;gap:3px 10px;padding:7px 0;border-bottom:1px solid #eee}.member-response-list small{grid-column:1/-1;color:var(--text-mute)}.response-zugesagt{color:#18783b}.response-abgesagt{color:#b42318}.response-offen{color:#92610a}.member-empty{background:#fff;border-radius:16px;padding:24px;text-align:center;box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;gap:4px}.member-empty>span{font-size:1.7rem}.member-empty small{color:var(--text-mute)}
@media(max-width:560px){.member-home,.member-calendar{padding-bottom:86px}.member-decline-row{flex-direction:column}.member-decline-row .btn{width:100%}}
@media(min-width:760px){.member-action-grid{grid-template-columns:repeat(3,1fr)}}

/* v100 – SportsMember-artige Abteilungs-Startseite */
.department-hub { padding-bottom: 110px; }
.department-hero { margin: 8px 0 14px; padding: 18px; border-radius: 22px; background: var(--card-bg, #fff); box-shadow: 0 5px 18px rgba(0,0,0,.07); }
.department-back { display:inline-block; margin-bottom:14px; text-decoration:none; font-weight:700; }
.department-hero-row, .department-section-head { display:flex; gap:14px; justify-content:space-between; align-items:flex-start; }
.department-hero h1, .department-section h2 { margin: 2px 0 6px; }
.department-eyebrow { margin:0; font-size:.78rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; opacity:.58; }
.department-tabs { position:sticky; top:0; z-index:15; display:flex; gap:7px; overflow-x:auto; margin:0 -4px 18px; padding:8px 4px; background:rgba(247,248,249,.94); backdrop-filter:blur(8px); }
.department-tabs a { white-space:nowrap; text-decoration:none; padding:9px 13px; border-radius:999px; background:#fff; box-shadow:0 2px 8px rgba(0,0,0,.06); font-weight:700; }
.department-section { scroll-margin-top:78px; margin:0 0 24px; }
.department-stat-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.department-stat { display:flex; flex-direction:column; min-height:112px; padding:15px; border-radius:18px; background:#fff; box-shadow:0 3px 13px rgba(0,0,0,.06); text-decoration:none; color:inherit; }
.department-stat-icon { font-size:1.35rem; margin-bottom:auto; }
.department-stat strong { font-size:1.5rem; line-height:1; margin-top:8px; }
.department-stat span:last-child { opacity:.65; font-size:.86rem; margin-top:4px; }
.department-event-list { display:grid; gap:10px; margin-top:10px; }
.department-event { display:grid; grid-template-columns:58px minmax(0,1fr); gap:12px; padding:12px; border-radius:18px; background:#fff; box-shadow:0 3px 13px rgba(0,0,0,.06); }
.department-date { min-height:62px; display:flex; flex-direction:column; align-items:center; justify-content:center; border-radius:14px; background:rgba(166,43,35,.08); }
.department-date strong { font-size:1.45rem; line-height:1; }
.department-date span { font-size:.72rem; opacity:.65; margin-top:4px; }
.department-own-status { margin:7px 0 0; font-size:.88rem; }
.department-counts { display:flex; gap:12px; flex-wrap:wrap; margin-top:7px; font-size:.85rem; }
.department-people-grid { display:grid; gap:9px; margin-top:10px; }
.department-person { display:flex; align-items:center; gap:11px; padding:11px 12px; border-radius:16px; background:#fff; box-shadow:0 2px 10px rgba(0,0,0,.05); }
.department-avatar { flex:0 0 42px; width:42px; height:42px; border-radius:50%; display:grid; place-items:center; font-weight:800; background:rgba(31,112,72,.12); }
.department-person p { margin:2px 0 0; }
.department-compose { margin-top:12px; padding:12px 14px; border-radius:16px; background:#fff; }
.department-compose summary { cursor:pointer; font-weight:800; }
.department-actions { display:grid; gap:9px; margin-top:10px; }
.department-action { display:flex; align-items:center; gap:12px; padding:13px 14px; border-radius:17px; background:#fff; box-shadow:0 2px 10px rgba(0,0,0,.05); text-decoration:none; color:inherit; }
.department-action > span { font-size:1.45rem; width:34px; text-align:center; }
.department-action div { display:flex; flex-direction:column; }
.department-action small { opacity:.62; margin-top:2px; }
.department-legacy-hint { margin-top:13px; }
@media (min-width:760px){ .department-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));} .department-people-grid{grid-template-columns:repeat(2,minmax(0,1fr));} .department-actions{grid-template-columns:repeat(2,minmax(0,1fr));} }

/* v101 – direkte Terminaktionen und Teilnehmerverwaltung im Abteilungs-Hub */
.department-rsvp-form{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}
.department-rsvp-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.department-rsvp{border:1px solid var(--border);border-radius:12px;padding:9px 10px;background:#fff;font-weight:800;cursor:pointer}
.department-rsvp.yes.selected,.department-rsvp.yes:hover{background:#e7f7ec;border-color:#a5dab6;color:#176d35}
.department-rsvp.no.selected,.department-rsvp.no:hover{background:#fdeceb;border-color:#efb4b0;color:#a8241b}
.department-decline{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:8px}
.department-decline input{margin:0}
.department-participants{margin-top:10px;padding-top:9px;border-top:1px solid var(--border)}
.department-participants summary{cursor:pointer;font-weight:800;font-size:.82rem}
.department-response-list{display:grid;gap:5px;margin-top:8px}
.department-response-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;padding:8px 0;border-bottom:1px solid #eee;font-size:.8rem}
.department-response-row>span:first-child{display:flex;flex-direction:column;min-width:0}
.department-response-row small{font-size:.68rem;opacity:.62}
.department-response-comment{grid-column:1/-1;padding:5px 7px;background:#f7f7f7;border-radius:8px}
.department-create-event{margin-top:12px;padding:13px 14px;border-radius:17px;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.05)}
.department-create-event summary{cursor:pointer;font-weight:800}
.department-create-event form{margin-top:12px}
@media(max-width:560px){.department-decline{grid-template-columns:1fr}.department-decline .btn{width:100%}}

/* V117: zentraler Arbeitskontext */
.app-context-switcher{position:relative;min-width:150px;max-width:270px;margin:0 8px}
.app-context-switcher>summary{list-style:none;cursor:pointer;border:1px solid rgba(0,0,0,.12);border-radius:12px;padding:7px 11px;background:rgba(255,255,255,.78);display:flex;flex-direction:column;line-height:1.15}
.app-context-switcher>summary::-webkit-details-marker{display:none}
.app-context-main{font-weight:800;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app-context-sub{font-size:.72rem;opacity:.72;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px}
.app-context-menu{position:absolute;z-index:80;top:calc(100% + 6px);left:50%;transform:translateX(-50%);width:min(330px,88vw);background:#fff;border:1px solid #dfe6e2;border-radius:14px;box-shadow:0 12px 34px rgba(0,0,0,.18);padding:7px}
.app-context-menu form{margin:0}
.app-context-menu button{width:100%;border:0;background:transparent;text-align:left;border-radius:10px;padding:9px 10px;display:flex;flex-direction:column;cursor:pointer}
.app-context-menu button:hover,.app-context-menu button.is-active{background:#eef6f1}
.app-context-menu small{opacity:.68;margin-top:2px}
@media(max-width:720px){.app-context-switcher{min-width:120px;max-width:190px;margin:0 4px}.app-context-main{font-size:.88rem}.app-context-sub{font-size:.68rem}.app-shell-top .app-brand-text{display:none}}

/* V117: ein zentrales Plus für kontextabhängige Terminaktionen */
.member-action-plus{position:fixed;right:18px;bottom:84px;z-index:60}
.member-action-plus>summary{list-style:none;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--primary,#1b6e3c);color:#fff;font-size:2rem;font-weight:400;box-shadow:0 8px 24px rgba(0,0,0,.22);cursor:pointer}
.member-action-plus>summary::-webkit-details-marker{display:none}
.member-action-menu{position:absolute;right:0;bottom:64px;width:min(310px,86vw);background:#fff;border:1px solid #dfe6e2;border-radius:14px;padding:7px;box-shadow:0 12px 34px rgba(0,0,0,.18)}
.member-action-menu button{display:flex;flex-direction:column;width:100%;border:0;background:transparent;text-align:left;padding:11px;border-radius:10px;cursor:pointer}
.member-action-menu button:hover{background:#eef6f1}.member-action-menu small{opacity:.7;margin-top:2px}
.v117-dialog[hidden]{display:none}.v117-dialog{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.48);display:grid;place-items:center;padding:18px;overflow:auto}
.v117-dialog-card{position:relative;width:min(620px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:16px;padding:20px;box-shadow:0 18px 60px rgba(0,0,0,.28)}
.v117-dialog-close{position:absolute;right:10px;top:8px;border:0;background:transparent;font-size:1.8rem;cursor:pointer}
body.v117-dialog-open{overflow:hidden}

/* V117: Systemcheck-Ergebnisse direkt aufklappbar */
.systemcheck-result{border:1px solid #dfe6e2;border-radius:12px;background:#fff;overflow:hidden}
.systemcheck-result-error{border-color:#e3aaa4;background:#fffafa}
.systemcheck-result>summary{list-style:none;cursor:pointer;display:flex;gap:12px;align-items:flex-start;padding:12px}
.systemcheck-result>summary::-webkit-details-marker{display:none}
.systemcheck-result>summary>span:last-child{display:flex;flex-direction:column;min-width:0}
.systemcheck-result>summary small{color:#68736d;margin-top:3px}
.systemcheck-icon{font-size:1.3rem}.systemcheck-result-body{padding:0 12px 12px 48px;border-top:1px solid #edf0ee}
.systemcheck-detail-line{padding:7px 0;border-bottom:1px solid #edf0ee;overflow-wrap:anywhere}
.systemcheck-detail-line:last-child{border-bottom:0}

/* ===== 118 FINAL GUI – einheitliche Formulare, mobil zuerst ===== */
:root{--form-surface:#fff;--form-soft:#f6f8f7;--form-border:#d8e0dc;--form-focus:rgba(27,110,60,.14);--form-danger:#b42318;--form-success:#18783b}
body.app-form-ui input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]):not([type=button]),
body.app-form-ui select,body.app-form-ui textarea{
  width:100%;min-height:46px;border:1.5px solid var(--form-border);border-radius:12px;background:var(--form-surface);color:var(--text);padding:10px 12px;font:inherit;line-height:1.35;transition:border-color .15s,box-shadow .15s,background .15s;box-sizing:border-box
}
body.app-form-ui textarea{min-height:110px;resize:vertical}
body.app-form-ui input:hover:not([type=checkbox]):not([type=radio]):not([type=hidden]),body.app-form-ui select:hover,body.app-form-ui textarea:hover{border-color:#aab9b1}
body.app-form-ui input:focus:not([type=checkbox]):not([type=radio]):not([type=hidden]),body.app-form-ui select:focus,body.app-form-ui textarea:focus{outline:0;border-color:var(--grün);box-shadow:0 0 0 4px var(--form-focus)}
body.app-form-ui input:disabled,body.app-form-ui select:disabled,body.app-form-ui textarea:disabled,body.app-form-ui input[readonly]{background:#f0f2f1;color:#66716b;cursor:not-allowed}
body.app-form-ui input[aria-invalid=true],body.app-form-ui select[aria-invalid=true],body.app-form-ui textarea[aria-invalid=true]{border-color:var(--form-danger);box-shadow:0 0 0 3px rgba(180,35,24,.11)}
body.app-form-ui form.app-smart-form>label,body.app-form-ui form.app-smart-form .app-field>label,body.app-form-ui .v87-form-section>label{display:block;margin:0 0 14px;font-size:.84rem;font-weight:800;color:#34413a}
body.app-form-ui form.app-smart-form label>input:not([type=checkbox]):not([type=radio]),body.app-form-ui form.app-smart-form label>select,body.app-form-ui form.app-smart-form label>textarea{display:block;margin-top:6px}
body.app-form-ui .app-required{color:var(--form-danger);font-weight:900;margin-left:3px}
body.app-form-ui .app-field-help{display:block;margin:5px 2px 0;color:var(--text-mute);font-size:.76rem;font-weight:500;line-height:1.35}
body.app-form-ui .app-invalid-text{display:block;margin:5px 2px 0;color:var(--form-danger);font-size:.76rem;font-weight:700}
body.app-form-ui .app-form-actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-top:16px}
body.app-form-ui .app-form-actions .btn{min-height:44px}
body.app-form-ui form.app-smart-form.is-submitting{opacity:.82;pointer-events:none}
body.app-form-ui form.app-smart-form.is-submitting [type=submit]{position:relative}
body.app-form-ui form.app-smart-form.is-submitting [type=submit]::after{content:' …'}
body.app-form-ui label.inline,body.app-form-ui label:has(>input[type=checkbox]),body.app-form-ui label:has(>input[type=radio]){font-weight:650;display:flex;align-items:flex-start;gap:9px;line-height:1.35}
body.app-form-ui input[type=checkbox],body.app-form-ui input[type=radio]{width:20px;height:20px;min-width:20px;margin:0;accent-color:var(--grün)}
body.app-form-ui .v87-checkgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:9px}
body.app-form-ui .v87-checkgrid>label{margin:0;padding:11px 12px;border:1px solid var(--form-border);border-radius:12px;background:#fff;cursor:pointer}
body.app-form-ui .v87-checkgrid>label:has(input:checked){border-color:var(--grün);background:var(--grün-hell)}
body.app-form-ui .form-row,body.app-form-ui .grid,body.app-form-ui .v87-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
body.app-form-ui .app-form-section{background:#fff;border:1px solid #e0e6e3;border-radius:18px;padding:16px;margin:14px 0;box-shadow:0 2px 10px rgba(0,0,0,.035)}
body.app-form-ui .app-form-section>h2,body.app-form-ui .app-form-section>h3{margin:0 0 4px}
body.app-form-ui .app-form-section-copy{margin:0 0 14px;color:var(--text-mute);font-size:.86rem}
body.app-form-ui .app-option-card{border:1px solid var(--form-border);border-radius:14px;padding:12px;background:#fff}
body.app-form-ui .app-option-card.is-active{border-color:var(--grün);background:var(--grün-hell)}
body.app-form-ui .app-sticky-actions{position:sticky;bottom:72px;z-index:25;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border:1px solid #dfe5e1;border-radius:15px;padding:9px;display:flex;gap:8px;box-shadow:0 8px 28px rgba(0,0,0,.12);margin-top:18px}
body.app-form-ui .app-sticky-actions .btn{flex:1;min-height:48px}
body.app-form-ui .app-field-error-summary{border-left:5px solid var(--form-danger);background:#fff3f2;border-radius:10px;padding:11px 13px;margin:12px 0;color:#72201a}
body.app-form-ui .app-toggle-password{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:transparent;cursor:pointer;padding:6px 8px;font-weight:700;color:var(--grün)}
body.app-form-ui .app-password-wrap{position:relative}.app-password-wrap input{padding-right:72px!important}
body.app-form-ui .app-file-name{font-size:.76rem;color:var(--text-mute);margin-top:5px;display:block}
body.app-form-ui .app-form-section[hidden],body.app-form-ui [hidden]{display:none!important}

/* Termin-/Kalender-Formulare */
.v118-form-shell{max-width:880px;margin:0 auto;padding:0 12px 100px}.v118-form-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin:14px 0 18px}.v118-form-header h1{margin:2px 0 5px}.v118-form-header p{margin:0;color:var(--text-mute)}
.v118-form-progress{display:flex;gap:6px;overflow:auto;margin:0 0 14px;padding-bottom:3px}.v118-form-progress a{white-space:nowrap;text-decoration:none;border:1px solid var(--form-border);background:#fff;border-radius:999px;padding:7px 10px;font-size:.76rem;font-weight:800;color:var(--text)}
.v118-resource-card{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:flex-start;border:1px solid var(--form-border);border-radius:14px;padding:12px;background:#fff}.v118-resource-card:has(input:checked){border-color:var(--grün);background:var(--grün-hell)}.v118-resource-meta{font-size:.75rem;color:var(--text-mute);margin-top:3px}.v118-approval-badge{display:inline-flex;margin-top:5px;padding:3px 7px;border-radius:999px;background:#fff2cc;color:#795700;font-size:.69rem;font-weight:800}
.v118-visibility-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.v118-visibility-grid label{border:1px solid var(--form-border);border-radius:13px;padding:11px;background:#fff;cursor:pointer;display:flex!important;align-items:flex-start!important}.v118-visibility-grid label:has(input:checked){border-color:var(--grün);background:var(--grün-hell)}
.v118-form-shell label:has(> input[type=checkbox]),.v118-form-shell label:has(> input[type=radio]),.v244-term-edit label:has(> input[type=checkbox]),.v244-term-edit label:has(> input[type=radio]){min-height:44px;display:flex;align-items:center;gap:8px;cursor:pointer}
.v118-form-shell input[type=checkbox],.v118-form-shell input[type=radio],.v244-term-edit input[type=checkbox],.v244-term-edit input[type=radio]{width:20px;height:20px;min-height:20px;flex:0 0 auto;accent-color:var(--grün)}
.v118-calendar-filter{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:9px;align-items:end}.v118-calendar-filter .btn{min-height:46px}.v118-event-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.v118-event-actions form{margin:0}.v118-resource-decision{margin-top:9px;padding:10px;border-radius:12px;background:var(--form-soft);border:1px solid var(--form-border)}
.v118-attendance-grid{display:grid;gap:8px}.v118-attendance-row{display:grid;grid-template-columns:minmax(160px,1fr) minmax(190px,260px);gap:12px;align-items:center;background:#fff;border:1px solid var(--form-border);border-radius:14px;padding:10px 12px}.v118-attendance-name{font-weight:800}.v118-attendance-quick{display:flex;gap:6px;flex-wrap:wrap}.v118-attendance-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin:10px 0 14px}.v118-attendance-summary div{background:#fff;border:1px solid var(--form-border);border-radius:12px;padding:9px;text-align:center}.v118-attendance-summary strong{display:block;font-size:1.25rem}.v118-attendance-summary small{color:var(--text-mute)}
.v118-message-compose textarea{min-height:150px}.v118-thread-message{max-width:82%;margin:8px 0;border:1px solid var(--form-border);border-radius:16px;padding:12px 14px;background:#fff}.v118-thread-message.mine{margin-left:auto;background:var(--grün-hell);border-color:#bedbc9}.v118-thread-compose{position:sticky;bottom:72px;background:rgba(247,248,249,.95);backdrop-filter:blur(8px);padding:9px 0}.v118-thread-compose form{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}.v118-thread-compose textarea{min-height:52px;max-height:160px;margin:0}.v118-thread-compose button{min-height:52px}

@media(max-width:700px){body.app-form-ui .form-row,body.app-form-ui .grid,body.app-form-ui .v87-two,.v118-calendar-filter{grid-template-columns:1fr}.v118-visibility-grid{grid-template-columns:1fr}.v118-form-header{flex-direction:column}.v118-attendance-row{grid-template-columns:1fr}.v118-attendance-summary{grid-template-columns:repeat(2,1fr)}.v118-thread-message{max-width:94%}.app-sticky-actions{bottom:82px}.v118-form-progress{flex-wrap:wrap;overflow:visible}.v118-form-progress a{flex:1 1 calc(33.333% - 6px);min-width:0;text-align:center;min-height:44px;display:flex;align-items:center;justify-content:center;white-space:normal}}
@media(min-width:900px){.v118-form-shell{padding-bottom:40px}.app-sticky-actions{bottom:16px}}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* v123 – Inhaltsbereich responsiv; App-Shell/Bottom-Navigation bewusst unverändert */
.v123-access-grid{display:grid;gap:10px}.v123-access-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--form-border,#dfe5e1);border-radius:14px;background:#fff}.v123-access-card>div{min-width:0;display:flex;flex-direction:column}.v123-access-card small{color:var(--text-mute);overflow-wrap:anywhere}
@media(max-width:760px){
  /* Nur Inhalts-/Aktionsflächen: höchstens zwei Kacheln. Navigation/Shell bleibt unangetastet. */
  .member-action-grid,.v86-dashboard,.department-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .v123-access-card{align-items:flex-start;flex-direction:column}.v123-access-card form,.v123-access-card .btn{width:100%}
}
@media(max-width:380px){.member-action-grid,.v86-dashboard,.department-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(min-width:761px) and (max-width:1100px){.member-action-grid,.department-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1101px){.v123-access-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* V124 – globale Inhaltslogik. App-Shell, Profilumschalter und Bottom-Navigation
   bleiben bewusst unberührt; nur Inhaltsnavigation/Aktionsflächen werden
   responsiv angeordnet. */
@media(max-width:760px){
  .section-nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;overflow:visible!important;flex-wrap:wrap!important;padding-bottom:0!important}
  .section-nav .btn,.section-nav>a,.section-nav>button{width:100%!important;min-width:0!important;white-space:normal!important;justify-content:center;text-align:center}
}
@media(min-width:761px) and (max-width:1100px){
  .section-nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;overflow:visible!important}
  .section-nav .btn,.section-nav>a,.section-nav>button{width:100%!important;min-height:48px;white-space:normal!important;justify-content:center;text-align:center}
}
@media(min-width:1101px){
  .section-nav{display:flex;flex-wrap:wrap;overflow:visible}
}

/* V126 – einheitliche öffentliche Formulare. Mobil einspaltig, Tablet/PC
   großzügiger; beeinflusst bewusst nicht die App-Shell/Bottom-Navigation. */
body.public-form-ui{background:var(--bg)}
body.public-form-ui .public-form-page{max-width:1180px;margin:0 auto}
body.public-form-ui .public-form-card{padding:18px}
body.public-form-ui .public-form-section{margin:0 0 18px}
body.public-form-ui .public-form-section>h2{margin-top:8px}
body.public-form-ui .public-form-grid{display:grid;grid-template-columns:1fr;gap:0 16px}
body.public-form-ui .hidden-block{display:none;margin-top:8px}
body.public-form-ui .hidden-block.visible{display:block}
body.public-form-ui .guardian-fields[hidden]{display:none!important}
body.public-form-ui .public-form-spacer{display:none}
@media(min-width:760px){
  body.public-form-ui .public-form-card{padding:24px 28px}
  body.public-form-ui .public-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 22px}
  body.public-form-ui .public-form-spacer{display:block}
  body.public-form-ui .public-form-products .produktauswahl-katalog{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(min-width:1100px){
  body.public-form-ui .public-form-card{padding:28px 34px}
  body.public-form-ui .public-form-grid{gap:4px 28px}
}


/* ===== v128: responsive Mitgliedsoberfläche ===== */
/* Die App-Shell bleibt strukturell identisch; nur ihr verfügbarer Seitenrahmen
   und der Inhaltsbereich werden auf Desktop/Tablet sinnvoll ausgenutzt. */
.member-app-page{width:100%;}
.member-home-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:start;}
.member-home-grid>.member-section{margin:0;min-width:0;}

@media (min-width: 760px){
  .page.member-app-page{max-width:1100px;}
  .page-wide.member-app-page{max-width:1200px;}
  .member-action-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .member-alert-row{grid-template-columns:repeat(2,minmax(0,1fr));}
  .member-dept-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;}
  .member-dept{min-width:0;}
}

@media (min-width: 1024px){
  .page.member-app-page,.page-wide.member-app-page{max-width:1280px;}
  .member-home-grid{grid-template-columns:minmax(300px,.9fr) minmax(420px,1.35fr);gap:24px;}
  .member-home-grid .member-event-list{min-width:0;}
  .member-home-grid .member-event-card img{max-height:260px!important;}
  .member-action-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
  .member-alert-row{grid-template-columns:repeat(4,minmax(0,1fr));}
  .member-dept-row{grid-template-columns:repeat(3,minmax(0,1fr));}
  .member-hero{margin-top:14px;}
}

@media (min-width: 1440px){
  .page.member-app-page,.page-wide.member-app-page{max-width:1360px;}
}

/* V150 Warenkorb in öffentlichen Bestellformularen */
.warenkorb-suche-wrap{margin:12px 0}.warenkorb-suche-wrap input{width:100%}
.warenkorb-box{margin-top:18px;padding:16px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}
.warenkorb-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline;flex-wrap:wrap}.warenkorb-head h3{margin:0}
.warenkorb-position{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--border)}
.warenkorb-position-actions{display:flex;gap:8px;align-items:center}.warenkorb-position-actions input{width:78px;margin:0}
.warenkorb-pflicht-hinweis{margin-top:8px}.warenkorb-add{margin-top:8px}
@media(max-width:600px){.warenkorb-position{align-items:flex-start;flex-direction:column}.warenkorb-position-actions{width:100%}.warenkorb-position-actions .btn{flex:1}}

/* V151: verständliche Validierung beim Bestellabschluss */
.bestell-fehlerbox{margin-top:20px;padding:14px 16px;border:2px solid currentColor;border-radius:10px;background:rgba(180,0,0,.06)}
.bestell-fehlerbox[hidden]{display:none!important}.bestell-fehlerbox ul{margin:8px 0 0;padding-left:20px}.bestell-fehler-link{border:0;background:none;padding:0;text-align:left;text-decoration:underline;cursor:pointer;color:inherit;font:inherit}.bestell-feld-fehler{outline:2px solid currentColor!important;outline-offset:2px}
/* V165 – kompakter Tabellenstandard */
.v165-status{min-width:0!important;max-width:210px;margin:0;padding:7px 30px 7px 9px}.v165-secondary{font-size:.82rem;opacity:.7;margin-top:3px}.v165-details{margin-top:6px;font-size:.88rem}.v165-details summary{cursor:pointer}.v165-actions{position:relative}.v165-actions>summary{list-style:none;cursor:pointer;white-space:nowrap}.v165-actions>summary::-webkit-details-marker{display:none}.v165-action-menu{display:flex;flex-direction:column;gap:5px;min-width:150px;margin-top:6px}.v165-choice{display:flex;gap:10px;padding:12px;border:1px solid #d7dce2;border-radius:10px;margin:8px 0;align-items:flex-start}.v165-choice input{margin-top:4px}
@media(max-width:760px){table .v165-row{display:grid;grid-template-columns:1fr auto;gap:6px 10px;padding:12px;border-bottom:1px solid #ddd}table .v165-row td{display:block!important;border:0!important;padding:2px!important;min-width:0}.v165-row td[data-label="Status"],.v165-row td[data-label="Name"],.v165-row td[data-label="Auswahl"]{grid-column:1/-1}.v165-row td[data-label="Bestellnr."]{grid-column:1}.v165-row td[data-label="Geburtsdatum"]{grid-column:2}.v165-row td[data-label="Aktionen"]{grid-column:1/-1}.v165-row td:before{content:attr(data-label) ": ";font-size:.75rem;font-weight:600;opacity:.65}.v165-row td[data-label="Status"]:before,.v165-row td[data-label="Name"]:before,.v165-row td[data-label="Auswahl"]:before{display:none}.v165-status{width:100%;max-width:none}.v165-action-menu{flex-direction:row;flex-wrap:wrap}.sortierbar:has(.v165-row)>tbody>tr:first-child,.sortierbar:has(.v165-row)>tr:first-child{display:none}.table-wrap:has(.v165-row){overflow-x:visible}}
/* V166: Desktop-Arbeitsliste + einklappbare Auswertungen */
.v166-section,.v166-dub-group{margin:14px 0;border:1px solid #dfe3e8;border-radius:12px;background:#fff}.v166-section>summary,.v166-dub-group>summary{cursor:pointer;padding:14px 16px;font-weight:700}.v166-section>.table-wrap{margin:0 12px 12px}.v166-dub-body{padding:0 16px 16px}.v166-dub-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.v166-dub-head{margin:14px 0}.v166-inline-details summary{cursor:pointer;white-space:nowrap}.v166-inline-details>div{min-width:280px;padding-top:8px}.v166-sticky-status{position:sticky;left:0;background:#fff;z-index:2}.v166-sticky-nr{position:sticky;left:220px;background:#fff;z-index:2}.v166-sticky-name{position:sticky;left:335px;background:#fff;z-index:2}.sortierbar th.v166-sticky-status,.sortierbar th.v166-sticky-nr,.sortierbar th.v166-sticky-name{z-index:4;background:#f3f4f6}
@media(min-width:761px){.table-wrap:has(.v165-row){overflow:auto;max-width:100%}.table-wrap:has(.v165-row) table{min-width:980px;width:100%}.v165-row td{vertical-align:middle}.v165-row td[data-label="Status"]{min-width:220px}.v165-row td[data-label="Bestellnr."]{min-width:115px}.v165-row td[data-label="Name"]{min-width:190px}.v165-row td[data-label="Auswahl"]{min-width:210px}}
@media(max-width:760px){table .v165-row{display:grid;grid-template-columns:92px minmax(0,1fr) 42px;gap:4px 8px;padding:9px 6px}.v165-row td[data-label="Status"]{grid-column:1/-1}.v165-row td[data-label="Bestellnr."]{grid-column:1}.v165-row td[data-label="Name"]{grid-column:2}.v165-row td[data-label="Aktionen"]{grid-column:3;grid-row:2}.v165-row td[data-label="Geburtsdatum"],.v165-row td[data-label="Auswahl"]{grid-column:1/-1}.v165-row td[data-label="Geburtsdatum"]{display:none!important}.v165-row td[data-label="Auswahl"]{font-size:.9rem}.v165-row td[data-label="Aktionen"]:before,.v165-row td[data-label="Bestellnr."]:before,.v165-row td[data-label="Name"]:before{display:none}.v166-sticky-status,.v166-sticky-nr,.v166-sticky-name{position:static}.v166-inline-details summary{white-space:normal}.v165-actions>summary{padding:6px 8px;font-size:0;min-width:36px}.v165-actions>summary:after{content:'⋮';font-size:20px}.v166-section>summary,.v166-dub-group>summary{padding:12px}}

/* V168 – einheitliche kompakte Arbeitslisten: echte Tabelle auf Mobil + Desktop. */
.v168-priority-hint{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 8px;font-size:.82rem;color:#667085}.v168-priority-hint span{background:#fff;border:1px solid #e3e7ec;border-radius:999px;padding:4px 8px}.v168-work-wrap{overflow-x:auto!important;border:1px solid #e1e5ea;background:#fff}.v168-work-table{width:100%;min-width:520px;border-collapse:separate;border-spacing:0;margin:0}.v168-work-table th{position:sticky;top:0;z-index:3;background:#f5f6f8;white-space:nowrap;padding:9px 10px;font-size:.87rem}.v168-work-table td{padding:8px 10px;vertical-align:middle;border-bottom:1px solid rgba(0,0,0,.08);font-size:.9rem}.v168-work-table th:nth-child(1),.v168-work-table td:nth-child(1){width:112px}.v168-work-table th:nth-child(3),.v168-work-table td:nth-child(3){width:112px}.v168-actions-col{width:54px}.v168-subline{font-size:.76rem;opacity:.72;margin-top:2px}.v168-menu-button{display:inline-flex;width:36px;height:34px;align-items:center;justify-content:center;border:1px solid #b9c4d1;border-radius:9px;background:#fff;font-size:21px;line-height:1;cursor:pointer;list-style:none}.v168-menu-button::-webkit-details-marker{display:none}.v168-actions{position:relative}.v168-action-menu{min-width:270px;max-width:340px;display:flex;flex-direction:column;gap:7px;padding:10px;margin-top:6px;border:1px solid #d9dfe6;border-radius:10px;background:#fff;box-shadow:0 8px 22px rgba(0,0,0,.12);position:absolute;right:0;z-index:20}.v168-action-menu form{margin:0}.v168-action-menu select{margin:0;width:100%;padding:7px 30px 7px 8px}.v168-action-title{font-weight:700}.v168-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.v168-process-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.v168-process-grid>div{border:1px solid #e2e6ea;border-radius:8px;padding:7px;font-size:.79rem}.v168-process-grid strong,.v168-process-grid span{display:block}.v168-detail-text,.v168-order-detail{font-size:.82rem;line-height:1.35}.v168-order-detail summary{cursor:pointer;font-weight:650}.v168-issue-badge{display:inline-block;margin-left:5px;padding:2px 5px;border-radius:999px;background:#fff;border:1px solid currentColor;font-size:.66rem;font-weight:700}.v168-needs-attention td:first-child{box-shadow:inset 4px 0 0 #b42318}.v168-dup-toggle{margin-left:5px;padding:2px 6px;border:1px solid #b54708;border-radius:999px;background:#fff7ed;color:#9a3412;font-size:.72rem;font-weight:700;cursor:pointer}.v168-dup-panel{margin:6px 12px 10px 22px;padding:10px 12px;border-left:4px solid #d97706;background:#fffaf2;border-radius:8px}.v168-dup-head{font-weight:700;margin-bottom:7px}.v168-mini-table{width:100%;border-collapse:collapse;margin:0 0 8px;background:#fff}.v168-mini-table th,.v168-mini-table td{padding:6px 7px;font-size:.78rem;border-bottom:1px solid #eee;text-align:left}.v168-dup-detail-row[hidden]{display:none!important}
/* Status wird primär über die komplette Zeile transportiert; Text bleibt im Aktionsmenü. */
.v168-status-warteschlange_zahlungseingang td{background:#fff8e6}.v168-status-mitglied_bestaetigung td{background:#fff1e6}.v168-status-bestellvorbereitung td{background:#eef5ff}.v168-status-beim_lieferanten_bestellt td{background:#eef2ff}.v168-status-teileingang td{background:#f3f0ff}.v168-status-teilausgabe td{background:#eefbf4}.v168-status-wareneingang_komplett td{background:#eaf8ef}.v168-status-komplett_ausgegeben td{background:#e8f7ef}.v168-status-abgeschlossen td{background:#f1f3f5}.v168-status-storniert td{background:#fff0f0;text-decoration-color:#a00}
/* Gleicher Tabellenkontext app-weit für sortierbare Listen. */
.page-wide table.sortierbar th{font-weight:700}.page-wide table.sortierbar tr:hover td{filter:brightness(.985)}
@media(max-width:760px){.v168-work-wrap{margin-left:-4px;margin-right:-4px}.v168-work-table{min-width:485px}.v168-work-table th,.v168-work-table td{padding:7px 7px;font-size:.81rem}.v168-work-table th:nth-child(1),.v168-work-table td:nth-child(1){width:92px}.v168-work-table th:nth-child(3),.v168-work-table td:nth-child(3){width:96px}.v168-action-menu{position:fixed;left:12px;right:12px;bottom:76px;top:auto;max-width:none;min-width:0;max-height:68vh;overflow:auto;z-index:1000}.v168-menu-button{width:34px;height:32px}.v168-subline{font-size:.69rem}.v168-dup-panel{margin:4px 4px 8px 10px;padding:8px}.v168-mini-table th,.v168-mini-table td{font-size:.72rem;padding:5px}.v168-priority-hint{font-size:.72rem}}

/* V170 – kompaktes Kontext-Popup + verbindliche Prozessfarben. */
:root{
 --workflow-zahlung:#fff3bf;--workflow-bestaetigung:#ffe8cc;--workflow-vorbereitung:#dbeafe;
 --workflow-lieferant:#c7d2fe;--workflow-teileingang:#e9d5ff;--workflow-teilausgabe:#d1fae5;
 --workflow-wareneingang:#bbf7d0;--workflow-ausgegeben:#a7f3d0;--workflow-abgeschlossen:#e5e7eb;--workflow-storniert:#fee2e2;
}
/* Exakt dieselbe Statusfarbe gilt in allen Arbeitslisten/Meldungen. */
.v168-status-warteschlange_zahlungseingang td{background:var(--workflow-zahlung)!important}
.v168-status-mitglied_bestaetigung td{background:var(--workflow-bestaetigung)!important}
.v168-status-bestellvorbereitung td{background:var(--workflow-vorbereitung)!important}
.v168-status-beim_lieferanten_bestellt td{background:var(--workflow-lieferant)!important}
.v168-status-teileingang td{background:var(--workflow-teileingang)!important}
.v168-status-teilausgabe td{background:var(--workflow-teilausgabe)!important}
.v168-status-wareneingang_komplett td{background:var(--workflow-wareneingang)!important}
.v168-status-komplett_ausgegeben td{background:var(--workflow-ausgegeben)!important}
.v168-status-abgeschlossen td{background:var(--workflow-abgeschlossen)!important}
.v168-status-storniert td{background:var(--workflow-storniert)!important}
.v168-actions{position:relative!important}.v168-actions[open]{position:relative!important}
.v168-actions .v168-action-menu{position:absolute!important;top:calc(100% + 6px)!important;right:0!important;left:auto!important;bottom:auto!important;width:290px!important;max-width:min(290px,calc(100vw - 24px))!important;min-width:240px!important;height:auto!important;max-height:min(520px,70vh)!important;margin:0!important;padding:9px!important;border:1px solid #d0d5dd!important;border-radius:12px!important;background:#fff!important;box-shadow:0 12px 28px rgba(15,23,42,.18)!important;overflow:auto!important;z-index:1000!important;display:flex!important;flex-direction:column!important;gap:6px!important;transform:none!important;transition:none!important}
.v170-popup-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:2px 2px 7px;border-bottom:1px solid #eaecf0}
.v170-popup-ident{min-width:0}.v170-popup-ident strong{display:block;font-size:.9rem}.v170-popup-ident span{display:block;color:#667085;font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v170-popup-close{flex:0 0 auto;width:28px;height:28px;border:1px solid #d0d5dd;border-radius:8px;background:#fff;font-size:18px;line-height:1;cursor:pointer;color:#344054}
.v168-action-menu .btn,.v168-action-menu form>.btn,.v168-action-menu form>button{width:100%;justify-content:flex-start;text-align:left;min-height:34px;padding:7px 9px;font-size:.8rem}
.v168-action-menu .v168-action-grid{display:flex!important;flex-direction:column!important;gap:5px!important}.v168-action-menu .v168-process-grid{grid-template-columns:1fr 1fr;gap:5px}.v168-action-menu .v168-process-grid>div{padding:5px;font-size:.72rem}.v168-action-menu .v168-action-title{font-size:.8rem}.v168-action-menu select{font-size:.8rem;padding:6px 28px 6px 7px}
@media(max-width:760px){.v168-actions .v168-action-menu{position:fixed!important;top:auto!important;right:10px!important;left:10px!important;bottom:74px!important;width:auto!important;max-width:none!important;min-width:0!important;max-height:62vh!important;border-radius:12px!important;padding:9px!important}.v168-action-menu .v168-process-grid{grid-template-columns:1fr 1fr}}

/* V171 – echtes Kontext-Popup, progressive Informationsdichte, einheitliche Workflow-Farben. */
.workflow-tile{border-width:1px!important;border-style:solid!important;color:#1f2937!important}
.workflow-tile.workflow-warteschlange_zahlungseingang{background:var(--workflow-zahlung)!important;border-color:#d6a600!important}
.workflow-tile.workflow-mitglied_bestaetigung{background:var(--workflow-bestaetigung)!important;border-color:#e67e22!important}
.workflow-tile.workflow-bestellvorbereitung{background:var(--workflow-vorbereitung)!important;border-color:#4f8bd6!important}
.workflow-tile.workflow-beim_lieferanten_bestellt{background:var(--workflow-lieferant)!important;border-color:#6366f1!important}
.workflow-tile.workflow-teileingang{background:var(--workflow-teileingang)!important;border-color:#8b5cf6!important}
.workflow-tile.workflow-teilausgabe{background:var(--workflow-teilausgabe)!important;border-color:#10b981!important}
.workflow-tile.workflow-wareneingang_komplett{background:var(--workflow-wareneingang)!important;border-color:#22c55e!important}
.workflow-tile.workflow-komplett_ausgegeben{background:var(--workflow-ausgegeben)!important;border-color:#059669!important}
.workflow-tile.workflow-abgeschlossen{background:var(--workflow-abgeschlossen)!important;border-color:#9ca3af!important}
.workflow-tile.workflow-storniert{background:var(--workflow-storniert)!important;border-color:#ef4444!important}
.workflow-tile.workflow-klaerung{background:#ffedd5!important;border-color:#ea580c!important}
.workflow-tile.workflow-alle{background:#fff!important;border-color:#d0d5dd!important}
.workflow-tile.active{outline:2px solid rgba(31,41,55,.35);outline-offset:1px}
.v171-status-pill{display:inline-block;padding:3px 7px;border-radius:999px;border:1px solid rgba(0,0,0,.12);font-size:.72rem;font-weight:700;white-space:nowrap;background:#fff}
.v171-status-pill.workflow-warteschlange_zahlungseingang{background:var(--workflow-zahlung)}
.v171-status-pill.workflow-mitglied_bestaetigung{background:var(--workflow-bestaetigung)}
.v171-status-pill.workflow-bestellvorbereitung{background:var(--workflow-vorbereitung)}
.v171-status-pill.workflow-beim_lieferanten_bestellt{background:var(--workflow-lieferant)}
.v171-status-pill.workflow-teileingang{background:var(--workflow-teileingang)}
.v171-status-pill.workflow-teilausgabe{background:var(--workflow-teilausgabe)}
.v171-status-pill.workflow-wareneingang_komplett{background:var(--workflow-wareneingang)}
.v171-status-pill.workflow-komplett_ausgegeben{background:var(--workflow-ausgegeben)}
.v171-status-pill.workflow-abgeschlossen{background:var(--workflow-abgeschlossen)}
.v171-status-pill.workflow-storniert{background:var(--workflow-storniert)}
/* Popup wird per JS an body verschoben und kann nicht mehr von Tabellencontainern abgeschnitten werden. */
.v171-portal-menu{position:fixed!important;right:auto!important;bottom:auto!important;margin:0!important;z-index:5000!important;max-height:calc(100vh - 16px)!important;overflow:auto!important;border-radius:12px!important;box-shadow:0 14px 36px rgba(15,23,42,.26)!important}
/* Alte mobile Bottom-Sheet-Regel explizit neutralisieren. */
@media(max-width:760px){.v171-portal-menu{position:fixed!important;right:auto!important;bottom:auto!important;max-width:calc(100vw - 16px)!important;min-width:230px!important}.v168-work-table{min-width:0!important;width:100%!important}.v168-work-table th,.v168-work-table td{padding:7px 6px}.v168-work-table th:nth-child(1),.v168-work-table td:nth-child(1){width:auto}.v168-work-table th:nth-child(3),.v168-work-table td:nth-child(3){width:auto}}
/* Progressive Spalten: mehr reale/zoombedingte Breite zeigt automatisch mehr Daten. */
.v171-col-status,.v171-col-team{display:none}
@media(max-width:399px){.v171-col-birth{display:none}}
@media(min-width:400px){.v171-col-birth{display:table-cell}}
@media(min-width:620px){.v171-col-status{display:table-cell}}
@media(min-width:820px){.v171-col-team{display:table-cell}}
/* Klärung bleibt Zusatzsignal; die eigentliche Prozessfarbe der Zeile bleibt sichtbar. */
.v168-needs-attention td:first-child{box-shadow:inset 5px 0 0 #dc2626!important}


/* V172 – adaptive Tabellendichte + Masterkatalog */
.v172-density{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin:8px 0;font-size:.78rem;color:#667085}
.v172-density button{border:1px solid #d0d5dd;background:#fff;border-radius:999px;padding:5px 9px;font:inherit;cursor:pointer}
.v172-density button.active{background:#344054;color:#fff;border-color:#344054}
html[data-table-density="compact"] .v171-col-birth,html[data-table-density="compact"] .v171-col-status,html[data-table-density="compact"] .v171-col-team{display:none!important}
html[data-table-density="standard"] .v171-col-birth{display:table-cell!important}
html[data-table-density="standard"] .v171-col-status{display:table-cell!important}
html[data-table-density="standard"] .v171-col-team{display:none!important}
html[data-table-density="expanded"] .v171-col-birth,html[data-table-density="expanded"] .v171-col-status,html[data-table-density="expanded"] .v171-col-team{display:table-cell!important}
html[data-table-density="compact"] .v168-work-table th,html[data-table-density="compact"] .v168-work-table td{padding:5px 4px;font-size:.82rem}
html[data-table-density="expanded"] .v168-work-table th,html[data-table-density="expanded"] .v168-work-table td{padding:9px 8px}
.master-table{width:100%;border-collapse:collapse;min-width:900px}.master-table th,.master-table td{padding:9px;border-bottom:1px solid #e4e7ec;vertical-align:top;text-align:left}.master-erfuellt{background:#f0fdf4}.master-offen{background:#fffbeb}.master-fehler{background:#fff1f2}.compact-form{display:grid;gap:6px;min-width:240px}.compact-form input,.compact-form textarea,.compact-form select{width:100%;box-sizing:border-box}

/* V174 – appweiter responsiver Tabellenstandard */
.table-responsive,.v174-table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
table.table{width:100%;border-collapse:collapse}
table.table th,table.table td{vertical-align:top;overflow-wrap:anywhere}
@media(max-width:760px){
 table.table{font-size:.82rem}
 table.table th,table.table td{padding:6px 5px}
 .v174-secondary{display:none!important}
}
@media(min-width:761px){.v174-mobile-detail{display:none!important}}
.v174-runtime-cards{display:none}
@media(max-width:760px){
 .v174-runtime-table{display:none!important}.v174-runtime-cards{display:grid;gap:10px}
 .v174-runtime-card{border:1px solid #e4e7ec;border-radius:10px;padding:10px;background:#fff}
 .v174-runtime-card strong{overflow-wrap:anywhere}.v174-runtime-card .meta{font-size:.76rem;color:#667085;margin-top:4px}
}
.v174-quality-findings{display:grid;gap:7px;margin-top:10px}.v174-quality-finding{border-left:4px solid #f59e0b;background:#fffbeb;padding:8px 10px;border-radius:7px}.v174-quality-finding[data-level="fehler"]{border-left-color:#dc2626;background:#fff1f2}.v174-quality-finding[data-level="hinweis"]{border-left-color:#64748b;background:#f8fafc}

/* V176 – mobile Tabellenpriorisierung: Kerninformationen müssen vollständig sichtbar bleiben. */
@media (max-width:760px){
  #v168-bestellungen{width:100%!important;min-width:0!important;table-layout:fixed}
  #v168-bestellungen .v171-col-birth,
  #v168-bestellungen .v171-col-status,
  #v168-bestellungen .v171-col-team{display:none!important}
  #v168-bestellungen th:nth-child(1),#v168-bestellungen td:nth-child(1){width:34%;white-space:normal}
  #v168-bestellungen th:nth-child(2),#v168-bestellungen td:nth-child(2){width:auto;white-space:normal}
  #v168-bestellungen th:last-child,#v168-bestellungen td:last-child{display:table-cell!important;width:44px!important;text-align:center;padding-left:2px!important;padding-right:2px!important}
  #v168-bestellungen .v168-issue-badge{display:inline-block;margin:3px 0 0 0;max-width:100%;font-size:.68rem}
  #v168-bestellungen .v168-dup-toggle{white-space:nowrap}
  .v168-work-wrap{overflow-x:visible!important}
}
@media (min-width:761px) and (max-width:999px){
  #v168-bestellungen .v171-col-birth{display:table-cell!important}
  #v168-bestellungen .v171-col-status,#v168-bestellungen .v171-col-team{display:none!important}
}

/* V179 – zentraler Responsive-Standard für echte Tabellen */
.table-responsive{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}
.table-responsive>table{width:100%;max-width:none}
@media(max-width:760px){
  .table-responsive{margin-inline:0;padding-bottom:2px}
  .table-responsive th,.table-responsive td{white-space:normal;overflow-wrap:anywhere;vertical-align:top}
  .table-responsive .btn{max-width:100%}
}

/* V443 – Trainings-/Einsatzplan auf Tablet und Mobil als bedienbare Karten. */
@media(max-width:1100px){
  .v443-plan-slots-table{display:block;width:100%;min-width:0!important;background:transparent;border:0}
  .v443-plan-slots-table tbody{display:block;width:100%}
  .v443-plan-slots-table tr:first-child{display:none}
  .v443-plan-slots-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;margin:0 0 12px;border:1px solid var(--border);border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.05)}
  .v443-plan-slots-table td{display:block;min-width:0;white-space:normal!important;border:0;border-bottom:1px solid #edf0ee;padding:10px 12px;overflow-wrap:anywhere}
  .v443-plan-slots-table td::before{content:attr(data-label);display:block;margin-bottom:3px;font-size:.69rem;font-weight:800;text-transform:uppercase;letter-spacing:.035em;color:var(--text-mute)}
  .v443-plan-slots-table .v443-slot-actions-cell{grid-column:1/-1;border-bottom:0}
  .v443-plan-slots-table .v443-slot-actions-cell>.flex-wrap-gap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important;width:100%}
  .v443-plan-slots-table .v443-slot-actions-cell>.flex-wrap-gap>form{width:100%}
  .v443-plan-slots-table .v443-slot-actions-cell>.flex-wrap-gap .btn{width:100%;min-height:44px;white-space:normal}
  .v443-plan-slots-table .v443-slot-edit-panel{min-width:0!important;width:100%;max-width:100%;margin-bottom:0}
  .v443-plan-slots-table .v443-plan-empty{grid-column:1/-1}
  .v443-plan-slots-table .v443-plan-empty::before{display:none}
}
@media(max-width:560px){
  .v443-plan-slots-table tr{grid-template-columns:1fr}
  .v443-plan-slots-table .v443-slot-actions-cell>.flex-wrap-gap{grid-template-columns:1fr}
}

/* V186: gemeinsamer Portal-Seitenkopf und zentrale Statusleiste */
.portal-page-header{text-align:center;margin:0 auto 8px}.portal-page-header h1{margin:8px 0 4px}.portal-page-logo{margin-bottom:4px}.portal-status-panel{margin:14px 0 18px;border:1px solid var(--border,#dde3df);border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.04)}.portal-status-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid #edf0ee}.portal-status-head span{min-width:26px;height:26px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#eef2f0;font-weight:700}.portal-status-list{display:grid}.portal-status-item{display:grid;grid-template-columns:30px minmax(0,1fr) auto 16px;gap:10px;align-items:center;padding:12px 14px;text-decoration:none;color:inherit;border-bottom:1px solid #f0f2f1}.portal-status-item:last-child{border-bottom:0}.portal-status-item:hover{background:#fafbfa}.portal-status-icon{font-size:1.15rem;text-align:center}.portal-status-text{display:grid;gap:2px;min-width:0}.portal-status-text small{font-weight:400;color:#66736d;overflow:hidden;text-overflow:ellipsis}.portal-status-count{min-width:28px;height:28px;padding:0 7px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-weight:800;background:#edf1ef}.portal-status-kritisch{background:#fff4f4}.portal-status-kritisch .portal-status-count{background:#ffdede}.portal-status-warnung{background:#fffaf0}.portal-status-warnung .portal-status-count{background:#ffebbd}.portal-status-aufgabe .portal-status-count{background:#e8efff}.portal-status-arrow{font-size:1.45rem;color:#7a8580}@media(max-width:640px){.portal-status-panel{margin:12px 0 16px}.portal-status-item{padding:11px 12px;grid-template-columns:28px minmax(0,1fr) auto 14px}.portal-page-header h1{font-size:1.55rem}.portal-page-header .subtitle{margin-top:4px}}

/* V188: verbindlicher Portalrahmen. Der gemeinsame Kopf bleibt auf allen
   Hauptansichten gleich breit; nur der fachliche Arbeitsbereich darf auf
   grossen Displays mehr Platz verwenden. */
.v188-portal-layout-marker{display:none}
.v188-portal-page{max-width:1000px}
.portal-frame-zone{max-width:480px;margin:0 auto}
.portal-work-zone{width:100%;margin:0 auto}
.portal-frame-zone + .portal-work-zone{margin-top:4px}
@media(max-width:759px){
  .v188-portal-page{max-width:480px}
  .portal-work-zone{max-width:480px}
  .portal-work-zone .table-wrap,.portal-work-zone .table-responsive{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .portal-work-zone .filter-bar{max-width:100%}
}

/* V189 – kompakte Tabellen ausschliesslich im schmalen Hochformat.
   Querformat/Desktop bleiben unveraendert. Keine Buchstabenstapel. */
@media (max-width:760px) and (orientation:portrait){
  .v189-responsive-table{width:100%!important;min-width:0!important;table-layout:fixed!important}
  .v189-responsive-table th,.v189-responsive-table td{
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
  }
  .v189-responsive-table .v189-portrait-secondary{display:none!important}
  .v189-responsive-table th:not(.v189-portrait-secondary){padding:5px 3px!important}
  .v189-responsive-table td:not(.v189-portrait-secondary){padding:6px 4px!important}
  .v189-responsive-table th.v189-portrait-rotate,
  .v189-responsive-table td.v189-portrait-rotate{
    width:38px!important;
    min-width:38px!important;
    max-width:38px!important;
    text-align:center!important;
    vertical-align:middle!important;
  }
  .v189-responsive-table .v189-portrait-rotate > .v189-th-text,
  .v189-responsive-table td.v189-portrait-rotate > :is(span,a,button,strong,small),
  .v189-responsive-table td.v189-portrait-rotate:not(:has(*)){
    writing-mode:vertical-rl!important;
    text-orientation:mixed!important;
    white-space:nowrap!important;
    overflow-wrap:normal!important;
    word-break:keep-all!important;
  }
  .v189-responsive-table td.v189-portrait-rotate .btn{
    width:auto!important;
    min-width:30px!important;
    max-width:36px!important;
    padding:7px 5px!important;
    white-space:nowrap!important;
  }
  .v189-responsive-table td.v189-portrait-rotate .badge{
    white-space:nowrap!important;
  }
  .v189-cell-preview{
    appearance:none;border:0;background:transparent;padding:0;margin:0;width:100%;max-width:100%;
    font:inherit;color:inherit;text-align:left;cursor:pointer;line-height:1.25;
    display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;
    overflow-wrap:normal!important;word-break:normal!important;
  }
  .v189-cell-preview::after{content:' …';font-weight:700}
  .table-responsive:has(.v189-responsive-table){overflow-x:hidden!important}
}

.v189-fulltext-modal{position:fixed;inset:0;z-index:10000;background:rgba(15,23,42,.52);display:grid;place-items:center;padding:18px}
.v189-fulltext-modal[hidden]{display:none!important}
.v189-fulltext-dialog{width:min(560px,100%);max-height:min(70vh,620px);overflow:auto;background:#fff;border-radius:16px;box-shadow:0 20px 55px rgba(0,0,0,.28);border:1px solid #e4e7ec}
.v189-fulltext-head{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;background:#fff;border-bottom:1px solid #e4e7ec}
.v189-fulltext-close{border:1px solid #d0d5dd;background:#fff;border-radius:9px;width:34px;height:34px;font-size:24px;line-height:1;cursor:pointer}
.v189-fulltext-body{padding:16px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5}
body.v189-modal-open{overflow:hidden}

/* V195: kompletter Bestellvergleich in der Dublettenprüfung */
.v195-order-compare{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin:12px 0}.v195-order-card{margin:0}.v195-order-card h4{margin:0 0 4px}.v195-order-items{margin:10px 0;display:grid;gap:5px}.v195-storno-form{margin-top:12px;display:grid;gap:8px}.v195-storno-form input{width:100%;box-sizing:border-box}@media(max-width:760px){.v195-order-compare{grid-template-columns:1fr}}

/* V199 zentrale Mannschaftsübersicht */
.v199-team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin:14px 0}.v199-team-card{background:#fff;border:1px solid #e2e7e4;border-radius:18px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.05)}.v199-team-image,.v199-team-fallback{width:100%;height:170px;object-fit:cover}.v199-team-fallback{display:grid;place-items:center;background:#eef2ef;font-size:3rem;font-weight:800}.v199-team-body{padding:16px}.v199-team-body h2{margin:0 0 6px}.v199-settings-image{width:100%;max-height:300px;object-fit:cover;border-radius:14px;margin-bottom:12px}.v199-dashboard-team-image{width:100%;max-height:260px;object-fit:cover;border-radius:14px;margin-bottom:12px}@media(max-width:640px){.v199-team-grid{grid-template-columns:1fr}.v199-team-image,.v199-team-fallback{height:150px}}

/* V208: Systemcheck/Diagnose auf kleinen Displays kompakt und bedienbar. */
.adaptive-findings{margin-top:10px}
.adaptive-findings-body{display:grid;gap:8px;max-height:min(62vh,720px);overflow:auto;padding-right:8px}
.adaptive-finding{overflow-wrap:anywhere;word-break:break-word}
@media(max-width:700px){
  .portal-work-zone .kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .portal-work-zone .kpi{min-width:0;padding:10px!important}
  .portal-work-zone .kpi span{display:block;font-size:.78rem;line-height:1.2;overflow-wrap:anywhere}
  .portal-work-zone .kpi strong{display:block;font-size:1.15rem;line-height:1.2;margin-top:3px}
  .adaptive-findings-body{max-height:55vh;padding:8px!important}
  .adaptive-finding{padding:9px!important;font-size:.92rem}
  .systemcheck-result-body{padding-left:12px}
}

/* V243: Rueckmeldungsstatus und Frist im Mitgliederportal */
.member-rsvp-state{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap;margin:12px 0 8px;padding:10px 12px;border:1px solid var(--line,#d9dee5);border-radius:12px;background:var(--card,#fff)}
.member-rsvp-state small{opacity:.75}
.member-rsvp-closed{margin:8px 0 0;padding:10px 12px;border-radius:12px;background:rgba(120,120,120,.10);font-weight:600}

/* V273: mobile Schnellantwort in der bestehenden Mitglieder-Dashboard-Terminliste. */
.v273-dashboard-rsvp{display:block;padding:0;overflow:hidden}
.v273-dashboard-rsvp .member-event-link{display:flex;align-items:center;gap:12px;padding:13px;text-decoration:none;color:var(--text)}
.member-quick-rsvp{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 13px 13px;margin:0}
.member-quick-answer{border:1px solid var(--border);border-radius:11px;padding:9px 8px;background:#fff;font-weight:800;cursor:pointer}
.member-quick-answer.yes.selected,.member-quick-answer.yes:hover{background:#e7f7ec;border-color:#a5dab6;color:#176d35}
.member-quick-answer.no.selected,.member-quick-answer.no:hover{background:#fdeceb;border-color:#efb4b0;color:#a8241b}

/* V314 – WebGUI-/Dashboard-Grundstruktur */
.settings-hub-head{margin:18px 0 16px}.settings-hub-head h1{margin:.1rem 0 .35rem}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;margin:18px 0}.settings-card{position:relative;display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:start;text-decoration:none;background:var(--card-bg,#fff);border:1px solid rgba(0,0,0,.08);border-radius:16px;padding:16px;color:inherit;box-shadow:0 2px 10px rgba(0,0,0,.035)}.settings-card:hover{transform:translateY(-1px)}.settings-card-icon{font-size:1.7rem;line-height:1}.settings-card-copy{display:flex;flex-direction:column;gap:5px;min-width:0}.settings-card-copy strong{font-size:1.05rem}.settings-card-copy small{line-height:1.35;color:#687078}.settings-card-arrow{font-size:1.8rem;line-height:1;color:#7d858c}.settings-card-status{grid-column:2/4;font-size:.74rem;color:#786d44}.settings-principle{margin-top:18px}.settings-breadcrumb{margin:14px 0}.settings-breadcrumb a{text-decoration:none}.settings-form{display:grid;gap:14px}.settings-field{display:grid;gap:6px}.app-context-group-title{padding:10px 16px 5px;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#777;font-weight:700}.app-context-group-title:not(:first-child){border-top:1px solid rgba(0,0,0,.06);margin-top:4px;padding-top:12px}
@media(max-width:700px){.settings-grid{grid-template-columns:1fr}.settings-card{padding:14px}.settings-hub-head{margin-top:12px}}

/* V395 – Eltern-/Vertretungsprofile im Mitglieder-Dashboard */
.member-representation-banner{margin:12px 0 16px;padding:12px 14px;border:1px solid rgba(0,0,0,.12);border-radius:14px;background:rgba(255,255,255,.72);display:grid;gap:4px}
.member-representation-banner strong{font-weight:750}
.member-representation-banner span{font-size:.9rem;line-height:1.35;opacity:.78}
.member-profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.member-profile-card{margin:0}
.member-profile-card button{width:100%;min-height:74px;border:1px solid rgba(0,0,0,.12);border-radius:14px;background:var(--card-bg,#fff);padding:12px;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;text-align:left;color:inherit;font:inherit;cursor:pointer}
.member-profile-card.is-active button{box-shadow:inset 0 0 0 2px currentColor}
.member-profile-icon{font-size:1.35rem}
.member-profile-copy{display:grid;gap:3px;min-width:0}
.member-profile-copy strong,.member-profile-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.member-profile-copy small{opacity:.7}
.member-profile-meta b{font-size:.78rem;white-space:nowrap}
@media (max-width:640px){.member-profile-grid{grid-template-columns:1fr}.member-profile-card button{min-height:68px}}

/* V403 – Mobile Vereinsbetrieb-UX: Termine, Personen, Standort/Ressource */
.v403-calendar .member-page-title,.v403-people-page .member-page-title,.v403-location-page .member-page-title,.v403-resource-page .member-page-title{margin-bottom:14px}
.v403-calendar-filter{margin:10px 0 14px;background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:0 12px}
.v403-calendar-filter>summary{padding:11px 0;cursor:pointer;font-weight:700}
.v403-calendar-filter .v86-section{margin:0 0 12px;padding:0;border:0;box-shadow:none}
.v403-event-list{display:grid;gap:10px}
.v403-event-card{padding:14px!important;margin:0!important}
.v403-event-card .member-event-card-top{align-items:flex-start}
.v403-event-card .member-event-main h2{margin:2px 0 3px;border:0;padding:0;font-size:1.05rem;line-height:1.25}
.v403-event-card .member-event-main h2 a{color:inherit;text-decoration:none}
.v403-term-time{margin:0;font-weight:750;font-size:.95rem}
.v403-term-meta{display:flex;flex-wrap:wrap;gap:6px 12px;margin:9px 0 4px;font-size:.82rem;color:var(--text-mute)}
.v403-clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.v403-term-primary-actions{display:flex;gap:8px;align-items:stretch;flex-wrap:wrap;margin-top:10px}
.v403-term-primary-actions>.member-inline-details{flex:1 1 220px;margin:0}
.v403-term-primary-actions>.btn{flex:0 1 auto}
.v403-term-more{margin-top:8px;border-top:1px solid var(--border);padding-top:7px}
.v403-term-more>summary{cursor:pointer;font-weight:700;color:var(--text-mute);list-style:none;padding:4px 0}
.v403-term-more>summary::-webkit-details-marker{display:none}
.v403-term-more-menu{display:grid;gap:8px;padding-top:8px}
.v403-term-more-menu>.btn{width:100%}
.v403-event-focus{box-shadow:0 4px 18px rgba(0,0,0,.10)}
.v403-resource-decision{padding:8px 0;border-bottom:1px solid var(--border)}
.v403-resource-decision:last-child{border-bottom:0}
.v403-inline-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.v403-inline-info{margin-top:8px;padding:9px 11px;border-radius:10px;background:var(--grün-hell);font-size:.84rem}
.v403-legacy-resource-note,.v403-clarification{margin-top:12px;padding:12px;border:1px solid #e6c568;border-radius:12px;background:var(--gelb-hell)}
.v403-legacy-resource-note p{font-size:.85rem;margin:4px 0 10px}

.v403-status-note{display:grid;gap:4px;margin:12px 0;padding:11px 12px;border:1px solid var(--border);border-radius:12px;background:var(--card-bg);font-size:.84rem}
.v403-status-note span{color:var(--text-mute)}
.v403-status-row{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.v403-badge-warning{background:var(--gelb-hell)!important;color:var(--gelb)!important;border:1px solid #e6c568!important}
.v403-person-mobile-list{display:none}
.v403-person-card{background:var(--card-bg);border:1px solid var(--border);border-radius:14px;padding:13px;box-shadow:var(--shadow);display:grid;gap:10px}
.v403-person-card-head{display:flex;gap:10px;justify-content:space-between;align-items:flex-start}
.v403-person-card-head>div{display:grid;min-width:0}
.v403-person-card-head small{color:var(--text-mute);margin-top:2px}
.v403-person-meta{display:grid;gap:3px;font-size:.82rem;color:var(--text-mute)}
.v403-location-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}
.v403-location-card{background:var(--card-bg);border:1px solid var(--border);border-radius:14px;padding:13px;box-shadow:var(--shadow);display:grid;gap:8px}
.v403-location-card>div:first-child,.v403-location-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.v403-location-card strong{display:block}
.v403-location-card small{display:block;color:var(--text-mute);margin-top:2px}
.v403-location-card p{margin:0;font-size:.86rem}
/* V443: Standortformulare nutzen teils semantisch textartige Inputs ohne type-Attribut.
   Im Standort-Scope erhalten sie dieselbe touch-taugliche Darstellung wie normale Textfelder,
   ohne bestehende Formulare außerhalb dieses Bereichs zu verändern. */
.v403-location-page input:not([type]){
  width:100%;min-height:46px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);
  font-size:1rem;background:#fff;color:var(--text);font-family:inherit
}
.v403-location-page input:not([type]):focus{
  outline:none;border-color:var(--grün);box-shadow:0 0 0 3px var(--grün-hell)
}
.v403-location-page input[type=checkbox],.v403-location-page input[type=radio]{
  width:20px;height:20px;min-height:20px;flex:0 0 auto;accent-color:var(--grün)
}
.v403-location-page label:has(> input[type=checkbox]),.v403-location-page label:has(> input[type=radio]){
  min-height:44px;display:flex;align-items:center;gap:6px;cursor:pointer
}
.v403-secondary-actions{border-top:1px solid var(--border);padding-top:7px}
.v403-secondary-actions>summary{cursor:pointer;font-weight:700;color:var(--text-mute)}

@media(max-width:720px){
  .v403-person-mobile-list{display:grid;gap:10px}
  .v403-person-desktop-table{display:none!important}
  .v403-people-filter .form-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .v403-calendar-dashboard{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v403-event-card{padding:12px!important}
  .v403-event-card .member-event-icon.large{width:40px;height:40px;min-width:40px;font-size:1.25rem}
  .v403-term-primary-actions{display:grid;grid-template-columns:1fr}
  .v403-term-primary-actions>.btn{width:100%}
  .v403-rsvp-form .member-answer-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v403-location-grid{grid-template-columns:1fr}
}
@media(min-width:721px){
  .v403-person-desktop-table{display:block}
}

/* V411: mobile, missverstaendnisfreie Termin-Recovery */
.v411-recovery-list{display:grid;gap:12px;margin:12px 0}.v411-recovery-card{display:grid;gap:10px}.v411-recovery-card.is-central{border-left:4px solid var(--success,#258a48)}.v411-recovery-card.is-ignored{border-left:4px solid var(--warning,#b27a00)}.v411-recovery-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}.v411-recovery-decisions{border:0;padding:0;margin:0;display:grid;gap:8px}.v411-recovery-decisions legend{font-weight:700;margin-bottom:6px}.v411-recovery-decisions>label{display:flex;gap:8px;align-items:flex-start;padding:8px 10px;border:1px solid var(--border,#d9dddf);border-radius:10px}.v411-recovery-reason{margin-top:2px}.v411-recovery-state{margin:0;padding:10px;border-radius:10px;background:var(--surface-soft,#f4f7f5)}
@media (max-width:700px){.v411-recovery-page .form-row{grid-template-columns:1fr}.v411-recovery-card{padding:14px}.v411-recovery-summary{gap:6px}.v411-recovery-actions .btn{width:100%}}

/* V412 – mobile-first Mannschafts-Dashboard 2.0 */
.v412-team-dashboard{max-width:1080px;margin:0 auto}.v412-hero{margin-bottom:10px}
.v412-quick-status{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 22px}
.v412-quick-status>a{display:flex;flex-direction:column;min-width:0;padding:12px;border-radius:15px;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.05);text-decoration:none;color:inherit}
.v412-quick-status span{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;opacity:.62}.v412-quick-status strong{font-size:1.25rem;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v412-quick-status small{font-size:.68rem;opacity:.65;margin-top:2px}
.v412-action-list{display:grid;gap:8px}.v412-action-card{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;border-radius:16px;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.05);text-decoration:none;color:inherit;border-left:4px solid #d8dedb}
.v412-action-card.is-critical{border-left-color:#b42318;background:#fffafa}.v412-action-card.is-warn{border-left-color:#c17b08;background:#fffdf8}.v412-action-card.is-info{border-left-color:#2367a6}
.v412-action-icon{font-size:1.25rem;text-align:center}.v412-action-card span:nth-child(2){display:flex;flex-direction:column;min-width:0}.v412-action-card small{opacity:.68;margin-top:2px}.v412-action-card>b{font-size:1.3rem;opacity:.4}
.v412-birthday-row{display:grid;gap:8px}.v412-birthday{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:15px;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.05)}
.v412-birthday.is-today{border:1px solid rgba(166,43,35,.35);background:rgba(166,43,35,.04)}.v412-birthday>div:last-child{display:flex;flex-direction:column;min-width:0}.v412-birthday small{opacity:.68;margin-top:2px}.v412-heading-link{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.v412-heading-link>a{font-size:.78rem;font-weight:800;text-decoration:none}
.v412-term-list{display:grid;gap:10px}.v412-term-card{margin:0}.v412-term-card .v391-trainer-term-actions{margin-top:10px}.v412-section-actions{margin-top:10px}
.member-empty.compact{padding:14px;box-shadow:none;border:1px dashed var(--border)}
.v412-preview-grid{grid-template-columns:1fr}.v412-preview-grid .department-person{min-width:0}.v412-preview-grid .department-person>div:last-child{min-width:0}.v412-preview-grid strong{overflow-wrap:anywhere}
.v412-status-chips{display:flex;gap:8px;overflow-x:auto;padding:2px 1px 7px;margin-bottom:10px}.v412-status-chips>a{flex:0 0 auto;display:flex;flex-direction:column;min-width:124px;padding:10px 11px;border-radius:14px;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.05);text-decoration:none;color:inherit}.v412-status-chips>a.is-active{outline:2px solid var(--primary,#1b6e3c)}.v412-status-chips strong{font-size:1.1rem}.v412-status-chips span{font-size:.7rem;opacity:.68;margin-top:2px}
.v412-order-list,.v412-mobile-list{display:grid;gap:8px}.v412-order-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:11px 12px;border-radius:15px;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.05)}.v412-order-card>div{display:flex;flex-direction:column;min-width:0}.v412-order-card small{opacity:.65;margin-top:2px}.v412-order-card .btn{grid-column:1/-1;width:100%}
.v412-person-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 12px;border-radius:15px;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.05)}.v412-person-card>div:nth-child(2){display:flex;flex-direction:column;min-width:0}.v412-person-card small{opacity:.65;margin-top:2px}.v412-person-card>a{text-decoration:none;font-size:1.4rem;padding:8px}
.v412-desktop-table{display:none}.v412-detail-page .card{margin-bottom:10px}.v412-birthday-calendar{border-left:4px solid rgba(166,43,35,.45)}.v412-birthday-calendar.is-today{background:rgba(166,43,35,.04)}
@media(min-width:760px){.v412-quick-status{grid-template-columns:repeat(4,minmax(0,1fr))}.v412-birthday-row{grid-template-columns:repeat(2,minmax(0,1fr))}.v412-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v412-order-card{grid-template-columns:minmax(0,1fr) auto auto}.v412-order-card .btn{grid-column:auto;width:auto}.v412-mobile-list{display:none}.v412-desktop-table{display:block}}
@media(max-width:480px){.v412-team-dashboard .btn{min-height:40px}.v412-team-dashboard .flex-wrap-gap{gap:6px}.v412-team-dashboard .flex-wrap-gap>.btn,.v412-team-dashboard .flex-wrap-gap>form{flex:1 1 145px}.v412-term-card .department-section-head{align-items:flex-start}.v412-status-chips>a{min-width:112px}.v412-action-card{grid-template-columns:34px minmax(0,1fr) auto}}

/* V412 Team-/Unternehmensprojekte: reine WebGUI-Projektion des Organisationskerns. */
.v412-project-grid,.v412-project-mobile{display:grid;gap:9px}.v412-project-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px 13px;border-radius:16px;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.05);text-decoration:none;color:inherit}.v412-project-card>span:nth-child(2){display:flex;flex-direction:column;min-width:0}.v412-project-card small,.v412-project-card em{margin-top:3px;font-size:.74rem;opacity:.68;font-style:normal}.v412-project-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:rgba(127,127,127,.1)}
.v412-project-form{display:grid;gap:10px;margin-top:10px}.v412-project-mobile{margin-top:10px}@media(min-width:760px){.v412-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v412-project-mobile{display:none}}

/* V412 – Teams/Projekte als generische Organisationseinheiten */
.v412-unit-grid{display:grid;gap:10px;margin-top:12px}.v412-unit-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:13px;box-shadow:0 2px 10px rgba(0,0,0,.04)}.v412-unit-card h3{margin:7px 0 3px}.v412-unit-card p{margin:5px 0}.v412-unit-card form{margin-top:10px}@media(min-width:760px){.v412-unit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* V416 zentrale UI-Rechteprojektion: kompakter, auditierter Änderungsantrag. */
.v416-permission-dialog{width:min(520px,calc(100vw - 28px));border:0;border-radius:16px;padding:0;background:var(--card-bg,#fff);color:inherit;box-shadow:0 18px 60px rgba(0,0,0,.28)}
.v416-permission-dialog::backdrop{background:rgba(0,0,0,.48)}
.v416-permission-dialog-inner{padding:18px}
.v416-permission-dialog-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:14px}
.v416-permission-dialog textarea,.v416-permission-dialog input,.v416-permission-dialog select{width:100%;box-sizing:border-box}

/* V427 – zentrale Kommunikation */
.v427-comm,.v427-thread,.v427-sponsor-page{max-width:920px;margin:0 auto;padding-bottom:90px}
.v427-comm-head,.v427-thread-head,.v427-sponsor-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:16px 0}
.v427-comm-head h1,.v427-thread-head h1,.v427-sponsor-head h1{margin:0}
.v427-top-search{display:flex;gap:6px;margin-top:10px;max-width:430px}.v427-top-search input{flex:1}.v427-top-search button{border:0;background:transparent;font-size:1.1rem}
.v427-sponsor-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:750;border:1px solid rgba(127,127,127,.26);border-radius:999px;padding:10px 14px;background:var(--card-bg,#fff)}
.v427-tabs{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;background:var(--page-bg,#fff);padding:8px 0;border-bottom:1px solid rgba(127,127,127,.18)}
.v427-tabs a{text-align:center;text-decoration:none;padding:10px 6px;border-radius:12px;font-weight:700}.v427-tabs b,.v427-chat-meta b{display:inline-grid;place-items:center;min-width:20px;height:20px;border-radius:999px;background:var(--accent,#2563eb);color:#fff;font-size:.75rem;padding:0 5px}
.v427-panel,.v427-section{margin:16px 0;padding:16px;border:1px solid rgba(127,127,127,.18);border-radius:18px;background:var(--card-bg,#fff)}
.v427-section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.v427-section-title h2{margin:0}.v427-section-title>span{font-size:.82rem;opacity:.7}
.v427-search input,.v427-search-page input{width:100%}.v427-search-results{display:grid;gap:5px;margin:7px 0}.v427-person-result{display:flex;flex-direction:column;align-items:flex-start;text-align:left;border:1px solid rgba(127,127,127,.18);background:var(--card-bg,#fff);border-radius:12px;padding:10px 12px}.v427-person-result small{opacity:.68}
.v427-selected,.v427-selected-list span{display:inline-flex;align-items:center;gap:8px;background:rgba(127,127,127,.12);border-radius:999px;padding:6px 10px;margin:3px}.v427-selected-list button{border:0;background:transparent}
.v427-quick-compose{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}.v427-quick-compose textarea{min-height:60px;resize:vertical}
.v427-chat-list{display:grid}.v427-chat-row{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;text-decoration:none;color:inherit;padding:11px 4px;border-bottom:1px solid rgba(127,127,127,.13)}.v427-chat-row:last-child{border-bottom:0}.v427-chat-row.unread .v427-chat-main strong{font-weight:800}
.v427-avatar{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:rgba(127,127,127,.12);font-size:1.25rem}.v427-chat-main{min-width:0;display:grid}.v427-chat-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.68}.v427-chat-meta{display:grid;justify-items:end;gap:5px;font-size:.75rem;opacity:.8}
.v427-chip-grid{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 14px}.v427-chip-grid a{display:inline-flex;gap:7px;align-items:center;text-decoration:none;color:inherit;border:1px solid rgba(127,127,127,.2);border-radius:999px;padding:8px 11px}
.v427-feature-card{display:flex;gap:12px;align-items:center;text-decoration:none;color:inherit;border-radius:16px;padding:14px;border:1px solid rgba(127,127,127,.2);margin-bottom:10px}.v427-feature-card>span{font-size:1.5rem}.v427-feature-card div{display:grid}.v427-feature-card small{opacity:.68}
.v427-details{margin:12px 0}.v427-details>summary{cursor:pointer;font-weight:700}.v427-form{display:grid;gap:10px;margin-top:12px}.v427-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.v427-status-compose{display:grid;gap:8px}.v427-status-strip{display:flex;gap:10px;overflow:auto;margin-top:12px}.v427-status-strip>a{min-width:130px;display:grid;gap:3px;text-decoration:none;color:inherit;border:1px solid rgba(127,127,127,.18);border-radius:16px;padding:12px}.v427-status-strip span{font-size:1.5rem}
.v427-thread{max-width:820px}.v427-thread-head{position:sticky;top:0;z-index:30;background:var(--page-bg,#fff);padding:8px 0;border-bottom:1px solid rgba(127,127,127,.16)}.v427-thread-head>div:nth-child(2){flex:1}.v427-thread-head p,.v427-thread-head h1{margin:0}.v427-back{text-decoration:none;font-size:1.7rem}.v427-thread-actions{display:flex;align-items:center;gap:5px}.v427-thread-actions form{display:flex;gap:5px}.v427-thread-actions button,.v427-thread-actions summary{width:40px;height:40px;border:1px solid rgba(127,127,127,.2);border-radius:50%;background:var(--card-bg,#fff);display:grid;place-items:center;cursor:pointer}
.v427-menu{position:absolute;right:10px;min-width:150px;padding:8px;border:1px solid rgba(127,127,127,.2);border-radius:12px;background:var(--card-bg,#fff);box-shadow:0 10px 25px rgba(0,0,0,.14)}.v427-menu form{display:grid}.v427-menu button{width:auto;height:auto;border-radius:8px;padding:8px}
.v427-thread-cover img{width:100%;max-height:230px;object-fit:cover;border-radius:16px}.v427-thread-description{opacity:.75}.v427-call-history>div{display:flex;justify-content:space-between;padding:6px 0}
.v427-message-stream{display:flex;flex-direction:column;gap:8px;padding:18px 0 180px}.v427-bubble{align-self:flex-start;max-width:min(82%,650px);padding:9px 11px;border-radius:5px 16px 16px 16px;background:rgba(127,127,127,.12);position:relative}.v427-bubble.mine{align-self:flex-end;border-radius:16px 5px 16px 16px;background:color-mix(in srgb,var(--accent,#2563eb) 14%,var(--card-bg,#fff))}.v427-bubble.withdrawn{opacity:.7}
.v427-bubble-head{display:flex;gap:6px;align-items:baseline;font-size:.78rem}.v427-bubble-head time,.v427-bubble-head small{opacity:.62}.v427-message-text{white-space:pre-wrap;margin:6px 0}.v427-withdrawn{font-style:italic;opacity:.7}
.v427-reply-quote{display:grid;text-decoration:none;color:inherit;border-left:3px solid var(--accent,#2563eb);padding:5px 8px;margin:6px 0;background:rgba(127,127,127,.1);border-radius:6px}.v427-reply-quote span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v427-media img,.v427-media video{display:block;max-width:100%;max-height:420px;border-radius:12px}.v427-media audio{width:min(360px,100%)}.v427-file{display:inline-flex;padding:9px 11px;border-radius:10px;background:rgba(127,127,127,.1);text-decoration:none;color:inherit}
.v427-reactions{display:flex;gap:5px;align-items:center;flex-wrap:wrap;margin-top:6px}.v427-reactions form{display:inline}.v427-reactions button,.v427-reactions summary{border:0;background:rgba(127,127,127,.12);border-radius:999px;padding:4px 7px;cursor:pointer;font-size:.78rem}.v427-reactions button.mine{outline:1px solid var(--accent,#2563eb)}.v427-reactions details>div{display:flex;gap:3px;position:absolute;z-index:10;background:var(--card-bg,#fff);padding:5px;border-radius:999px;box-shadow:0 5px 18px rgba(0,0,0,.15)}
.v427-readstate{text-align:right;font-size:.7rem;opacity:.65;margin-top:4px}.v427-own-actions{position:absolute;top:4px;right:5px}.v427-own-actions>summary{list-style:none;cursor:pointer;opacity:.5}.v427-own-actions>div{position:absolute;right:0;width:260px;background:var(--card-bg,#fff);padding:8px;border:1px solid rgba(127,127,127,.2);border-radius:10px;z-index:12}.v427-own-actions form{display:grid;gap:5px}
.v427-poll{display:grid;gap:5px;margin:8px 0}.v427-poll form{display:block}.v427-poll button{width:100%;display:flex;justify-content:space-between;border:1px solid rgba(127,127,127,.2);background:transparent;border-radius:10px;padding:8px}.v427-poll button.selected{border-color:var(--accent,#2563eb)}
.v427-term-card{border:1px solid rgba(127,127,127,.2);border-radius:12px;padding:10px;margin:8px 0}.v427-term-card>div{display:grid}.v427-term-card form{margin-top:8px}.v427-response-state{margin:6px 0;font-size:.85rem}
.v427-compose-wrap{position:fixed;z-index:35;left:50%;transform:translateX(-50%);bottom:0;width:min(820px,100%);padding:8px max(10px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom));background:var(--page-bg,#fff);border-top:1px solid rgba(127,127,127,.16)}.v427-compose{display:grid;grid-template-columns:1fr auto;gap:7px;align-items:end}.v427-compose textarea{min-height:44px;max-height:140px;border-radius:22px;padding:11px 13px;resize:none}.v427-send{width:46px;height:46px;border-radius:50%;border:0;background:var(--accent,#2563eb);color:#fff;font-size:1.2rem}.v427-compose-tools{margin-top:4px}.v427-compose-tools>details>summary{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:rgba(127,127,127,.12);cursor:pointer}.v427-tool-menu{display:grid;gap:14px;position:absolute;bottom:78px;left:10px;right:10px;max-height:65vh;overflow:auto;padding:12px;border:1px solid rgba(127,127,127,.2);background:var(--card-bg,#fff);border-radius:16px;box-shadow:0 10px 35px rgba(0,0,0,.17)}.v427-tool-menu form{display:grid;gap:7px}.v427-reply-preview{display:flex;justify-content:space-between;gap:10px;padding:6px 10px;border-left:3px solid var(--accent,#2563eb);background:rgba(127,127,127,.1);border-radius:8px;margin-bottom:5px}.v427-reply-preview span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v427-reply-preview button{border:0;background:transparent}
.v427-member-admin{display:grid;gap:6px;margin-top:12px}.v427-member-admin form{display:flex;justify-content:space-between;gap:8px;align-items:center}.v427-member-admin button{border:0;background:rgba(127,127,127,.12);border-radius:8px;padding:6px 8px}.v427-channel-readonly{position:sticky;bottom:0;padding:12px;text-align:center;background:var(--card-bg,#fff);border-top:1px solid rgba(127,127,127,.2)}
.v427-call-page{margin:0;background:#111;color:#fff}.v427-call-shell{min-height:100vh;display:grid;grid-template-rows:auto 1fr auto;padding:12px}.v427-call-shell header{display:flex;gap:15px;align-items:center}.v427-call-shell header div{flex:1}.v427-call-shell header h1{margin:2px 0}.v427-call-shell a{color:#fff}.v427-call-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;align-content:center}.v427-call-tile{min-height:220px;border-radius:18px;overflow:hidden;background:#222;position:relative}.v427-call-tile video{width:100%;height:100%;object-fit:cover}.v427-call-tile>div{position:absolute;left:10px;bottom:8px;background:rgba(0,0,0,.55);padding:5px 8px;border-radius:8px}.v427-call-shell footer{display:flex;justify-content:center;gap:14px;padding:14px}.v427-call-control{width:58px;height:58px;border:0;border-radius:50%;font-size:1.3rem}.v427-call-control.danger{background:#b91c1c;color:#fff}.v427-call-control.off{opacity:.45}.v427-call-note{text-align:center;opacity:.6;font-size:.75rem}
.v427-story{position:relative;min-height:65vh;background:#111;color:#fff;border-radius:20px;overflow:hidden;display:grid}.v427-story-item{min-height:65vh;display:grid;grid-template-rows:auto 1fr auto;padding:18px}.v427-story-item[hidden]{display:none}.v427-story-brand{display:flex;gap:10px;align-items:center;z-index:2}.v427-story-brand img{width:44px;height:44px;object-fit:contain;border-radius:10px;background:#fff}.v427-story-brand div{display:grid}.v427-story-media{display:grid;place-items:center}.v427-story-media img,.v427-story-media video{max-width:100%;max-height:50vh;border-radius:14px}.v427-story-copy{z-index:2}.v427-story-copy h2{margin-bottom:5px}.v427-story-copy p{white-space:pre-wrap}.v427-story-nav{position:absolute;top:45%;width:45px;height:70px;border:0;background:rgba(0,0,0,.25);color:#fff;font-size:2rem}.v427-story-nav.prev{left:0}.v427-story-nav.next{right:0}.v427-story-progress{position:absolute;left:10px;right:10px;top:8px;display:flex;gap:4px;z-index:3}.v427-story-progress span{height:3px;flex:1;background:rgba(255,255,255,.3);border-radius:3px;overflow:hidden}.v427-story-progress span.done{background:#fff}.v427-story-progress span.active:after{content:"";display:block;height:100%;background:#fff;animation:v427Story var(--story-duration,30s) linear forwards}@keyframes v427Story{from{width:0}to{width:100%}}.v427-story-counter{position:absolute;top:18px;right:14px;font-size:.75rem}.v427-sponsor-footnote{text-align:center;opacity:.7}
.v427-sponsor-admin-list{display:grid;gap:10px}.v427-sponsor-admin-card{padding:13px;border:1px solid rgba(127,127,127,.18);border-radius:14px}.v427-sponsor-admin-card header{display:flex;justify-content:space-between;gap:10px}.v427-sponsor-admin-card header div{display:grid}.v427-action-row{display:flex;gap:7px;flex-wrap:wrap;margin:8px 0}.v427-action-row form{display:flex;gap:6px}.v427-weight-row{display:grid;grid-template-columns:1fr auto auto auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid rgba(127,127,127,.13)}.v427-report-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:14px 0}.v427-report-grid article{display:grid;gap:5px;padding:14px;border:1px solid rgba(127,127,127,.18);border-radius:14px}
.v427-search-page{display:grid;grid-template-columns:1fr auto;gap:8px;margin-bottom:14px}
@media(max-width:650px){.v427-comm,.v427-thread,.v427-sponsor-page{padding-left:10px;padding-right:10px}.v427-comm-head,.v427-sponsor-head{align-items:flex-start}.v427-sponsor-button{font-size:.82rem}.v427-tabs a{font-size:.78rem}.v427-panel,.v427-section{padding:12px;margin:10px 0}.v427-bubble{max-width:90%}.v427-form-grid{grid-template-columns:1fr}.v427-weight-row{grid-template-columns:1fr 1fr}.v427-weight-row strong{grid-column:1/-1}.v427-call-grid{grid-template-columns:1fr 1fr}.v427-call-tile{min-height:170px}.v427-story,.v427-story-item{min-height:72vh}}

/* V428 context-first communication UX */
.v428-comm-page{max-width:1500px!important;margin:0 auto;padding-bottom:24px}
.v428-context-strip{display:flex;align-items:center;gap:8px;min-height:38px;margin:10px 0 12px;padding:7px 11px;border:1px solid rgba(127,127,127,.15);border-radius:12px;background:color-mix(in srgb,var(--card-bg,#fff) 92%,var(--accent,#2563eb) 8%);font-size:.82rem}
.v428-context-strip span,.v428-context-strip small{opacity:.68}.v428-context-strip strong{font-weight:800}
.v428-comm-shell{display:grid;grid-template-columns:minmax(270px,330px) minmax(420px,1fr) minmax(230px,280px);min-height:680px;height:calc(100dvh - 165px);border:1px solid rgba(127,127,127,.18);border-radius:22px;overflow:hidden;background:var(--card-bg,#fff);box-shadow:0 14px 42px rgba(0,0,0,.08)}
.v428-comm-sidebar{min-width:0;border-right:1px solid rgba(127,127,127,.16);display:flex;flex-direction:column;background:color-mix(in srgb,var(--card-bg,#fff) 96%,var(--accent,#2563eb) 4%)}
.v428-sidebar-head{display:flex;justify-content:space-between;align-items:center;padding:16px 15px 8px}.v428-sidebar-head h2{margin:0;font-size:1.12rem}
.v428-icon-button{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;text-decoration:none;color:inherit;background:rgba(127,127,127,.11);font-size:1.45rem;font-weight:500}
.v428-sidebar-search{display:flex;align-items:center;gap:7px;margin:6px 12px 8px;padding:7px 10px;border-radius:12px;background:rgba(127,127,127,.09)}
.v428-sidebar-search input{width:100%;border:0!important;box-shadow:none!important;background:transparent!important;padding:3px!important}
.v428-sidebar-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:0 10px 8px}.v428-sidebar-tabs a{text-align:center;text-decoration:none;color:inherit;font-size:.78rem;font-weight:750;padding:7px;border-radius:9px}.v428-sidebar-tabs a:hover{background:rgba(127,127,127,.1)}
.v428-sidebar-list{overflow:auto;min-height:0}.v428-sidebar-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 12px;text-decoration:none;color:inherit;border-top:1px solid rgba(127,127,127,.1)}
.v428-sidebar-row:hover,.v428-sidebar-row.is-active{background:color-mix(in srgb,var(--accent,#2563eb) 10%,transparent)}.v428-sidebar-row.has-unread .v428-sidebar-copy strong{font-weight:850}
.v428-sidebar-copy{display:grid;min-width:0}.v428-sidebar-copy small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.62}
.v428-sidebar-meta{display:grid;justify-items:end;gap:4px;font-size:.67rem;opacity:.72}.v428-sidebar-meta b{min-width:19px;height:19px;display:grid;place-items:center;border-radius:999px;background:var(--accent,#2563eb);color:#fff;padding:0 5px}
.v428-comm-main{min-width:0;overflow:auto;padding:20px;background:color-mix(in srgb,var(--page-bg,#fff) 94%,var(--accent,#2563eb) 6%)}
.v428-main-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}.v428-main-head h1{margin:0}.v428-main-head p{margin-top:4px}
.v428-card{display:block;margin:12px 0;padding:15px;border:1px solid rgba(127,127,127,.16);border-radius:16px;background:var(--card-bg,#fff);box-shadow:0 5px 18px rgba(0,0,0,.035)}
details.v428-card>summary{display:grid;grid-template-columns:auto 1fr;column-gap:10px;cursor:pointer;list-style:none}.v428-card>summary::-webkit-details-marker{display:none}.v428-card>summary>span{grid-row:1/3;font-size:1.35rem}.v428-card>summary>strong{align-self:end}.v428-card>summary>small{opacity:.64}
.v428-section-kicker{display:flex;gap:10px;align-items:center;margin-bottom:10px}.v428-section-kicker>span{font-size:1.4rem}.v428-section-kicker>div{display:grid}.v428-section-kicker small{opacity:.65}
.v428-legacy{opacity:.86}.v428-legacy[open]{opacity:1}
.v428-comm-context{border-left:1px solid rgba(127,127,127,.16);padding:14px 12px;overflow:auto;background:color-mix(in srgb,var(--card-bg,#fff) 97%,var(--accent,#2563eb) 3%)}
.v428-context-card{display:grid;gap:6px;padding:12px;margin-bottom:10px;border:1px solid rgba(127,127,127,.14);border-radius:14px;background:var(--card-bg,#fff)}.v428-context-card>p{margin:0}.v428-context-card>small{opacity:.68}.v428-context-card>a{text-decoration:none;color:inherit;padding:7px 0;border-top:1px solid rgba(127,127,127,.1)}
.v428-thread-main{min-width:0;display:flex;flex-direction:column;overflow:hidden;background:color-mix(in srgb,var(--page-bg,#fff) 95%,var(--accent,#2563eb) 5%)}.v428-thread-main.v427-thread{max-width:none!important}
.v428-thread-main .v427-thread-head{position:relative;top:auto;margin:0;padding:11px 14px;background:var(--card-bg,#fff);flex:0 0 auto}.v428-thread-main .v427-message-stream{flex:1;min-height:0;overflow:auto;padding:18px 18px 22px;margin:0}
.v428-thread-main .v427-compose-wrap{position:relative!important;left:auto!important;transform:none!important;bottom:auto!important;width:100%!important;flex:0 0 auto;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:var(--card-bg,#fff)}
.v428-thread-main .v427-channel-readonly{position:relative;bottom:auto}
.v428-fab{position:fixed;right:24px;bottom:86px;z-index:80}.v428-fab>summary{list-style:none;width:56px;height:56px;display:grid;place-items:center;border-radius:50%;background:var(--accent,#2563eb);color:#fff;font-size:2rem;box-shadow:0 10px 28px rgba(0,0,0,.22);cursor:pointer}.v428-fab>summary::-webkit-details-marker{display:none}
.v428-fab>div{position:absolute;right:0;bottom:66px;display:grid;min-width:190px;padding:8px;border:1px solid rgba(127,127,127,.18);border-radius:16px;background:var(--card-bg,#fff);box-shadow:0 14px 34px rgba(0,0,0,.2)}.v428-fab a{display:grid;grid-template-columns:28px 1fr;align-items:center;text-decoration:none;color:inherit;padding:9px;border-radius:10px}.v428-fab a:hover{background:rgba(127,127,127,.09)}
@media(max-width:1100px){
  .v428-comm-shell{grid-template-columns:minmax(260px,320px) minmax(0,1fr)}
  .v428-comm-context{display:none}
}
@media(max-width:760px){
  .v428-comm-page{padding-left:8px!important;padding-right:8px!important;padding-bottom:88px}
  .v428-context-strip{display:grid;grid-template-columns:auto 1fr;gap:2px 6px;margin:6px 0 8px}
  .v428-context-strip small{grid-column:1/-1}
  .v428-comm-shell{display:block;height:auto;min-height:0;border-radius:16px;overflow:visible;box-shadow:none}
  .v428-landing .v428-comm-sidebar{min-height:420px;border-right:0}
  .v428-landing .v428-comm-main{padding:12px}
  .v428-thread-layout .v428-comm-sidebar{display:none}
  .v428-thread-main{min-height:calc(100dvh - 180px);overflow:visible}
  .v428-thread-main .v427-message-stream{overflow:visible;padding:14px 8px 18px}
  .v428-thread-main .v427-thread-head{position:sticky;top:0;z-index:30;margin:0 -1px}
  .v428-main-head{display:grid}.v428-main-head .v427-sponsor-button{justify-self:start}
  .v428-fab{right:16px;bottom:84px}
  .v428-card{padding:12px}
  .v428-sidebar-row{padding:12px 10px}
}
.v428-call-shell{max-width:1100px;margin:0 auto;gap:10px}.v428-call-shell header{padding:8px 4px}.v428-call-shell header>span{padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.1);font-size:.82rem}
.v428-call-audio .v427-call-grid{grid-template-columns:repeat(auto-fit,minmax(220px,320px));justify-content:center;gap:18px}
.v428-call-audio .v427-call-tile{min-height:300px;display:grid;place-items:center;background:linear-gradient(145deg,#1f2937,#111827);border:1px solid rgba(255,255,255,.08)}
.v428-call-avatar{width:112px;height:112px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.12);font-size:2rem;font-weight:850;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.v428-call-label{position:absolute!important;left:0!important;right:0!important;bottom:18px!important;background:transparent!important;display:grid;text-align:center;gap:3px}.v428-call-label small{opacity:.72}
.v428-call-video .v427-call-tile{border:1px solid rgba(255,255,255,.08);box-shadow:0 10px 28px rgba(0,0,0,.2)}
.v428-call-shell footer{position:sticky;bottom:0;padding:18px;background:linear-gradient(transparent,rgba(17,17,17,.96) 28%)}.v428-call-shell .v427-call-control{width:64px;height:64px;box-shadow:0 8px 22px rgba(0,0,0,.25)}
@media(max-width:650px){.v428-call-audio .v427-call-grid{grid-template-columns:1fr 1fr}.v428-call-audio .v427-call-tile{min-height:220px}.v428-call-avatar{width:84px;height:84px}.v428-call-shell header h1{font-size:1.15rem}.v428-call-shell header>span{font-size:.72rem}}

/* V429 status composer */
.v429-status-open{border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}
.v428-fab .v429-status-open{display:grid;grid-template-columns:28px 1fr;align-items:center;text-align:left;padding:9px;border-radius:10px}
.v428-fab .v429-status-open:hover{background:rgba(127,127,127,.09)}
.v429-status-dialog{width:min(92vw,520px);border:0;border-radius:20px;padding:0;background:var(--card-bg,#fff);color:inherit;box-shadow:0 24px 70px rgba(0,0,0,.28)}
.v429-status-dialog::backdrop{background:rgba(0,0,0,.48);backdrop-filter:blur(2px)}
.v429-status-dialog form{display:grid;gap:12px;padding:18px}
.v429-dialog-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.v429-dialog-head h2{margin:0}.v429-dialog-head p{margin:0 0 2px}
.v429-status-close{border:0;background:rgba(127,127,127,.1);color:inherit;border-radius:50%;width:38px;height:38px;font-size:1.4rem;cursor:pointer}
.v429-status-target{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid rgba(127,127,127,.16);border-radius:14px}
.v429-status-target>span{font-size:1.4rem}.v429-status-target>div{display:grid}.v429-status-target small{opacity:.65}
@media(max-width:650px){.v429-status-dialog{width:calc(100vw - 20px);margin:auto 10px 12px;max-height:82dvh}.v429-status-dialog form{padding:15px}}

/* V429 guided membership intake */
.v429-join-page{max-width:760px;margin:0 auto;padding:24px 12px 80px}.v429-join-head{text-align:center;margin-bottom:14px}.v429-join-head h1{margin:2px 0 6px}
.v429-join-form{display:grid;gap:12px}.v429-steps{display:grid;grid-template-columns:repeat(6,1fr);gap:5px;position:sticky;top:0;z-index:20;padding:8px 0;background:var(--page-bg,#fff)}
.v429-steps button{border:0;border-radius:10px;padding:8px 5px;background:rgba(127,127,127,.1);font-size:.72rem;color:inherit}.v429-steps button.active{background:var(--accent,#2563eb);color:#fff;font-weight:800}
.v429-step{display:none}.v429-step.active{display:block}.v429-step h2{margin-top:2px}.v429-step-actions{display:flex;justify-content:space-between;gap:10px;margin-top:16px}
.v429-pass-choice{display:grid;gap:8px;border:0;padding:0;margin:14px 0}.v429-pass-choice>label{display:grid;grid-template-columns:auto 1fr;column-gap:8px;padding:11px;border:1px solid rgba(127,127,127,.17);border-radius:14px}
.v429-pass-choice>label small{grid-column:2;opacity:.65}.v429-doc{display:grid;gap:5px;padding:10px 0;border-bottom:1px solid rgba(127,127,127,.12)}.v429-doc[hidden]{display:none}
.v429-doc-note{padding:10px 12px;border-radius:12px;background:rgba(37,99,235,.08);margin-bottom:8px}.v429-signatures{display:grid;grid-template-columns:1fr;gap:16px}
.v429-sign-pad{width:100%;height:150px;border:1px dashed rgba(127,127,127,.45);border-radius:14px;background:#fff;touch-action:none}.v429-consents,.v429-optional-consents{display:grid;gap:8px;margin:12px 0}
.v429-international summary{cursor:pointer;font-weight:700}.check-row{display:flex!important;gap:8px!important;align-items:flex-start}.check-row input{width:auto!important;margin-top:3px}
@media(max-width:650px){.v429-steps{grid-template-columns:repeat(3,1fr)}.v429-join-page{padding-left:8px;padding-right:8px}.v429-step-actions .btn{flex:1}}

/* V429 digital membership intake */
.v429-intake{max-width:760px;margin:0 auto;padding:20px 16px 70px}
.v429-intake-head{display:flex;gap:16px;align-items:center;margin:8px 0 18px}
.v429-intake-head img{width:64px;height:64px;object-fit:contain}
.v429-intake-head h1{margin:0}.v429-intake-head p{margin:3px 0}
.v429-stepper{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin-bottom:16px;position:sticky;top:0;z-index:5;background:var(--body-bg,#f7f8fb);padding:8px 0}
.v429-stepper span{display:grid;place-items:center;gap:3px;padding:7px 3px;border-radius:12px;background:rgba(127,127,127,.08);font-size:.78rem;text-align:center}
.v429-stepper span.is-active{background:var(--primary,#2357d9);color:#fff}.v429-stepper b{font-size:.68rem}
.v429-step{display:none;background:var(--card-bg,#fff);border:1px solid rgba(127,127,127,.15);border-radius:20px;padding:18px;box-shadow:0 8px 28px rgba(0,0,0,.05)}
.v429-step.is-active{display:block}.v429-step-title{display:flex;gap:12px;align-items:flex-start;margin-bottom:15px}
.v429-step-title>span{display:grid;place-items:center;min-width:36px;height:36px;border-radius:50%;background:var(--primary,#2357d9);color:#fff;font-weight:700}
.v429-step-title h2{margin:0}.v429-step-title p{margin:3px 0;opacity:.75}
.v429-nav{display:flex;justify-content:space-between;gap:10px;margin-top:18px}

.v429-check-grid,.v429-file-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.v429-file-grid label{padding:10px;border:1px solid rgba(127,127,127,.15);border-radius:12px}
.v429-file-grid label.is-required{border-color:var(--primary,#2357d9);background:rgba(35,87,217,.05)}
.v429-doc-matrix,.v429-declaration,.v429-review-note{margin:12px 0;padding:12px;border-radius:14px;background:rgba(127,127,127,.07)}
.v429-doc-matrix ul{margin:7px 0 0;padding-left:20px}
.v429-signature{margin:14px 0;padding:12px;border:1px solid rgba(127,127,127,.18);border-radius:14px}
.v429-signature canvas{display:block;width:100%;height:150px;background:#fff;border:1px dashed #9ca3af;border-radius:10px;touch-action:none;margin:7px 0 9px}
.v429-optional-consent{display:block;padding:10px 12px;margin:7px 0;border:1px solid rgba(127,127,127,.14);border-radius:12px}
.v429-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}
.v429-review-grid>div{display:grid;padding:10px 12px;border:1px solid rgba(127,127,127,.12);border-radius:12px}
.v429-review-grid small{opacity:.65}.v429-login-link{text-align:center;margin-top:16px}
@media(max-width:650px){
 .v429-intake{padding:10px 10px 78px}.v429-intake-head{align-items:flex-start}.v429-intake-head img{width:52px;height:52px}
 .v429-stepper span b{display:none}.v429-stepper span{min-height:34px}.v429-step{padding:14px;border-radius:16px}
 .v429-check-grid,.v429-file-grid,.v429-review-grid{grid-template-columns:1fr}
 .v429-nav .btn{flex:1}.v429-signature canvas{height:135px}
}

/* V429 admission review */
.v429-review-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0}
.v429-candidate,.v429-document-row,.v429-signature-proof{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;margin:7px 0;border:1px solid rgba(127,127,127,.15);border-radius:12px}
.v429-candidate{cursor:pointer}.v429-candidate input{margin-top:4px}.v429-candidate strong,.v429-candidate small{display:block}
.v429-document-row{text-decoration:none;color:inherit}.v429-document-row>span{font-size:1.4rem}.v429-document-row div{display:grid}
.v429-signature-proof{display:grid}.v429-signature-proof small{opacity:.7}
.v429-confirm{display:block;padding:12px;border:1px solid rgba(35,87,217,.25);background:rgba(35,87,217,.05);border-radius:12px;margin:12px 0}
@media(max-width:760px){.v429-review-columns{grid-template-columns:1fr}}

/* V436 – Vertretung als eigener, strikt begrenzter UI-Kontext */
.app-context-static{border:1px solid rgba(0,0,0,.12);border-radius:12px;padding:7px 11px;background:rgba(255,255,255,.78);display:flex;flex-direction:column;line-height:1.15;min-width:150px;max-width:270px}
.representation-shell .app-brand{flex:0 0 auto}
.representation-shell .app-more-panel{background:#fbfcfb}
.representation-primary-nav{justify-content:flex-start}
.representation-mobile-nav{grid-template-columns:repeat(auto-fit,minmax(64px,1fr))}
@media(max-width:720px){
  .app-context-static{min-width:120px;max-width:190px;margin:0 4px}
  .representation-shell .app-shell-top{gap:7px}
  .representation-shell .app-brand-logo{width:38px;height:38px}
}

/* V437 – tägliches, kontextbezogenes Dashboard: ruhig, mobil und ohne Funktionsverlust. */
:root{
  --v437-accent:var(--grün,#334155);
  --v437-accent-dark:var(--grün-dunkel,#172033);
  --v437-surface:var(--card-bg,#fff);
  --v437-muted:var(--text-mute,#687184);
  --v437-line:rgba(80,89,105,.14);
  --v437-shadow:0 10px 30px rgba(25,31,45,.07);
}
.v437-home{position:relative;overflow-x:clip;padding-bottom:116px}



.v437-context-bar{
  display:grid!important;grid-template-columns:82px minmax(0,1fr) auto;gap:12px;align-items:center;
  padding:10px 12px!important;border:1px solid var(--v437-line);border-radius:22px;
  background:rgba(255,255,255,.96);box-shadow:var(--v437-shadow);min-height:86px;
}
.v437-context-brand{display:grid!important;place-items:center;width:78px!important;min-width:78px!important;text-decoration:none}
.v437-context-brand .app-brand-logo{width:72px!important;height:72px!important;display:grid;place-items:center}
.v437-context-brand .app-brand-logo img{width:100%!important;height:100%!important;object-fit:contain}
.v437-context-switcher{min-width:0!important;width:100%;border:1px solid rgba(96,105,122,.12)!important;border-radius:18px!important;background:#f6f7f9!important}
.v437-context-switcher summary,.v437-context-switcher.app-context-static{padding:11px 14px!important;min-height:56px}
.v437-context-switcher .app-context-main{font-size:1.12rem!important;font-weight:850!important}
.v437-context-switcher .app-context-sub{font-size:.82rem!important;color:var(--v437-muted)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v437-user-button{width:54px!important;height:54px!important;border-radius:50%!important;padding:0!important;display:grid!important;place-items:center!important;background:color-mix(in srgb,var(--v437-accent) 9%,#fff 91%)!important}
.v437-user-button .app-avatar{font-size:1.45rem}.v437-user-caret{display:none}

.v437-home-hero{padding:26px 8px 12px!important;margin:0!important;display:block!important}
.v437-home-hero .member-eyebrow{letter-spacing:.18em;text-transform:uppercase;font-size:.78rem;font-weight:800;color:#5c6575;margin-bottom:4px}
.v437-home-hero h1{font-size:clamp(2rem,8vw,3rem);line-height:1.02;margin:0 0 6px}
.v437-home-hero .subtitle{font-size:1.15rem;color:var(--v437-muted);margin:0}
.v437-workarea{margin-top:4px!important}
.v437-workarea-grid{gap:12px!important}
.v437-focus-card{
  position:relative;min-height:190px!important;border:1px solid var(--v437-line)!important;border-radius:22px!important;
  background:var(--v437-surface)!important;box-shadow:var(--v437-shadow)!important;padding:18px!important;
}
.v437-focus-icon{display:grid;width:54px;height:54px;place-items:center;border-radius:16px;background:color-mix(in srgb,var(--v437-accent) 9%,#fff 91%);font-size:1.65rem!important}
.v436-message-primary .v437-focus-icon{background:#edf6ff}
.v437-focus-card small{color:var(--v437-muted);font-size:.78rem!important}
.v437-focus-card strong{font-size:1.28rem!important;margin-top:5px!important}
.v437-focus-card em{line-height:1.35;font-size:.84rem!important}
.v437-focus-card b{margin-top:auto!important;color:var(--v437-accent-dark)!important;font-size:.92rem}
.v437-count-pill,.v436-message-count{display:inline-grid;place-items:center;min-width:27px;height:27px;padding:0 7px;border-radius:999px;background:var(--v437-accent)!important;color:#fff!important}

.v437-important-strip{margin-top:8px!important}
.v437-important-item{display:grid;grid-template-columns:auto 1fr auto;column-gap:10px;align-items:center;padding:12px 14px;border-radius:16px;background:#fff5f5;border:1px solid color-mix(in srgb,var(--v437-accent) 18%,transparent);text-decoration:none;color:inherit}
.v437-important-item>span{font-size:1.4rem}.v437-important-item strong,.v437-important-item small{grid-column:2}.v437-important-item small{color:var(--v437-muted)}.v437-important-item>b{grid-column:3;grid-row:1/3;color:var(--v437-accent)}

.v437-terms-card,.v437-birthday-section,.v437-permissions-section,.v437-sponsor-section{
  border:1px solid var(--v437-line);border-radius:22px;background:var(--v437-surface);box-shadow:var(--v437-shadow);
  padding:16px!important;margin-top:16px!important
}
.v437-section-head{align-items:end!important;margin-bottom:12px}
.v437-section-head h2{font-size:1.35rem;margin:1px 0}.v437-section-head small{color:var(--v437-muted)}
.v437-section-head>a{color:var(--v437-accent-dark);font-weight:800;text-decoration:none}
.v437-event-list{display:grid}
.v437-next-event{border:1px solid var(--v437-line)!important;border-radius:18px!important;padding:10px!important;box-shadow:none!important}
.v437-event-link{display:grid!important;grid-template-columns:82px minmax(0,1fr)!important;gap:14px!important;padding:0!important}
.v437-date-badge{grid-row:1;display:grid;place-items:center;align-content:center;min-height:104px;border-radius:15px;background:linear-gradient(180deg,#f7f8fa,#eef1f5);color:#4f596a}
.v437-date-badge strong{font-size:2.3rem;line-height:1;color:var(--v437-accent)}.v437-date-badge small{font-weight:800;letter-spacing:.08em}
.v437-event-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:5px}
.v437-event-title-row>strong{font-size:1.25rem}.v437-rsvp-label{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:.75rem;font-weight:800;background:#fff3d8}
.v437-rsvp-label.member-rsvp-zugesagt{background:#e7f8ee;color:#08733f}.v437-rsvp-label.member-rsvp-abgesagt{background:#fff0f0;color:#a21b1b}
.v437-event-link .member-event-main{display:grid;gap:5px}.v437-event-link .member-event-main>span,.v437-event-link .member-event-main>small{color:#5d6676}
.v437-rsvp-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px!important}
.v437-rsvp-actions button{min-height:52px;border-radius:14px!important;font-weight:800!important}
.v437-rsvp-actions .yes.selected,.v437-rsvp-actions .yes{background:#ebfaf1;border-color:#51bb82;color:#08733f}
.v437-rsvp-actions .no{background:#fff;border-color:#d5d9e0;color:#111}

.v437-birthday-wrapper{margin-top:0}
.v437-birthday-row{display:flex;gap:10px;overflow-x:auto;padding:2px 2px 8px;scroll-snap-type:x proximity}
.v437-birthday-card{scroll-snap-align:start;min-width:106px;display:grid;justify-items:center;gap:5px;padding:10px 8px;border:1px solid var(--v437-line);border-radius:16px;background:#fff;text-align:center}
.v437-birthday-avatar{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--v437-accent) 10%,#fff 90%);font-weight:850;color:var(--v437-accent-dark)}
.v437-birthday-card strong{font-size:.82rem}.v437-birthday-card small{font-size:.76rem;color:var(--v437-muted)}.v437-birthday-card.is-today{border-color:color-mix(in srgb,var(--v437-accent) 50%,transparent);background:#fff8f8}.v437-birthday-card.is-today small{color:var(--v437-accent);font-weight:800}

.v437-permission-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.v437-permission-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;padding:14px;border:1px solid var(--v437-line);border-radius:17px;background:#fff}
.v437-permission-card>span{font-size:1.5rem}.v437-permission-card>div{display:grid;gap:5px}.v437-permission-card a{display:block;text-decoration:none;color:var(--v437-accent-dark);font-size:.82rem}
.v437-permission-card strong{font-size:.98rem}
.v437-permission-groups section{border:1px solid var(--v437-line);border-radius:14px;padding:10px}

.v437-nav-icon{position:relative;display:inline-grid!important;place-items:center}
.v437-nav-icon>b{position:absolute;right:-11px;top:-9px;display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border:2px solid #fff;border-radius:999px;background:#d51620;color:#fff;font-size:.68rem;line-height:1}
.v437-mobile-nav{border:1px solid var(--v437-line)!important;border-radius:22px 22px 0 0!important;background:rgba(255,255,255,.98)!important;box-shadow:0 -8px 28px rgba(22,27,36,.08)!important;padding-top:7px!important}
.v437-mobile-nav a,.v437-mobile-nav button{border-radius:14px}
.v437-mobile-nav a.is-active,.v437-mobile-nav a[aria-current="page"]{background:color-mix(in srgb,var(--v437-accent) 9%,#fff 91%);color:var(--v437-accent-dark)}
.v437-more-panel .app-more-grid{gap:12px}.v437-more-panel section{border:1px solid var(--v437-line);border-radius:16px;background:#fff;padding:12px}
.v437-more-panel section h3{margin-top:0}.v437-more-panel section a{border-radius:10px}

.v437-collaboration{position:relative;margin:24px 0 6px;padding:17px 8px 12px;text-align:right;color:#646d7b;font-size:.78rem}

.v437-home>.app-version{display:none}
.v437-empty-context{margin-top:16px}
.v437-compact-term-list{display:grid;gap:8px}.v437-compact-term-list a{display:flex;justify-content:space-between;gap:12px;text-decoration:none;color:inherit;padding:10px;border:1px solid var(--v437-line);border-radius:12px}

@media(max-width:700px){
  .v437-home{padding-left:12px!important;padding-right:12px!important}
  
  .v437-context-bar{grid-template-columns:68px minmax(0,1fr) 52px;gap:8px;padding:8px!important;min-height:78px}
  .v437-context-brand{width:64px!important;min-width:64px!important}.v437-context-brand .app-brand-logo{width:62px!important;height:62px!important}
  .v437-context-switcher summary,.v437-context-switcher.app-context-static{padding:9px 11px!important}.v437-context-switcher .app-context-main{font-size:1rem!important}.v437-context-switcher .app-context-sub{font-size:.72rem!important}
  .v437-user-button{width:48px!important;height:48px!important}
  .v437-home-hero{padding:22px 4px 10px!important}.v437-home-hero h1{font-size:2rem}.v437-home-hero .subtitle{font-size:1rem}
  .v437-workarea-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.v437-focus-card{padding:13px!important;min-height:180px!important}.v437-focus-card strong{font-size:1.03rem!important}.v437-focus-card em{font-size:.73rem!important}.v437-focus-icon{width:46px;height:46px;font-size:1.35rem!important}
  .v437-event-link{grid-template-columns:70px minmax(0,1fr)!important;gap:10px!important}.v437-date-badge{min-height:98px}.v437-date-badge strong{font-size:2rem}.v437-event-title-row>strong{font-size:1.05rem}.v437-rsvp-label{font-size:.67rem;padding:5px 7px}
  .v437-permission-card-grid{grid-template-columns:1fr}
  .v437-collaboration{text-align:right;padding-right:2px}
}
@media(max-width:390px){
  .v437-workarea-grid{gap:8px!important}.v437-focus-card{padding:11px!important}.v437-focus-card em{display:none!important}
  .v437-event-link{grid-template-columns:62px minmax(0,1fr)!important}.v437-date-badge{min-height:90px}.v437-date-badge strong{font-size:1.75rem}
}
.v437-more-search{display:grid;gap:5px;margin:0 0 12px;padding:12px;border:1px solid var(--v437-line);border-radius:16px;background:#fff}
.v437-more-search label{font-size:.78rem;font-weight:800;color:var(--v437-muted)}
.v437-more-search>div{display:grid;grid-template-columns:1fr auto;gap:8px}.v437-more-search input{min-width:0}.v437-more-search button{border:0;border-radius:10px;padding:0 14px;background:var(--v437-accent);color:#fff;font-weight:800}

/* V438: representative fields stay usable with enlarged text on narrow screens. */
.v429-intake fieldset{min-inline-size:0;max-inline-size:100%;margin-inline:0}
.v429-intake legend{max-inline-size:100%;overflow-wrap:anywhere}

/* V443 – 200%-Textskalierung auf schmalen Mobilansichten.
   Nur die in V443 geänderten Standort-/Planungsflächen werden flexibilisiert. */
@media(max-width:400px){
  .v403-location-page,.v403-location-page *,
  body.v443-plan-page .page,body.v443-plan-page .page *,
  body.v443-term-form-page .v118-form-shell,body.v443-term-form-page .v118-form-shell *{
    box-sizing:border-box;min-width:0
  }
  .v403-location-page strong,.v403-location-page small,.v403-location-page summary,
  .v403-location-page p,.v403-location-page label,.v403-location-page .hint,
  .v403-location-page .badge,.v403-location-page .btn,
  body.v443-plan-page .page strong,body.v443-plan-page .page small,
  body.v443-plan-page .page p,body.v443-plan-page .page label,body.v443-plan-page .page .hint,
  body.v443-plan-page .page summary,body.v443-plan-page .page .badge,
  body.v443-plan-page .page .btn,body.v443-plan-page .page .link,
  body.v443-term-form-page .v118-form-shell h1,body.v443-term-form-page .v118-form-shell h2,
  body.v443-term-form-page .v118-form-shell p,body.v443-term-form-page .v118-form-shell label,
  body.v443-term-form-page .v118-form-shell .btn{
    overflow-wrap:anywhere;word-break:break-word;white-space:normal;max-width:100%
  }
  .v403-location-grid{grid-template-columns:minmax(0,1fr)}
  .v403-location-card,.v443-site-top,.v443-site-meta,.v443-area-main,.v443-area-head{min-width:0;max-width:100%}
  .v443-site-top,.v403-location-card>div:first-child{flex-wrap:wrap}
  .v403-location-page input:not([type=checkbox]):not([type=radio]),
  .v403-location-page select,.v403-location-page textarea{
    width:100%!important;max-width:100%!important;min-width:0!important;overflow:hidden
  }
  .v403-location-page .v443-mode-row{grid-template-columns:minmax(0,1fr)}
  .v403-location-page .v443-mode-check{width:100%;flex-wrap:wrap}
  .v403-location-page .v443-savebar{position:static;display:grid;grid-template-columns:minmax(0,1fr);width:100%;max-width:100%}
  .v403-location-page .v443-savebar .btn{width:100%}

  body.v443-plan-page .page{overflow-x:hidden}
  body.v443-plan-page .page .card,
  body.v443-plan-page .page .stack,
  body.v443-plan-page .page .flex-wrap-gap,
  body.v443-plan-page .page details,
  body.v443-plan-page .page summary{min-width:0;max-width:100%}
  body.v443-plan-page .page .card>.flex-wrap-gap{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch}
  body.v443-plan-page .page .card>.flex-wrap-gap>div,
  body.v443-plan-page .page .card>.flex-wrap-gap>form{width:100%;max-width:100%}
  body.v443-plan-page .v87-plan-nav{grid-template-columns:minmax(0,1fr)}
  body.v443-plan-page .form-row{grid-template-columns:minmax(0,1fr)!important}
  body.v443-plan-page input,body.v443-plan-page select,body.v443-plan-page textarea{
    width:100%;max-width:100%;min-width:0;overflow:hidden
  }

  body.v443-term-form-page .v118-form-shell{overflow-x:hidden}
  body.v443-term-form-page .v118-form-header{display:grid;grid-template-columns:minmax(0,1fr);align-items:start}
  body.v443-term-form-page .v118-form-header>div{min-width:0;max-width:100%}
  body.v443-term-form-page input:not([type=checkbox]):not([type=radio]),
  body.v443-term-form-page select,body.v443-term-form-page textarea{
    width:100%!important;max-width:100%!important;min-width:0!important
  }
  body.v443-term-form-page .v118-form-progress{display:grid;grid-template-columns:minmax(0,1fr);overflow:visible}
  body.v443-term-form-page .v118-form-progress a{width:100%;min-width:0;max-width:100%}
  body.v443-term-form-page .app-sticky-actions{position:static;display:grid;grid-template-columns:minmax(0,1fr);width:100%}
  body.v443-term-form-page .app-sticky-actions .btn{width:100%}
}

@media(max-width:400px){
  .v403-location-page .v403-location-card strong,
  .v403-location-page details>summary strong{display:block;width:100%;max-width:100%;overflow-wrap:anywhere}
  .v403-location-page p>strong{display:inline-block;max-width:100%;overflow-wrap:anywhere}
  body.v443-plan-page .card>.flex-wrap-gap>div>strong{display:block;width:100%;max-width:100%;overflow-wrap:anywhere}
}
