:root{
  --mdbv-accent:#85c9c6;
  --mdbv-bg:#ffffff;
  --mdbv-text:#111827;
  --mdbv-muted:#6b7280;
  --mdbv-border:rgba(17,24,39,.10);
  --mdbv-shadow:0 10px 30px rgba(17,24,39,.10);
  --mdbv-radius:14px;
}

/*
  We scope styles aggressively to avoid theme overrides (e.g., Enfold).
  Everything lives under #mdbv-app.
*/
#mdbv-app.mdbv-wrap{margin:0 !important;font-size:14px;color:var(--mdbv-text);padding:76px 50px 0 50px !important; font-family:inherit;width:100vw;max-width:100vw;box-sizing:border-box;position:relative;left:50%;right:50%;margin-left:calc(50% - 50vw) !important;margin-right:calc(50% - 50vw) !important;overflow-x:hidden}

/* Strong scoping to avoid theme CSS overriding our UI */
#mdbv-app, #mdbv-app *{box-sizing:border-box}
#mdbv-app button, #mdbv-app input, #mdbv-app select, #mdbv-app textarea{font:inherit !important; line-height:inherit !important}
#mdbv-app a{text-decoration:none}

/* Toolbar */
#mdbv-app .mdbv-toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between;margin-bottom:.9rem}

#mdbv-app .mdbv-searchbar{flex:1;min-width:260px}

#mdbv-app .mdbv-searchwrap{
  display:flex;
  align-items:center;
  gap:.5rem;
  padding:.5rem;
  border:1px solid var(--mdbv-border);
  border-radius:999px;
  background:rgba(255,255,255,.9);
  box-shadow:0 6px 16px rgba(17,24,39,.06);
}

#mdbv-app .mdbv-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--mdbv-muted);padding-left:.25rem}

/*
  Theme-safe icons:
  We render icons as <span> and apply SVG masks via CSS data-URIs.
  This avoids servers with missing SVG MIME types and themes stripping inline SVG.
*/
#mdbv-app .mdbv-ico{
  width:18px;
  height:18px;
  display:inline-block;
  background-color:currentColor;
  -webkit-mask: var(--mdbv-mask) no-repeat center / contain;
  mask: var(--mdbv-mask) no-repeat center / contain;
}
#mdbv-app .mdbv-icon .mdbv-ico{width:20px;height:20px;opacity:.75}
#mdbv-app .mdbv-btn-icon .mdbv-ico,
#mdbv-app .mdbv-kebab__btn .mdbv-ico{width:18px;height:18px}

/* Icon masks (data-uri) */
#mdbv-app .mdbv-ico-search{--mdbv-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='11' cy='11' r='7'/><path d='M21 21l-4.3-4.3'/></svg>")}
#mdbv-app .mdbv-ico-filter{--mdbv-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M4 6h16'/><path d='M7 12h10'/><path d='M10 18h4'/></svg>")}
#mdbv-app .mdbv-ico-mail{--mdbv-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='4' y='6' width='16' height='12' rx='2'/><path d='M4 7l8 6 8-6'/></svg>")}
#mdbv-app .mdbv-ico-download{--mdbv-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M12 3v10'/><path d='M7 10l5 5 5-5'/><path d='M5 21h14'/></svg>")}
#mdbv-app .mdbv-ico-kebab{--mdbv-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'><circle cx='12' cy='5' r='2'/><circle cx='12' cy='12' r='2'/><circle cx='12' cy='19' r='2'/></svg>")}
#mdbv-app .mdbv-ico-plus{--mdbv-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'><path d='M12 5v14'/><path d='M5 12h14'/></svg>")}
#mdbv-app .mdbv-ico-user{--mdbv-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M20 21a8 8 0 0 0-16 0'/><circle cx='12' cy='8' r='4'/></svg>")}
#mdbv-app .mdbv-ico-back{--mdbv-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M15 18l-6-6 6-6'/></svg>")}

/* Eye icon (password show/hide) */
#mdbv-app .mdbv-ico-eye{--mdbv-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7-10-7-10-7Z'/><circle cx='12' cy='12' r='3'/></svg>")}
#mdbv-app .mdbv-pw-toggle.is-shown .mdbv-ico-eye{--mdbv-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M17.94 17.94A10.94 10.94 0 0 1 12 19c-6.5 0-10-7-10-7a20.2 20.2 0 0 1 5.06-6.94'/><path d='M1 1l22 22'/><path d='M9.9 4.24A10.94 10.94 0 0 1 12 5c6.5 0 10 7 10 7a20.2 20.2 0 0 1-4.2 5.94'/><path d='M14.12 14.12a3 3 0 0 1-4.24-4.24'/></svg>")}

/* Centered auth screen (login/setup) */
.mdbv-auth-screen{min-height:60vh;display:flex;align-items:center;justify-content:center;padding:2.5rem 1rem}
.mdbv-auth-card{width:100%;max-width:440px;background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:22px;padding:1.5rem;box-shadow:0 12px 30px rgba(0,0,0,.08)}
.mdbv-auth-title{font-size:1.25rem;font-weight:700;letter-spacing:-.02em;text-align:center;margin:0 0 1rem 0}

/* Password field with eye toggle */
.mdbv-pw{position:relative;display:flex;align-items:center}
.mdbv-pw input{padding-right:3rem !important}
.mdbv-pw-toggle{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);width:2.25rem;height:2.25rem;border-radius:999px;border:0;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center}
.mdbv-eye{font-size:18px;line-height:1;display:inline-block;transform:translateY(-1px)}
.mdbv-pw-toggle:hover{background:rgba(133,201,198,.15)}
.mdbv-pw-toggle:focus{outline:none}

/* Icons inside auth screen (not inside #mdbv-app) */
.mdbv-auth-screen .mdbv-ico{display:inline-block;width:18px;height:18px;background:#111;-webkit-mask:var(--mdbv-mask) no-repeat center/contain;mask:var(--mdbv-mask) no-repeat center/contain}
.mdbv-auth-screen .mdbv-ico-eye{--mdbv-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7-10-7-10-7Z'/><circle cx='12' cy='12' r='3'/></svg>")}
.mdbv-auth-screen .mdbv-pw-toggle.is-shown .mdbv-ico-eye{--mdbv-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M17.94 17.94A10.94 10.94 0 0 1 12 19c-6.5 0-10-7-10-7a20.2 20.2 0 0 1 5.06-6.94'/><path d='M1 1l22 22'/><path d='M9.9 4.24A10.94 10.94 0 0 1 12 5c6.5 0 10 7 10 7a20.2 20.2 0 0 1-4.2 5.94'/><path d='M14.12 14.12a3 3 0 0 1-4.24-4.24'/></svg>")}

#mdbv-app .mdbv-input{
  appearance:none;
  border:0;
  outline:none;
  background:transparent;
  width:100%;
  min-width:180px;
  padding:.35rem .2rem;
  font-size:14px;
  color:var(--mdbv-text);
}

#mdbv-app .mdbv-iconbtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  border:1px solid var(--mdbv-border);
  border-radius:999px;
  background:#fff;
  cursor:pointer;
  color:var(--mdbv-muted);
  transition:transform .06s ease, box-shadow .12s ease, border-color .12s ease;
}
#mdbv-app .mdbv-iconbtn:hover{box-shadow:0 10px 18px rgba(17,24,39,.10);border-color:rgba(17,24,39,.18)}
#mdbv-app .mdbv-iconbtn:active{transform:scale(.98)}

/* (legacy) keep svg display rule if present */
.mdbv-iconbtn svg,.mdbv-btn-icon svg,.mdbv-kebab__btn svg,.mdbv-icon svg{display:block}

/* Buttons */
#mdbv-app .mdbv-btn{
  appearance:none;
  padding:.55rem .85rem;
  border:1px solid var(--mdbv-border);
  border-radius:999px;
  background:#fff;
  cursor:pointer;
  color:var(--mdbv-text);
  font-weight:600;
  transition:transform .06s ease, box-shadow .12s ease, border-color .12s ease;
}

#mdbv-app .mdbv-btn-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  padding:0;
  border-radius:999px;
}

#mdbv-app .mdbv-btn-outline{
  background:transparent;
  border:1px solid rgba(17,24,39,.18);
  color:var(--mdbv-text);
}

#mdbv-app .mdbv-btn-plus{
  width:40px;
  height:40px;
  padding:0;
  border:1px solid var(--mdbv-accent);
  background:var(--mdbv-accent);
  color:#073b3a;
  font-weight:900;
  border-radius:999px;
  box-shadow:0 12px 22px rgba(133,201,198,.35);
}
#mdbv-app .mdbv-btn-plus:hover{filter:brightness(.98)}
#mdbv-app .mdbv-btn:hover{box-shadow:0 10px 18px rgba(17,24,39,.10);border-color:rgba(17,24,39,.18)}
#mdbv-app .mdbv-btn:active{transform:scale(.98)}

.mdbv-btn-accent{background:var(--mdbv-accent);border-color:var(--mdbv-accent);color:#073b3a}
.mdbv-btn-accent:hover{box-shadow:0 12px 22px rgba(133,201,198,.35)}

.mdbv-btn-danger{
  background:transparent;
  border:1px solid rgba(231,76,60,.45);
  color:#b42318;
}
.mdbv-btn-danger:hover{box-shadow:0 10px 18px rgba(231,76,60,.12);border-color:rgba(231,76,60,.65)}

/* Fixed topbar (white header area) */
.mdbv-topbar{
  position:fixed;
  top:0;
  left:0;
  right:0;
  height:64px;
  background:#fff;
  border-bottom:1px solid rgba(17,24,39,.08);
  z-index:999999;
}
body.admin-bar .mdbv-topbar{top:32px}
.mdbv-topbar__inner{
  height:64px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 18px;
}
.mdbv-topbar__left{display:flex;align-items:center;gap:.5rem;min-width:120px}

.mdbv-back{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  text-decoration:none;
  color:var(--mdbv-text);
  font-weight:700;
  padding:.45rem .6rem;
  border-radius:999px;
  border:1px solid rgba(17,24,39,.12);
  background:transparent;
}
.mdbv-back:hover{box-shadow:0 10px 18px rgba(17,24,39,.08)}
.mdbv-header-avatar{position:relative;}

/* Avatar dropdown */
.mdbv-user{position:relative}
.mdbv-avatar{border:0;background:transparent;cursor:pointer;padding:0;display:flex;align-items:center}
.mdbv-avatar__circle{
  width:40px;height:40px;
  border-radius:999px;
  background:rgba(133,201,198,.22);
  border:1px solid rgba(133,201,198,.55);
  display:flex;align-items:center;justify-content:center;
  font-weight:800;
  color:#073b3a;
  box-shadow:0 10px 18px rgba(17,24,39,.08);
}

/* Ensure inline SVG icons render consistently */
.mdbv-btn-icon svg,
.mdbv-iconbtn svg,
.mdbv-kebab__btn svg,
.mdbv-icon svg{display:block}

.mdbv-dropdown{
  position:absolute;
  right:0;
  top:calc(100% + .55rem);
  min-width:260px;
  background:#fff;
  border:1px solid var(--mdbv-border);
  border-radius:16px;
  box-shadow:var(--mdbv-shadow);
  padding:.5rem;
}
.mdbv-dropdown[aria-hidden="true"]{display:none}

.mdbv-dropdown__header{padding:.55rem .65rem .45rem .65rem}
.mdbv-dropdown__name{font-weight:800;line-height:1.25}
.mdbv-dropdown__role{color:var(--mdbv-muted);font-size:12px;margin-top:.1rem}

.mdbv-menuitem{
  width:100%;
  display:flex;
  align-items:center;
  gap:.5rem;
  padding:.55rem .65rem;
  border-radius:12px;
  text-decoration:none;
  border:0;
  background:transparent;
  cursor:pointer;
  color:var(--mdbv-text);
  font-weight:600;
  text-align:left;
}
.mdbv-menuitem:hover{background:rgba(17,24,39,.05)}

.mdbv-divider{height:1px;background:var(--mdbv-border);margin:.35rem .35rem}

/* Users management head */
.mdbv-users-head{display:flex;align-items:center;gap:.75rem;justify-content:space-between;margin:0 0 .75rem 0}
.mdbv-users-title{display:flex;flex-direction:column;gap:.15rem}
.mdbv-users-kicker{font-weight:900;font-size:15px;letter-spacing:.02em}
.mdbv-users-sub{color:var(--mdbv-muted);font-size:13px}

/* Table (minimal like the reference screenshot: no borders, dotted separators, soft column blocks) */
/*
  Table wrapper: allow horizontal scroll WITHOUT clipping dropdowns.
  Some themes apply overflow rules that can clip menus.
*/
#mdbv-app .mdbv-tablewrap{overflow-x:auto !important; overflow-y:visible !important; border-radius:var(--mdbv-radius);background:transparent; position:relative !important}
#mdbv-app .mdbv-table{width:100% !important;border-collapse:collapse !important;border-spacing:0 !important}
#mdbv-app .mdbv-table th,
#mdbv-app .mdbv-table td{padding:.46rem .66rem !important;vertical-align:middle;white-space:nowrap !important;border:0 !important}
#mdbv-app .mdbv-table thead th{font-size:12px !important;line-height:1.2 !important;color:var(--mdbv-muted) !important;letter-spacing:.06em !important;font-weight:800 !important;text-transform:uppercase !important}
#mdbv-app .mdbv-th{font-size:12px !important;line-height:1.2 !important;color:var(--mdbv-muted) !important;letter-spacing:.06em !important;font-weight:800 !important;text-transform:uppercase !important}
#mdbv-app .mdbv-table thead th a{display:inline-flex;align-items:center;gap:.35rem;text-decoration:none;color:inherit}
.mdbv-th{font-weight:800}
.mdbv-sort{font-size:11px;color:var(--mdbv-muted)}

#mdbv-app .mdbv-table tbody tr{border-bottom:2px dotted rgba(17,24,39,.12) !important}
#mdbv-app .mdbv-table tbody tr:last-child{border-bottom:0 !important}
#mdbv-app .mdbv-table tbody td{background:transparent !important}
/* alternating soft blocks per column */
#mdbv-app .mdbv-table tbody td:nth-child(even), #mdbv-app .mdbv-table thead th:nth-child(even){background:rgba(17,24,39,.035) !important}
#mdbv-app .mdbv-table tbody td:nth-child(odd),  #mdbv-app .mdbv-table thead th:nth-child(odd){background:transparent !important}
#mdbv-app .mdbv-table tbody tr:hover td{background:rgba(133,201,198,.08) !important}

.mdbv-row-ruhend{opacity:.55}

/* Kebab menu */
#mdbv-app .mdbv-kebab{position:relative;display:inline-flex;justify-content:flex-end;width:100%; overflow:visible !important}
#mdbv-app .mdbv-kebab__btn{
  all:unset !important; -webkit-appearance:none !important; appearance:none !important; box-sizing:border-box !important; width:36px;height:36px;
  border-radius:999px;
  border:none !important;
  background:transparent !important;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--mdbv-muted) !important;
}
#mdbv-app .mdbv-kebab-dots{font-size:20px;line-height:1;color:var(--mdbv-muted) !important;display:block;transform:translateY(-1px)}
#mdbv-app .mdbv-kebab__btn .mdbv-ico{opacity:1 !important}
#mdbv-app .mdbv-kebab__btn:hover{box-shadow:0 10px 18px rgba(17,24,39,.10) !important}
#mdbv-app .mdbv-kebab__menu{
  background:#fff !important;
  border:1px solid var(--mdbv-border);
  border-radius:16px;
  padding:.5rem;
  min-width:260px;
  box-shadow:var(--mdbv-shadow);
  font-size:14px;
  opacity:1 !important;
  position:absolute;
  right:0;
  top:calc(100% + .55rem);
  z-index:1000000;
}
#mdbv-app .mdbv-kebab__menu.is-floating{
  position:fixed !important;
  right:auto !important;
  top:auto !important;
  opacity:1 !important;
  background:#fff !important;
  pointer-events:auto !important;
}
#mdbv-app .mdbv-kebab__menu[aria-hidden="true"]{display:none}

/* Badges */
.mdbv-badge{display:inline-block;padding:.18rem .55rem;border-radius:999px;font-size:12px;line-height:1.6;background:var(--mdbv-badge-bg,#666);color:#fff}
.mdbv-badge-green{background:#2ecc71}
.mdbv-badge-red{background:#e74c3c}
.mdbv-badge-blue{background:#3498db}
.mdbv-badge-gray{background:#7f8c8d}
.mdbv-badge-purple{background:#9b59b6}

/* Pagination */
.mdbv-pagination{margin-top:.9rem;display:flex;flex-wrap:wrap;gap:.35rem}
.mdbv-page{padding:.45rem .65rem;border:1px solid var(--mdbv-border);border-radius:999px;text-decoration:none;color:var(--mdbv-text);font-weight:600}
.mdbv-page:hover{box-shadow:0 10px 18px rgba(17,24,39,.10)}
.mdbv-page-current{border-color:var(--mdbv-accent);background:rgba(133,201,198,.18)}

/* Notices */
.mdbv-error{padding:.75rem .85rem;background:#fff1f2;border:1px solid rgba(244,63,94,.35);border-radius:var(--mdbv-radius);margin-bottom:.75rem}
.mdbv-notice{padding:.75rem .85rem;background:#eff6ff;border:1px solid rgba(59,130,246,.25);border-radius:var(--mdbv-radius);margin-bottom:.75rem}

/* Login */
.mdbv-field{margin-bottom:.85rem}
.mdbv-field label{display:block;margin-bottom:.35rem;font-weight:800;color:var(--mdbv-text)}
.mdbv-field input,
.mdbv-field select,
.mdbv-field textarea{
  width:100%;
  padding:.6rem .7rem;
  border:1px solid var(--mdbv-border);
  border-radius:12px;
  outline:none;
  background:#fff;
}
.mdbv-field input:focus,
.mdbv-field select:focus,
.mdbv-field textarea:focus{border-color:rgba(133,201,198,.95);box-shadow:0 0 0 4px rgba(133,201,198,.18)}

.mdbv-grid hr{border:0;height:1px;background:var(--mdbv-border);margin:.75rem 0}

/* Modal */
.mdbv-modal{position:fixed;inset:0;display:none;z-index:999999}
.mdbv-modal[aria-hidden="false"]{display:block}
.mdbv-modal__backdrop{position:absolute;inset:0;background:rgba(17,24,39,.55)}
.mdbv-modal__panel{position:relative;max-width:740px;margin:7vh auto;background:#fff;border-radius:18px;box-shadow:0 30px 80px rgba(17,24,39,.35);padding:1rem}
.mdbv-modal__header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem}
.mdbv-modal__header h3{margin:0;font-size:18px}
.mdbv-modal__close{border:1px solid var(--mdbv-border);background:#fff;border-radius:12px;padding:.35rem .55rem;cursor:pointer}
.mdbv-modal__body{max-height:70vh;overflow-x:auto;padding-right:.25rem}
.mdbv-modal__actions{display:flex;gap:.5rem;justify-content:flex-end;flex-wrap:wrap;margin-top:.85rem}

@media (max-width: 560px){
.mdbv-searchwrap{border-radius:18px}
  .mdbv-btn{padding:.5rem .75rem}
  #mdbv-app.mdbv-wrap{padding:76px 16px 0 16px !important}
}

#mdbv-app .mdbv-kebab__btn:focus-visible{outline:2px solid rgba(133,201,198,.65) !important; outline-offset:2px}

/* Responsive columns: show more info on larger screens */
/* Default: keep the table narrow to avoid horizontal scrolling */
#mdbv-app .mdbv-col-email,
#mdbv-app .mdbv-col-beruf,
#mdbv-app .mdbv-col-eintrittsdatum,
#mdbv-app .mdbv-col-privatadresse,
#mdbv-app .mdbv-col-institution{display:none}

/* Progressive enhancement: show more columns when there is enough space */
@media (min-width: 760px){
  #mdbv-app .mdbv-col-beruf{display:table-cell}
}
@media (min-width: 980px){
  #mdbv-app .mdbv-col-eintrittsdatum{display:table-cell}
}
@media (min-width: 1200px){
  #mdbv-app .mdbv-col-email{display:table-cell}
}
@media (min-width: 1280px){
  #mdbv-app .mdbv-col-privatadresse{display:table-cell}
}
@media (min-width: 1500px){
  #mdbv-app .mdbv-col-institution{display:table-cell}
}

/* Members table: no side-scroller, allow wrapping */
#mdbv-app .mdbv-tablewrap-members{overflow-x:hidden !important}
#mdbv-app .mdbv-members-table{table-layout:fixed !important;width:100% !important}
#mdbv-app .mdbv-members-table th,
#mdbv-app .mdbv-members-table td{
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
}

/* Keep action button column compact */
#mdbv-app .mdbv-members-table .mdbv-col-action{white-space:nowrap !important;width:72px !important}

#mdbv-app .mdbv-thlink{display:inline-flex;align-items:center;gap:.35rem;text-decoration:none;color:inherit}
#mdbv-app th .mdbv-th{letter-spacing:.08em}


/* Active filter chips */
#mdbv-app .mdbv-chips{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  padding:10px 2px 0 2px !important;
}
#mdbv-app .mdbv-chip{
  display:inline-flex !important;
  align-items:center !important;
  gap:10px !important;
  padding:8px 12px !important;
  border-radius:999px !important;
  background:#ffffff !important;
  border:1px solid rgba(0,0,0,.08) !important;
  box-shadow:0 1px 0 rgba(0,0,0,.03) !important;
  font-size:13px !important;
  line-height:1 !important;
}
#mdbv-app .mdbv-chip__text{
  color:rgba(0,0,0,.75) !important;
  white-space:nowrap !important;
}
#mdbv-app .mdbv-chip__x{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:18px !important;
  height:18px !important;
  border-radius:999px !important;
  text-decoration:none !important;
  color:rgba(0,0,0,.55) !important;
  border:1px solid rgba(0,0,0,.10) !important;
}
#mdbv-app .mdbv-chip__x:hover{
  color:#000 !important;
  border-color:rgba(0,0,0,.18) !important;
}


/* Tooltips for icon buttons */
#mdbv-app .mdbv-has-tooltip{position:relative; overflow:visible !important}
#mdbv-app .mdbv-has-tooltip::after{
  content:attr(data-tooltip);
  position:absolute;
  left:50%;
  top:calc(100% + 10px);
  transform:translateX(-50%) translateY(2px);
  background:#111;
  color:#fff;
  padding:6px 10px;
  border-radius:10px;
  font-size:12px;
  line-height:1;
  white-space:nowrap;
  opacity:0;
  pointer-events:none;
  transition:opacity .15s ease, transform .15s ease;
  z-index:1000001;
}
#mdbv-app .mdbv-has-tooltip::before{
  content:"";
  position:absolute;
  left:50%;
  top:calc(100% + 4px);
  transform:translateX(-50%);
  border:6px solid transparent;
  border-bottom-color:#111;
  opacity:0;
  pointer-events:none;
  transition:opacity .15s ease;
  z-index:1000001;
}
#mdbv-app .mdbv-has-tooltip:hover::after,
#mdbv-app .mdbv-has-tooltip:focus-visible::after{
  opacity:1;
  transform:translateX(-50%) translateY(0);
}
#mdbv-app .mdbv-has-tooltip:hover::before,
#mdbv-app .mdbv-has-tooltip:focus-visible::before{
  opacity:1;
}
/* Ensure tooltip isn't clipped by toolbar wrapper */
#mdbv-app .mdbv-toolbar, #mdbv-app .mdbv-searchwrap{overflow:visible !important}

#mdbv-app .mdbv-muted{font-size:12px;opacity:.7;margin-top:4px;}

/* ===== Elementor compatibility patch (floating kebab + modal stacking) ===== */
/*
  In mdbv.js the kebab menu is detached and appended to document.body to avoid clipping.
  When that happens it is no longer under #mdbv-app, so scoped selectors won't match.
  This patch ensures the floating menu has an opaque white background and correct stacking.
*/

/* Floating kebab menu (detached to <body>) */
body .mdbv-kebab__menu.is-floating{
  background:#fff !important;
  border:1px solid var(--mdbv-border);
  border-radius:16px;
  padding:.5rem;
  min-width:260px;
  box-shadow:var(--mdbv-shadow);
  font-size:14px;
  opacity:1 !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  pointer-events:auto !important;
  z-index:1000000 !important;
}

/* Make sure the modal always sits above topbar + kebab */
.mdbv-modal{ z-index: 2000000 !important; }


/* ===== Download column picker (modal) ===== */
#mdbv-app .mdbv-seg{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  padding:6px;
  border:1px solid var(--mdbv-border);
  border-radius:999px;
  background:rgba(17,24,39,.03);
}
#mdbv-app .mdbv-seg__btn{
  border:0;
  background:transparent;
  cursor:pointer;
  padding:10px 12px;
  border-radius:999px;
  font-weight:800;
  color:rgba(17,24,39,.78);
  transition:background .12s ease, box-shadow .12s ease, transform .06s ease;
}
#mdbv-app .mdbv-seg__btn:hover{background:rgba(133,201,198,.18)}
#mdbv-app .mdbv-seg__btn:active{transform:scale(.99)}
#mdbv-app .mdbv-seg__btn.is-active{
  background:var(--mdbv-accent);
  color:#073b3a;
  box-shadow:0 10px 18px rgba(133,201,198,.25);
}

#mdbv-app .mdbv-dl-cols[aria-hidden="true"]{display:none}
#mdbv-app .mdbv-bubbles{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding-top:6px;
}
#mdbv-app .mdbv-bubble{
  border:1px solid rgba(17,24,39,.14);
  background:#fff;
  border-radius:999px;
  padding:8px 12px;
  cursor:pointer;
  font-weight:700;
  color:rgba(17,24,39,.82);
  transition:box-shadow .12s ease, border-color .12s ease, transform .06s ease, background .12s ease;
}
#mdbv-app .mdbv-bubble:hover{box-shadow:0 10px 18px rgba(17,24,39,.08);border-color:rgba(17,24,39,.22)}
#mdbv-app .mdbv-bubble:active{transform:scale(.99)}
#mdbv-app .mdbv-bubble.is-selected{
  background:rgba(133,201,198,.20);
  border-color:rgba(133,201,198,.85);
  color:#073b3a;
  box-shadow:0 12px 22px rgba(133,201,198,.22);
}

/* =========================================================
   Layout Fixes (Full screen nutzen + Aktion immer sichtbar)
   ========================================================= */

/* Full-bleed Wrapper: nutzt den kompletten Viewport mit 50px Rand */
#mdbv-app.mdbv-wrap{
  width:100dvw !important;
  max-width:100dvw !important;
  margin-left:calc(50% - 50dvw) !important;
  margin-right:calc(50% - 50dvw) !important;
  padding-left:50px !important;
  padding-right:50px !important;
  box-sizing:border-box !important;
  overflow-x:clip; /* verhindert 1–2px Überlauf */
}

/* Auf kleinen Screens Rand reduzieren */
@media (max-width: 768px){
  #mdbv-app.mdbv-wrap{
    padding-left:16px !important;
    padding-right:16px !important;
  }
}

/* =========================================================
   Tabellen: keine kaputten Spalten (AUTO Layout) + bessere Umbrüche
   ========================================================= */

/* Wichtig: Wrapper darf horizontal scrollen, damit nichts zerschossen wird */
#mdbv-app .mdbv-tablewrap{
  overflow-x:auto !important;
  overflow-y:visible !important;
}

/* Auto-Layout (Browser optimiert Spaltenbreiten) */
#mdbv-app .mdbv-table{
  width:100% !important;
  table-layout:auto !important;
}

/* Lange Inhalte sollen sauber umbrechen (ohne vertikale Header) */
#mdbv-app .mdbv-col-privatadresse,
#mdbv-app .mdbv-col-email{
  white-space:normal !important;
  word-break:break-word;
}

/* Status-Badges immer einzeilig */
#mdbv-app .mdbv-badge{
  white-space:nowrap !important;
}

/* =========================================================
   Aktion-Spalte: immer sichtbar (sticky rechts) – Member Tabelle
   ========================================================= */
#mdbv-app .mdbv-members-table th.mdbv-col-action,
#mdbv-app .mdbv-members-table td.mdbv-col-action{
  position:sticky !important;
  right:0 !important;
  background:#fff !important;
  z-index:3 !important;
  min-width:90px !important;
  width:90px !important;
  text-align:center;
}

/* Header "Aktion" niemals truncaten */
#mdbv-app .mdbv-members-table th.mdbv-col-action .mdbv-th{
  white-space:nowrap !important;
}

/* Leichte Abgrenzung zur Tabelle beim Scrollen */
#mdbv-app .mdbv-members-table th.mdbv-col-action,
#mdbv-app .mdbv-members-table td.mdbv-col-action{
  box-shadow:-12px 0 16px rgba(17,24,39,.06);
}

/* Status-Spalte moderat klein (Member Tabelle) */
#mdbv-app .mdbv-members-table th.mdbv-col-status,
#mdbv-app .mdbv-members-table td.mdbv-col-status{
  width:140px;
  min-width:140px;
  overflow:visible;
}

/* =========================================================
   Benutzerverwaltung: E-Mail breiter, Status kleiner, Aktion sticky rechts
   Tabelle hat 6 Spalten: Name | E-Mail | Rolle | Bundesland | Status | Aktion
   ========================================================= */

/* E-Mail-Spalte breiter */
#mdbv-app .mdbv-tablewrap:not(.mdbv-tablewrap-members) .mdbv-table th:nth-child(2),
#mdbv-app .mdbv-tablewrap:not(.mdbv-tablewrap-members) .mdbv-table td:nth-child(2){
  min-width:320px;
  white-space:nowrap;
}

/* Status kleiner */
#mdbv-app .mdbv-tablewrap:not(.mdbv-tablewrap-members) .mdbv-table th:nth-child(5),
#mdbv-app .mdbv-tablewrap:not(.mdbv-tablewrap-members) .mdbv-table td:nth-child(5){
  width:110px;
  min-width:110px;
}

/* Aktion (Kebab) immer sichtbar */
#mdbv-app .mdbv-tablewrap:not(.mdbv-tablewrap-members) .mdbv-table th:nth-child(6),
#mdbv-app .mdbv-tablewrap:not(.mdbv-tablewrap-members) .mdbv-table td:nth-child(6){
  position:sticky !important;
  right:0 !important;
  background:#fff !important;
  z-index:3 !important;
  width:90px !important;
  min-width:90px !important;
  text-align:center;
  box-shadow:-12px 0 16px rgba(17,24,39,.06);
}

/* Header "Aktion" vollständig */
#mdbv-app .mdbv-tablewrap:not(.mdbv-tablewrap-members) .mdbv-table th:nth-child(6) .mdbv-th{
  white-space:nowrap !important;
}

/* =========================================================
   Viewport-Lock (kein Page-Scroll) + saubere Tabellenbreiten
   - #mdbv-app belegt den ganzen Viewport
   - nur .mdbv-tablewrap scrollt vertikal
   - keine horizontalen Side-Scroller
   ========================================================= */

/* App nimmt den ganzen Screen ein (verhindert vertikales Scrollen der Seite) */
#mdbv-app.mdbv-wrap{
  position:fixed !important;
  inset:0 !important;
  width:100% !important;
  max-width:100% !important;
  height:100vh !important;

  /* 50px Rand links/rechts, wie gewünscht */
  padding:76px 50px 0 50px !important;

  margin:0 !important;
  box-sizing:border-box !important;
  overflow:hidden !important; /* wichtig: kein Seiten-Scroll, kein X-Scroll */
}

/* Mobile: weniger Rand */
@media (max-width: 768px){
  #mdbv-app.mdbv-wrap{ padding-left:16px !important; padding-right:16px !important; }
}

/* Toolbar oben bleibt stehen */
#mdbv-app .mdbv-toolbar{ flex:0 0 auto !important; }

/* Nur der Tabellenbereich scrollt vertikal */
#mdbv-app .mdbv-tablewrap{
  /* Höhe wird über .mdbv-content geregelt (damit Pagination sichtbar bleibt) */
  height:auto !important;
  overflow-y:visible !important;
  overflow-x:hidden !important; /* keine Side-Scroller */
  min-height:0 !important;
}

/* Inhalt scrollt (inkl. Pagination) */
#mdbv-app .mdbv-content{
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow:auto !important;
  padding-bottom:18px !important; /* Platz für letzte Zeile + Pagination */
}

/* Layout: App als Flex-Column, damit Content sauber scrollt */
#mdbv-app.mdbv-wrap{
  display:flex !important;
  flex-direction:column !important;
}

/* =========================================================
   Header niemals umbrechen + Spalten mindestens so breit wie Titel
   ========================================================= */
#mdbv-app .mdbv-table th{
  white-space:nowrap !important;
  overflow:visible !important;
  text-overflow:unset !important;
}

/* Datenzellen dürfen umbrechen (damit alles in den Screen passt) */
#mdbv-app .mdbv-table td{
  white-space:normal !important;
  word-break:break-word !important;
}

/* Mitglieder-Tabelle: fixed layout + Mindestbreiten pro Spalte */
#mdbv-app .mdbv-members-table{
  width:100% !important;
  table-layout:fixed !important;
}

/* 1 Nachname, 2 Vorname, 3 Beruf, 4 Bundesland, 5 Privatadresse,
   6 Eintritt, 7 E-Mail, 8 Beitrag, 9 Status, 10 Aktion */
#mdbv-app .mdbv-members-table th:nth-child(1),
#mdbv-app .mdbv-members-table td:nth-child(1){ min-width:12ch; width:12ch; }
#mdbv-app .mdbv-members-table th:nth-child(2),
#mdbv-app .mdbv-members-table td:nth-child(2){ min-width:10ch; width:10ch; }
#mdbv-app .mdbv-members-table th:nth-child(3),
#mdbv-app .mdbv-members-table td:nth-child(3){ min-width:10ch; width:10ch; }
#mdbv-app .mdbv-members-table th:nth-child(4),
#mdbv-app .mdbv-members-table td:nth-child(4){ min-width:12ch; width:12ch; }
/* Privatadresse: bekommt Restbreite (kein fixes width) */
#mdbv-app .mdbv-members-table th:nth-child(6),
#mdbv-app .mdbv-members-table td:nth-child(6){ min-width:10ch; width:10ch; }
#mdbv-app .mdbv-members-table th:nth-child(7),
#mdbv-app .mdbv-members-table td:nth-child(7){ min-width:22ch; width:22ch; } /* E-Mail */
#mdbv-app .mdbv-members-table th:nth-child(8),
#mdbv-app .mdbv-members-table td:nth-child(8){ min-width:9ch; width:9ch; }   /* Beitrag */
#mdbv-app .mdbv-members-table th:nth-child(9),
#mdbv-app .mdbv-members-table td:nth-child(9){ min-width:10ch; width:10ch; } /* Status */

/* Aktion immer sichtbar (sticky rechts) */
#mdbv-app .mdbv-members-table th:nth-child(10),
#mdbv-app .mdbv-members-table td:nth-child(10){
  position:sticky !important;
  right:0 !important;
  background:#fff !important;
  z-index:5 !important;
  min-width:9ch !important;
  width:9ch !important;
  text-align:center;
  box-shadow:-12px 0 16px rgba(17,24,39,.06);
}

/* Status-Badges nie umbrechen */
#mdbv-app .mdbv-badge{ white-space:nowrap !important; }

/* =========================================================
   Benutzerverwaltung: E-Mail breit, Status klein, Aktion sticky rechts
   Spalten: 1 Name | 2 E-Mail | 3 Rolle | 4 Bundesland | 5 Status | 6 Aktion
   ========================================================= */
#mdbv-app .mdbv-users-table{
  width:100% !important;
  table-layout:fixed !important;
}

#mdbv-app .mdbv-users-table th:nth-child(1),
#mdbv-app .mdbv-users-table td:nth-child(1){ min-width:12ch; width:12ch; }

#mdbv-app .mdbv-users-table th:nth-child(2),
#mdbv-app .mdbv-users-table td:nth-child(2){
  min-width:28ch; width:28ch; /* E-Mail größer */
  white-space:nowrap !important;
  word-break:normal !important;
}

#mdbv-app .mdbv-users-table th:nth-child(3),
#mdbv-app .mdbv-users-table td:nth-child(3){ min-width:16ch; width:16ch; }

#mdbv-app .mdbv-users-table th:nth-child(4),
#mdbv-app .mdbv-users-table td:nth-child(4){ min-width:12ch; width:12ch; }

#mdbv-app .mdbv-users-table th:nth-child(5),
#mdbv-app .mdbv-users-table td:nth-child(5){
  min-width:8ch; width:8ch; /* Status kleiner */
}

#mdbv-app .mdbv-users-table th:nth-child(6),
#mdbv-app .mdbv-users-table td:nth-child(6){
  position:sticky !important;
  right:0 !important;
  background:#fff !important;
  z-index:5 !important;
  min-width:9ch !important;
  width:9ch !important;
  text-align:center;
  box-shadow:-12px 0 16px rgba(17,24,39,.06);
}

/* Fallback: wenn spezielle Table-Klassen fehlen, Aktion-Spalte immer sticky rechts */
#mdbv-app .mdbv-table th:last-child,
#mdbv-app .mdbv-table td:last-child{
  position:sticky !important;
  right:0 !important;
  background:#fff !important;
  z-index:5 !important;
  min-width:9ch !important;
  width:9ch !important;
  text-align:center;
  box-shadow:-12px 0 16px rgba(17,24,39,.06);
}

/* =========================================================
   Column tuning (Mitgliederliste) – basierend auf neuer Spaltenreihenfolge:
   1 Nachname | 2 Vorname | 3 Beruf | 4 Bundesland | 5 Privatadresse |
   6 Institution | 7 Eintritt | 8 E‑Mail | 9 Beitrag | 10 Status | 11 Aktion
   Ziel: mehr Platz für Bundesland/Institution/Status, Adresse kleiner (darf umbrechen),
   E‑Mail darf einmal umbrechen.
   ========================================================= */

#mdbv-app .mdbv-members-table{
  table-layout:fixed !important;
}

/* Mindestbreiten / Breiten */
#mdbv-app .mdbv-members-table th:nth-child(1),
#mdbv-app .mdbv-members-table td:nth-child(1){ width:12ch !important; min-width:12ch !important; }

#mdbv-app .mdbv-members-table th:nth-child(2),
#mdbv-app .mdbv-members-table td:nth-child(2){ width:10ch !important; min-width:10ch !important; }

#mdbv-app .mdbv-members-table th:nth-child(3),
#mdbv-app .mdbv-members-table td:nth-child(3){ width:10ch !important; min-width:10ch !important; }

/* Bundesland: mehr Platz für Pills */
#mdbv-app .mdbv-members-table th:nth-child(4),
#mdbv-app .mdbv-members-table td:nth-child(4){ width:16ch !important; min-width:16ch !important; }

/* Privatadresse: kleiner, darf umbrechen (max 2 Zeilen) */
#mdbv-app .mdbv-members-table th:nth-child(5),
#mdbv-app .mdbv-members-table td:nth-child(5){ width:28ch !important; min-width:28ch !important; }

/* Institution: so breit, dass Header + Werte gut passen */
#mdbv-app .mdbv-members-table th:nth-child(6),
#mdbv-app .mdbv-members-table td:nth-child(6){ width:16ch !important; min-width:16ch !important; }

/* Eintritt */
#mdbv-app .mdbv-members-table th:nth-child(7),
#mdbv-app .mdbv-members-table td:nth-child(7){ width:10ch !important; min-width:10ch !important; }

/* E‑Mail: darf einmal umbrechen (max 2 Zeilen) */
#mdbv-app .mdbv-members-table th:nth-child(8),
#mdbv-app .mdbv-members-table td:nth-child(8){ width:22ch !important; min-width:22ch !important; }

/* Beitrag */
#mdbv-app .mdbv-members-table th:nth-child(9),
#mdbv-app .mdbv-members-table td:nth-child(9){ width:9ch !important; min-width:9ch !important; }

/* Status: genug Platz für "ausserordentlich" komplett */
#mdbv-app .mdbv-members-table th:nth-child(10),
#mdbv-app .mdbv-members-table td:nth-child(10){ width:16ch !important; min-width:16ch !important; }

/* Aktion: sticky rechts bleibt wie gehabt, aber konsistent */
#mdbv-app .mdbv-members-table th:nth-child(11),
#mdbv-app .mdbv-members-table td:nth-child(11){
  width:9ch !important;
  min-width:9ch !important;
  position:sticky !important;
  right:0 !important;
  background:#fff !important;
  z-index:6 !important;
  text-align:center !important;
  box-shadow:-12px 0 16px rgba(17,24,39,.06);
}

/* Badges: nicht umbrechen, nicht kürzen */
#mdbv-app .mdbv-badge{
  white-space:nowrap !important;
}

/* Privatadresse max 2 Zeilen */
#mdbv-app .mdbv-members-table td:nth-child(5){
  white-space:normal !important;
  word-break:break-word !important;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}

/* E‑Mail max 2 Zeilen */
#mdbv-app .mdbv-members-table td:nth-child(8){
  white-space:normal !important;
  word-break:break-word !important;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}

/* =========================================================
   Fixes:
   1) Beitrag-Spalte breiter (Badge "nicht bezahlt" passt)
   2) E-Mail-Spalte: Hintergrund über ganze Zelle + saubere 1x Umbrechung
      (kein line-clamp via display:-webkit-box, weil das Table-Cells zerstören kann)
   ========================================================= */

/* Beitrag (Spalte 9) breiter */
#mdbv-app .mdbv-members-table th:nth-child(9),
#mdbv-app .mdbv-members-table td:nth-child(9){
  width:14ch !important;
  min-width:14ch !important;
}

/* E-Mail (Spalte 8): wieder echtes table-cell Verhalten */
#mdbv-app .mdbv-members-table td:nth-child(8){
  display:table-cell !important;
  -webkit-line-clamp:unset !important;
  -webkit-box-orient:unset !important;

  white-space:normal !important;     /* darf umbrechen */
  word-break:break-word !important;
  overflow:visible !important;
}

/* Falls irgendwo ein inneres Element die Breite begrenzt: auf 100% ziehen */
#mdbv-app .mdbv-members-table td:nth-child(8) > *{
  display:block;
  width:100%;
}

/* Spalten-Hintergrund für E-Mail sicherstellen */
#mdbv-app .mdbv-members-table thead th:nth-child(8),
#mdbv-app .mdbv-members-table tbody td:nth-child(8){
  background:rgba(17,24,39,.035) !important;
}

/* =========================================================
   Responsive Fix für kleine Screens:
   - Tabelle darf horizontal scrollen (statt zu "zerschießen")
   - feste Mindestbreite der Tabelle, damit Spalten nicht kollabieren
   - AKTION bleibt sticky rechts (Kebab immer erreichbar)
   ========================================================= */

@media (max-width: 1100px){

  /* weniger Rand am Viewport */
  #mdbv-app.mdbv-wrap{
    padding-left:16px !important;
    padding-right:16px !important;
  }

  /* auf kleinen Screens: horizontales Scrollen innerhalb der Tabelle erlauben */
  #mdbv-app .mdbv-tablewrap-members{
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch;
  }

  /* Tabelle bekommt Mindestbreite, damit Spalten nicht übereinander laufen */
  #mdbv-app .mdbv-members-table{
    min-width: 1100px !important;
  }

  /* Sicherheit: keine Überlagerung durch zu kleine Zeilenhöhe */
  #mdbv-app .mdbv-members-table th,
  #mdbv-app .mdbv-members-table td{
    vertical-align:middle;
  }
}

/* Extra klein: noch kompakter, aber weiterhin scrollbar */
@media (max-width: 600px){
  #mdbv-app .mdbv-members-table{
    min-width: 980px !important;
  }
}

/* =========================================================
   Small-screen overlap fix:
   Auf kleinen Screens überschneiden sich Inhalte, weil einige Cells "overflow: visible"
   aus früheren Tweaks geerbt haben. Wir kappen Overflow im Mobile-Breakpoint und
   erlauben sauberes Umbrechen in Adresse/E-Mail.
   ========================================================= */

@media (max-width: 1100px){

  /* verhindert Überlappungen zwischen Spalten */
  #mdbv-app .mdbv-members-table{
    table-layout:fixed !important;   /* feste Spaltenbreiten + min-width */
  }

  #mdbv-app .mdbv-members-table td{
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  /* Adresse (5) + E-Mail (8): dürfen umbrechen statt zu überlaufen */
  #mdbv-app .mdbv-members-table td:nth-child(5),
  #mdbv-app .mdbv-members-table td:nth-child(8){
    white-space:normal !important;
    word-break:break-word !important;
    text-overflow:unset !important;
  }

  /* Adresse/E-Mail max 2 Zeilen – ohne display:-webkit-box auf der Zelle */
  #mdbv-app .mdbv-members-table td:nth-child(5) .mdbv-cell,
  #mdbv-app .mdbv-members-table td:nth-child(8) .mdbv-cell{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
  }

  /* Falls kein .mdbv-cell existiert: direkt im td clampen */
  #mdbv-app .mdbv-members-table td:nth-child(5):not(:has(.mdbv-cell)),
  #mdbv-app .mdbv-members-table td:nth-child(8):not(:has(.mdbv-cell)){
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden !important;
  }
}

@media (max-width: 1100px){
  /* Fallback ohne :has(): clamp direkt im TD (funktioniert in WebKit) */
  #mdbv-app .mdbv-members-table td:nth-child(5),
  #mdbv-app .mdbv-members-table td:nth-child(8){
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }
}

/* =========================================================
   Abstand zwischen Header/Toolbar und Tabelleninhalt vergrößern
   (verhindert Überlappung)
   ========================================================= */

/* Mehr Abstand unter der Such-/Headerleiste */
#mdbv-app .mdbv-toolbar{
  margin-bottom:24px !important;
}

/* Falls Tabelle direkt folgt: zusätzliches Top-Padding */
#mdbv-app .mdbv-tablewrap-members{
  padding-top:12px !important;
}

/* =========================================================
   FINAL FIXES:
   1) Mehr Abstand zwischen Topbar (WP/Admin/Header) und Inhalt
   2) Benutzerverwaltung: E-Mail breiter, Status schmaler
   ========================================================= */

/* ---------------------------------------------------------
   1) Top-Abstand erhöhen (Suchleiste darf NICHT unter Topbar liegen)
   --------------------------------------------------------- */

/* Gesamter App-Wrapper bekommt mehr Top-Padding */
#mdbv-app.mdbv-wrap{
  padding-top:110px !important; /* vorher ~76px → jetzt deutlich mehr */
}

/* Zusätzlicher Abstand unter der Toolbar/Suche */
#mdbv-app .mdbv-toolbar{
  margin-bottom:32px !important;
}

/* ---------------------------------------------------------
   2) Benutzerverwaltungstabelle anpassen
   Spalten:
   1 Name | 2 E-Mail | 3 Rolle | 4 Bundesland | 5 Status | 6 Aktion
   --------------------------------------------------------- */

/* E-Mail-Spalte deutlich breiter */
#mdbv-app .mdbv-users-table th:nth-child(2),
#mdbv-app .mdbv-users-table td:nth-child(2){
  width:32ch !important;
  min-width:32ch !important;
  white-space:normal !important;
  word-break:break-word !important;
}

/* Status-Spalte schmaler */
#mdbv-app .mdbv-users-table th:nth-child(5),
#mdbv-app .mdbv-users-table td:nth-child(5){
  width:8ch !important;
  min-width:8ch !important;
}

/* =========================================================
   FIXES:
   A) Mitgliederverwaltung: Kebab nicht vom Scrollbar überdecken + sichtbarer Button
   B) Benutzerverwaltung: nur dort anpassen (Hover über volle Breite, E-Mail ohne Umbruch, Status kleiner)
   ========================================================= */

/* ---------------------------------------------------------
   A) Mitgliederverwaltung (letzte Spalte = Aktion):
   - sticky rechts, aber mit Abstand zum Scrollbar
   - Kebab als runder Button sichtbar
   --------------------------------------------------------- */

/* Kebab-Trigger als runder Button (robust: mehrere mögliche Selektoren) */
#mdbv-app .mdbv-kebab,
#mdbv-app .mdbv-kebab-btn,
#mdbv-app .mdbv-actions-btn,
#mdbv-app button[aria-haspopup="menu"],
#mdbv-app button[aria-label*="Aktion"],
#mdbv-app button[aria-label*="Action"]{
  width:36px;
  height:36px;
  border-radius:999px;
  border:1px solid rgba(17,24,39,.18);
  background:rgba(255,255,255,.85);
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

/* Hover/Focus sichtbar */
#mdbv-app .mdbv-kebab:hover,
#mdbv-app .mdbv-kebab-btn:hover,
#mdbv-app .mdbv-actions-btn:hover,
#mdbv-app button[aria-haspopup="menu"]:hover{
  background:#fff;
  box-shadow:0 6px 18px rgba(17,24,39,.10);
}

/* ---------------------------------------------------------
   B) Benutzerverwaltung: NUR diese Tabelle
   Wir machen sie wieder "normal", damit Hover & Layout stimmen.
   --------------------------------------------------------- */

/* Erkennen über vorhandene Klasse .mdbv-users-table; falls fehlt, gilt es in der Users-Section */
#mdbv-app .mdbv-users-table{
  width:100% !important;
  table-layout:auto !important; /* nicht fixed, damit Hover/Flächen stimmen */
}

/* Hover über ganze Zeile: sicherstellen, dass tr/td full background bekommen */
#mdbv-app .mdbv-users-table tbody tr:hover td{
  background:rgba(133,201,198,.12) !important;
}

/* E-Mail ohne Umbruch + mehr Platz */
#mdbv-app .mdbv-users-table th:nth-child(2),
#mdbv-app .mdbv-users-table td:nth-child(2){
  min-width:40ch !important;
  white-space:nowrap !important;
  word-break:normal !important;
}

/* Status deutlich kleiner */
#mdbv-app .mdbv-users-table th:nth-child(5),
#mdbv-app .mdbv-users-table td:nth-child(5){
  width:7ch !important;
  min-width:7ch !important;
}

/* Aktion-Spalte in User-Tabelle weiterhin sticky (aber mit Abstand zum Scrollbar) */
#mdbv-app .mdbv-users-table th:nth-child(6),
#mdbv-app .mdbv-users-table td:nth-child(6){
  position:sticky !important;
  right:12px !important;
  background:#fff !important;
  z-index:6 !important;
  width:9ch !important;
  min-width:9ch !important;
  text-align:center;
  box-shadow:-12px 0 16px rgba(17,24,39,.06);
}

/* =========================================================
   Benutzerverwaltung (View "users") – gezielt über .mdbv-users-head + .mdbv-tablewrap
   Fix:
   - Hover über ganze Zeile
   - E-Mail ohne Umbruch
   - Status-Spalte kleiner
   - Rolle-Spalte größer + ohne Umbruch ("Bundeslandvertreter:in")
   ========================================================= */

#mdbv-app .mdbv-users-head + .mdbv-tablewrap .mdbv-table{
  table-layout:fixed !important;
  width:100% !important;
}

/* Hover über komplette Zeile (inkl. sticky Aktion) */
#mdbv-app .mdbv-users-head + .mdbv-tablewrap .mdbv-table tbody tr:hover td{
  background:rgba(133,201,198,.12) !important;
}

/* Spaltenbreiten: 1 Name | 2 E-Mail | 3 Rolle | 4 Bundesland | 5 Status | 6 Aktion */
#mdbv-app .mdbv-users-head + .mdbv-tablewrap .mdbv-table th:nth-child(1),
#mdbv-app .mdbv-users-head + .mdbv-tablewrap .mdbv-table td:nth-child(1){
  width:14ch !important;
  min-width:14ch !important;
}

#mdbv-app .mdbv-users-head + .mdbv-tablewrap .mdbv-table th:nth-child(2),
#mdbv-app .mdbv-users-head + .mdbv-tablewrap .mdbv-table td:nth-child(2){
  width:42ch !important;
  min-width:42ch !important;
  white-space:nowrap !important;      /* E-Mail ohne Umbruch */
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

#mdbv-app .mdbv-users-head + .mdbv-tablewrap .mdbv-table th:nth-child(3),
#mdbv-app .mdbv-users-head + .mdbv-tablewrap .mdbv-table td:nth-child(3){
  width:22ch !important;              /* Rolle größer */
  min-width:22ch !important;
  white-space:nowrap !important;      /* Bundeslandvertreter:in ohne Umbruch */
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

#mdbv-app .mdbv-users-head + .mdbv-tablewrap .mdbv-table th:nth-child(4),
#mdbv-app .mdbv-users-head + .mdbv-tablewrap .mdbv-table td:nth-child(4){
  width:16ch !important;
  min-width:16ch !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

#mdbv-app .mdbv-users-head + .mdbv-tablewrap .mdbv-table th:nth-child(5),
#mdbv-app .mdbv-users-head + .mdbv-tablewrap .mdbv-table td:nth-child(5){
  width:8ch !important;               /* Status kleiner */
  min-width:8ch !important;
}

/* Aktion sticky rechts + Abstand zum Scrollbar + Hover-Farbe mitnehmen */
#mdbv-app .mdbv-users-head + .mdbv-tablewrap .mdbv-table th:nth-child(6),
#mdbv-app .mdbv-users-head + .mdbv-tablewrap .mdbv-table td:nth-child(6){
  position:sticky !important;
  right:12px !important;
  background:#fff !important;
  z-index:6 !important;
  width:9ch !important;
  min-width:9ch !important;
  text-align:center !important;
  box-shadow:-12px 0 16px rgba(17,24,39,.06);
}

#mdbv-app .mdbv-users-head + .mdbv-tablewrap .mdbv-table tbody tr:hover td:nth-child(6){
  background:rgba(133,201,198,.12) !important; /* Hover auch im sticky td */
}

/* =========================================================
   FINAL Hover-Fix (MITGLIEDER + BENUTZERVERWALTUNG)
   Ziel:
   - Hover immer über die gesamte Zeile (volle Breite + Höhe)
   - funktioniert auch mit sticky ACTION-Spalte
   ========================================================= */

/* 1) Grundsätzlich: TR bekommt den Hover-Hintergrund */
#mdbv-app .mdbv-table tbody tr:hover{
  background:rgba(133,201,198,.12) !important;
}

/* 2) Alle TDs übernehmen den Hintergrund vom TR */
#mdbv-app .mdbv-table tbody tr:hover td{
  background:transparent !important;
}

/* 3) Sticky ACTION-Zelle explizit mitziehen */
#mdbv-app .mdbv-table tbody tr:hover td:last-child{
  background:rgba(133,201,198,.12) !important;
}

/* 4) Falls einzelne Zellen eigene Hintergründe haben → neutralisieren */
#mdbv-app .mdbv-table tbody tr td{
  background-clip:padding-box;
}

/* =========================================================
   Hover-Farben vereinheitlichen
   Problem: einige Spalten/Zellen haben eigene Hintergründe (z.B. E-Mail-Spalte),
   dadurch entsteht ein anderer Hover-Farbton.
   Lösung: Im Hover-Zustand bekommt JEDE Zelle exakt dieselbe Farbe.
   ========================================================= */

#mdbv-app{
  --mdbv-row-hover: rgba(133,201,198,.12);
}

/* Einheitlicher Hover über alle Zellen */
#mdbv-app .mdbv-table tbody tr:hover td{
  background: var(--mdbv-row-hover) !important;
}

/* Sticky Action-Zelle auch identisch (falls andere Regeln drüber liegen) */
#mdbv-app .mdbv-table tbody tr:hover td:last-child{
  background: var(--mdbv-row-hover) !important;
}

/* Falls es eine Spaltenhintergrund-Regel gibt (z.B. E-Mail), im Hover überschreiben */
#mdbv-app .mdbv-table tbody tr:hover td:nth-child(8){
  background: var(--mdbv-row-hover) !important;
}


/* Members counter under search (right-aligned) */
#mdbv-app .mdbv-count{
  width:100%;
  text-align:right;
  font-size:12px;
  color:var(--mdbv-muted);
  margin-top:6px;
  padding-right:6px;
}
#mdbv-app .mdbv-count strong{font-weight:800;color:var(--mdbv-text);}


/* === PATCH v3: Bundeslandvertreter:innen – Header/Labels bleiben korrekt (keine Spalten-Verschiebung) === */
/* Ursache: globale Responsive-Regeln blenden Spalten abhängig von breakpoints aus -> Header und Body wirken "verschoben".
   Fix: im reps-view (is_admin=false) alle relevanten Spalten IMMER anzeigen und bei Bedarf horizontal scrollen. */
#mdbv-app.mdbv-wrap[data-ui*="\"is_admin\":false"] .mdbv-tablewrap-members{
  overflow-x:auto !important;
  overflow-y:visible !important;
  -webkit-overflow-scrolling:touch;
}

/* Always show these columns for reps so header+body stay aligned */
#mdbv-app.mdbv-wrap[data-ui*="\"is_admin\":false"] .mdbv-col-beruf,
#mdbv-app.mdbv-wrap[data-ui*="\"is_admin\":false"] .mdbv-col-privatadresse,
#mdbv-app.mdbv-wrap[data-ui*="\"is_admin\":false"] .mdbv-col-institution,
#mdbv-app.mdbv-wrap[data-ui*="\"is_admin\":false"] .mdbv-col-eintrittsdatum,
#mdbv-app.mdbv-wrap[data-ui*="\"is_admin\":false"] .mdbv-col-email{
  display:table-cell !important;
}

/* Stable, responsive grid: wide tables scroll instead of re-labeling */
#mdbv-app.mdbv-wrap[data-ui*="\"is_admin\":false"] .mdbv-tablewrap-members .mdbv-members-table{
  table-layout:fixed !important;
  width:100% !important;
  min-width:1180px !important;
}

/* Column widths (work even if institution exists/doesn't exist) */
#mdbv-app.mdbv-wrap[data-ui*="\"is_admin\":false"] .mdbv-members-table .mdbv-col-nachname{width:14ch !important;}
#mdbv-app.mdbv-wrap[data-ui*="\"is_admin\":false"] .mdbv-members-table .mdbv-col-vorname{width:12ch !important;}
#mdbv-app.mdbv-wrap[data-ui*="\"is_admin\":false"] .mdbv-members-table .mdbv-col-beruf{width:14ch !important;}
#mdbv-app.mdbv-wrap[data-ui*="\"is_admin\":false"] .mdbv-members-table .mdbv-col-privatadresse{width:30ch !important;}
#mdbv-app.mdbv-wrap[data-ui*="\"is_admin\":false"] .mdbv-members-table .mdbv-col-institution{width:18ch !important;}
#mdbv-app.mdbv-wrap[data-ui*="\"is_admin\":false"] .mdbv-members-table .mdbv-col-eintrittsdatum{width:12ch !important; white-space:nowrap !important;}
#mdbv-app.mdbv-wrap[data-ui*="\"is_admin\":false"] .mdbv-members-table .mdbv-col-email{width:32ch !important;}
#mdbv-app.mdbv-wrap[data-ui*="\"is_admin\":false"] .mdbv-members-table .mdbv-col-mitgliedsbeitrag{width:16ch !important; white-space:nowrap !important;}

/* Prevent E-Mail from visually running into Beitrag */
#mdbv-app.mdbv-wrap[data-ui*="\"is_admin\":false"] .mdbv-members-table td.mdbv-col-email{
  white-space:normal !important;
  overflow:hidden !important;
  word-break:break-word !important;
}

/* Beitrag badge: no wrap, no full-width stretching */
#mdbv-app.mdbv-wrap[data-ui*="\"is_admin\":false"] .mdbv-members-table .mdbv-col-mitgliedsbeitrag .mdbv-badge{
  display:inline-block !important;
  width:auto !important;
  max-width:100% !important;
}


/* =========================================================
   Benutzerverwaltung: Status-Zelle darf NICHT clippen (Helpertext "gesperrt bis …")
   ========================================================= */
#mdbv-app .mdbv-users-table td:nth-child(5){
  white-space:normal !important;
  overflow:visible !important;
}
#mdbv-app .mdbv-users-table td:nth-child(5) .mdbv-muted{
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:unset !important;
  display:block;
  margin-top:4px;
}
