:root {
  --vp-sidebar-width: 17rem;
  --vp-tabler-corner-radius: 2.0;
  --tblr-border-radius: .5rem;
  --tblr-border-radius-sm: .375rem;
  --tblr-border-radius-lg: .75rem;
  --tblr-border-radius-xl: 1rem;
  --tblr-border-radius-xxl: 2rem;
}

/* VP global scroll stability: reserve vertical scrollbar space on every page to prevent layout jumps. */
html {
  overflow-y: scroll;
  scrollbar-gutter: stable;
}
.vp-brand-mark { width: 2rem; height: 2rem; display: inline-flex; align-items: center; justify-content: center; }
.vp-icon { width: 1.125rem; height: 1.125rem; vertical-align: -0.25rem; }
.vp-empty-illustration { max-width: 14rem; }
.vp-card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: 1rem; }
.vp-nowrap { white-space: nowrap; }
.vp-code { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; }
.vp-table-actions { width: 1%; white-space: nowrap; }
.vp-request-id { font-size: .75rem; }
@media (max-width: 991.98px) { .vp-desktop-only { display:none; } }
.vp-log-context { max-width: 38rem; max-height: 16rem; overflow: auto; }

/* V6 mail/admin/register polish */
.navbar-vertical .nav-link-icon .vp-icon { filter: invert(1) brightness(1.8); opacity: .72; }
.navbar-vertical .nav-item.active .nav-link-icon .vp-icon,
.navbar-vertical .nav-link:hover .nav-link-icon .vp-icon { opacity: 1; }
.vp-register-shell { min-height: calc(100vh - 4rem); display: flex; align-items: center; justify-content: center; padding: 1rem; }
.vp-register-hero { width: min(100%, 72rem); border-radius: 1.65rem; overflow: hidden; background: rgba(255,255,255,.98); backdrop-filter: blur(14px); }
.vp-register-sidebar { position: relative; padding: 2rem; color: #fff; background: radial-gradient(circle at top left, rgba(255,255,255,.24), transparent 28rem), linear-gradient(160deg, #12326f, #1460aa 52%, #18885f); }
.vp-register-sidebar::after { content: ""; position: absolute; inset: auto -5rem -6rem auto; width: 16rem; height: 16rem; border-radius: 999px; background: rgba(255,255,255,.12); }
.vp-register-brandline { display: flex; align-items: center; gap: .75rem; margin-bottom: 2rem; position: relative; z-index: 1; }
.vp-register-sidebar-copy { position: relative; z-index: 1; margin-bottom: 1.5rem; }
.vp-register-sidebar-copy h1 { font-size: clamp(1.7rem, 3vw, 2.35rem); line-height: 1.05; margin: 0 0 .75rem; letter-spacing: -.03em; }
.vp-register-sidebar-copy p { color: rgba(255,255,255,.82); margin-bottom: 0; }
.vp-register-vertical-steps { position: relative; z-index: 1; margin: 1.25rem 0 1.5rem; }
.vp-register-vertical-steps.steps { --tblr-steps-color: rgba(255,255,255,.34); }
.vp-register-vertical-steps .step-item { min-height: 4.2rem; padding-bottom: .7rem; color: rgba(255,255,255,.65); }
.vp-register-vertical-steps .step-item::before { background: rgba(255,255,255,.28); }
.vp-register-vertical-steps .step-item.active::before { background: rgba(255,255,255,.78); }
.vp-register-vertical-steps .vp-step-dot { width: 2.25rem; height: 2.25rem; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.24); margin-right: .75rem; flex: 0 0 auto; }
.vp-register-vertical-steps .vp-icon { width: 1.05rem; height: 1.05rem; filter: brightness(0) invert(1); opacity: .9; }
.vp-register-vertical-steps .is-current .vp-step-dot,
.vp-register-vertical-steps .is-done .vp-step-dot { background: #fff; border-color: #fff; }
.vp-register-vertical-steps .is-current .vp-icon,
.vp-register-vertical-steps .is-done .vp-icon { filter: none; opacity: 1; }
.vp-step-copy { display: inline-flex; flex-direction: column; gap: .12rem; vertical-align: top; }
.vp-step-copy strong { color: #fff; font-size: .95rem; }
.vp-step-copy small { color: rgba(255,255,255,.72); font-size: .78rem; }
.vp-register-sidebar-note { position: relative; z-index: 1; display: flex; gap: .65rem; align-items: flex-start; border-radius: 1rem; padding: .85rem; background: rgba(255,255,255,.13); color: rgba(255,255,255,.86); font-size: .85rem; }
.vp-register-sidebar-note .vp-icon { filter: brightness(0) invert(1); margin-top: .1rem; }
.vp-register-main { min-height: 43rem; display: flex; flex-direction: column; }
.vp-register-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.vp-register-badge { display: inline-flex; gap: .45rem; align-items: center; border-radius: 999px; padding: .4rem .8rem; background: #eef6ff; color: #15549a; font-weight: 700; font-size: .82rem; }
.vp-register-badge .vp-icon { width: 1rem; height: 1rem; }
.vp-register-progress-ring { width: 4.15rem; height: 4.15rem; border-radius: 999px; display: grid; place-items: center; flex: 0 0 auto; background: conic-gradient(#246bfe var(--vp-progress, 0), #edf2f7 0); box-shadow: inset 0 0 0 .45rem #fff; border: 1px solid #edf2f7; }
.vp-register-progress-ring span { font-weight: 800; color: #15549a; font-size: .9rem; }
.vp-register-main .progress-bar { background: linear-gradient(90deg, #246bfe, #20c997); }
.vp-register-main form { min-height: 31rem; display: flex; flex-direction: column; }
.vp-register-actions { margin-top: auto !important; padding-top: 1rem; }
.vp-friendly-panel { display: flex; gap: 1rem; align-items: flex-start; border-radius: 1.35rem; background: linear-gradient(135deg, #f8fbff, #f8fffc); border: 1px solid #e8eef7; padding: 1rem; }
.vp-friendly-panel h3 { margin: 0 0 .25rem; font-size: 1.2rem; letter-spacing: -.01em; }
.vp-friendly-panel p { margin: 0; color: #667085; }
.vp-friendly-icon { width: 2.65rem; height: 2.65rem; border-radius: 1rem; display: inline-flex; align-items: center; justify-content: center; background: #e8f2ff; color: #15549a; flex: 0 0 auto; }
.vp-friendly-icon .vp-icon { width: 1.35rem; height: 1.35rem; }
.vp-summary-card { height: 100%; border: 1px solid #e8eef7; border-radius: 1.15rem; padding: 1rem; background: #fff; box-shadow: 0 .65rem 2rem rgba(15, 23, 42, .04); }
.vp-summary-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .8rem; }
.vp-summary-head strong { display: inline-flex; align-items: center; gap: .35rem; }
.vp-summary-head a { font-size: .82rem; font-weight: 700; text-decoration: none; }
.vp-summary-line { display: flex; flex-direction: column; gap: .1rem; min-width: 0; }
.vp-summary-line span { color: #667085; font-size: .78rem; }
.vp-summary-line b { font-weight: 700; color: #1f2d3d; overflow-wrap: anywhere; }
.vp-after-submit { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; }
.vp-after-submit div { border: 1px dashed #dbe5ef; border-radius: 1rem; padding: .85rem; background: #fbfdff; display: flex; flex-direction: column; gap: .25rem; }
.vp-after-submit .vp-icon { width: 1.2rem; height: 1.2rem; color: #246bfe; }
.vp-after-submit strong { font-size: .9rem; }
.vp-after-submit span { color: #667085; font-size: .8rem; }
.vp-confirm-check { border: 1px solid #e8eef7; border-radius: 1rem; padding: .9rem .9rem .9rem 2.75rem; background: #fbfdff; }
.vp-register-main .btn-primary { background: #246bfe; border-color: #246bfe; box-shadow: 0 .5rem 1.2rem rgba(36,107,254,.18); }
.vp-register-main .btn-primary:hover { background: #1558dd; border-color: #1558dd; }
.vp-register-main .btn-link { color: #486178; }
@media (max-width: 991.98px) {
  .vp-register-hero { width: min(100%, 44rem); }
  .vp-register-sidebar { padding: 1.5rem; }
  .vp-register-main { min-height: auto; }
  .vp-register-main form { min-height: auto; }
  .vp-register-vertical-steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
  .vp-register-vertical-steps .step-item { padding: .75rem; border-radius: 1rem; background: rgba(255,255,255,.12); min-height: auto; }
  .vp-register-vertical-steps .step-item::before { display: none; }
}
@media (max-width: 767.98px) {
  .vp-register-shell { align-items: stretch; padding: .5rem; }
  .vp-register-top { align-items: center; }
  .vp-register-progress-ring { width: 3.4rem; height: 3.4rem; box-shadow: inset 0 0 0 .35rem #fff; }
  .vp-after-submit { grid-template-columns: 1fr; }
}

/* Header tenant switcher + discreet request id */
.vp-tenant-switcher-menu { min-width: 20rem; max-width: min(24rem, calc(100vw - 2rem)); }
.vp-tenant-switcher-menu .dropdown-item { min-width: 0; }
.vp-tenant-switcher-menu .dropdown-item.active { background: var(--tblr-primary-lt); color: var(--tblr-primary); }
.vp-request-id-floating { position: fixed; right: .65rem; bottom: .4rem; z-index: 1030; max-width: calc(100vw - 1.3rem); padding: .16rem .45rem; border-radius: 999px; background: rgba(255,255,255,.84); border: 1px solid rgba(98,105,118,.16); color: var(--tblr-secondary); font-size: .66rem; line-height: 1.25; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; box-shadow: 0 .25rem 1rem rgba(0,0,0,.05); opacity: .68; pointer-events: none; }
@media (max-width: 767.98px) { .vp-request-id-floating { font-size: .6rem; opacity: .55; } }

/* V6 shell navigation optics restored from v46, mounted on Tabler Fluid Vertical Layout. */
:root {
  --vp-shell-sidebar-width: 316px;
  --vp-shell-sidebar-bg-start: #07182f;
  --vp-shell-sidebar-bg-end: #0d2744;
  --vp-shell-sidebar-text: rgba(243, 248, 255, 0.96);
  --vp-shell-sidebar-text-soft: rgba(190, 208, 231, 0.78);
  --vp-shell-sidebar-text-muted: rgba(153, 176, 207, 0.62);
  --vp-shell-sidebar-danger: #ff7070;
  --vp-shell-sidebar-success: #42d392;
}
.page > .vp-shell-sidebar.navbar-vertical {
  width: var(--vp-shell-sidebar-width);
  min-width: var(--vp-shell-sidebar-width);
  padding: 10px;
  color: var(--vp-shell-sidebar-text);
  background: radial-gradient(700px 420px at 0% 0%, rgba(64, 153, 255, 0.16), transparent 52%), radial-gradient(520px 360px at 100% 100%, rgba(123, 141, 255, 0.14), transparent 54%), linear-gradient(180deg, var(--vp-shell-sidebar-bg-start) 0%, var(--vp-shell-sidebar-bg-end) 100%);
  box-shadow: inset -1px 0 0 rgba(255,255,255,0.05), 14px 0 30px rgba(5, 15, 28, 0.12);
  overflow: hidden;
  z-index: 30;
}
.page > .vp-shell-sidebar::before { content: ""; position: absolute; inset: 0; border-right: 1px solid rgba(255,255,255,0.06); background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.015)); pointer-events: none; }
.vp-shell-sidebar__container { position: relative; z-index: 1; height: 100%; padding: 0; display: flex; flex-direction: column; }
.vp-shell-sidebar__collapse { height: 100%; min-height: 0; }
.vp-shell-sidebar__scroll { width: 100%; height: 100%; overflow-y: auto; padding: 6px 4px; display: flex; flex-direction: column; gap: 10px; scrollbar-width: none; -ms-overflow-style: none; }
.vp-shell-sidebar__scroll::-webkit-scrollbar { width: 0; height: 0; display: none; }
.vp-shell-brand { padding: 10px 11px; border-radius: 20px; background: linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0.035)); border: 1px solid rgba(147, 186, 235, 0.14); box-shadow: 0 8px 20px rgba(3, 9, 20, 0.2), inset 0 1px 0 rgba(255,255,255,0.04); backdrop-filter: blur(16px); }
.vp-shell-brand__link { display: flex; align-items: center; gap: 10px; text-decoration: none; color: inherit; }
.vp-shell-brand__mark { width: 44px; height: 44px; flex: 0 0 44px; border-radius: 14px; display: grid; place-items: center; background: linear-gradient(145deg, #2e7ef7 0%, #4cb6ff 55%, #6796ff 100%); color: #fff; font-weight: 800; font-size: .92rem; letter-spacing: .08em; box-shadow: 0 14px 26px rgba(42, 123, 242, 0.32), inset 0 1px 0 rgba(255,255,255,0.26); }
.vp-shell-brand__copy { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.vp-shell-brand__wordmark { display: inline-flex; align-items: baseline; flex-wrap: wrap; font-size: 1rem; line-height: 1.1; font-weight: 700; letter-spacing: -0.02em; }
.vp-shell-brand__wordmark-main { color: #fff; }
.vp-shell-brand__wordmark-accent { color: #7ac4ff; }
.vp-shell-brand__tagline { color: var(--vp-shell-sidebar-text-muted); font-size: .72rem; line-height: 1.25; letter-spacing: .01em; }
.vp-shell-dashboard { position: relative; min-height: 36px; display: flex; align-items: center; gap: 9px; padding: 7px 12px; border-radius: 17px; text-decoration: none; color: #fff; background: linear-gradient(135deg, rgba(38, 112, 215, 0.88), rgba(64, 170, 255, 0.42)); border: 1px solid rgba(142, 198, 255, 0.28); box-shadow: 0 18px 34px rgba(7, 32, 70, 0.34), inset 0 1px 0 rgba(255,255,255,0.12); overflow: hidden; }
.vp-shell-dashboard:hover { color: #fff; text-decoration: none; }
.vp-shell-dashboard::before { content: ""; position: absolute; inset: 0; background: linear-gradient(115deg, rgba(255,255,255,0.12), transparent 38%, transparent 64%, rgba(255,255,255,0.08)); pointer-events: none; }
.vp-shell-dashboard__icon { width: 30px; height: 30px; flex: 0 0 30px; display: grid; place-items: center; border-radius: 11px; background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.14); }
.vp-shell-dashboard__title { position: relative; z-index: 1; font-weight: 700; font-size: .9rem; letter-spacing: -.01em; }
.vp-shell-dashboard__status { margin-left: auto; width: 8px; height: 8px; border-radius: 999px; background: #59bdff; box-shadow: 0 0 0 4px rgba(89, 189, 255, 0.12), 0 0 14px rgba(89, 189, 255, 0.48); }
.vp-shell-nav { display: flex; flex-direction: column; gap: 9px; }
.vp-shell-nav-section { display: flex; flex-direction: column; gap: 5px; }
.vp-shell-nav-section__heading { display: flex; align-items: center; gap: 10px; min-height: 13px; padding: 0 8px; color: var(--vp-shell-sidebar-text-muted); font-size: .63rem; font-weight: 700; line-height: 1; letter-spacing: .14em; text-transform: uppercase; }
.vp-shell-nav-section__heading::after { content: ""; height: 1px; flex: 1; background: linear-gradient(90deg, rgba(137, 172, 215, 0.28), rgba(137, 172, 215, 0)); }
.vp-shell-nav-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 5px; }
.vp-shell-nav-item { position: relative; }
.vp-shell-nav-link { position: relative; display: flex; align-items: center; gap: 9px; min-height: 34px; padding: 6px 10px 6px 12px; border-radius: 15px; color: var(--vp-shell-sidebar-text-soft); text-decoration: none; background: linear-gradient(180deg, rgba(15, 35, 59, 0.86), rgba(11, 28, 48, 0.9)); border: 1px solid rgba(123, 160, 204, 0.12); box-shadow: 0 6px 14px rgba(3, 11, 22, 0.16), inset 0 1px 0 rgba(255,255,255,0.035); transition: transform .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease, background .16s ease; }
.vp-shell-nav-link:hover { transform: translateX(1px); color: #fff; border-color: rgba(115, 182, 255, 0.22); box-shadow: 0 8px 18px rgba(4, 12, 24, 0.2), inset 0 1px 0 rgba(255,255,255,0.045); text-decoration: none; }
.vp-shell-nav-item.is-active .vp-shell-nav-link { color: #f6fbff; background: linear-gradient(180deg, rgba(18, 42, 71, 0.96), rgba(14, 36, 62, 0.98)); border-color: rgba(96, 177, 255, 0.26); box-shadow: 0 18px 32px rgba(6, 17, 33, 0.3), inset 0 1px 0 rgba(255,255,255,0.05); }
.vp-shell-nav-item.is-active .vp-shell-nav-link::before { content: ""; position: absolute; left: 0; top: 8px; bottom: 8px; width: 3px; border-radius: 0 999px 999px 0; background: linear-gradient(180deg, #4db1ff, #1e80ff); box-shadow: 0 0 16px rgba(65, 171, 255, 0.48); }
.vp-shell-nav-link__icon { width: 28px; height: 28px; flex: 0 0 28px; display: grid; place-items: center; border-radius: 11px; color: rgba(232, 242, 255, 0.86); background: rgba(255,255,255,0.03); }
.vp-shell-nav-link__title { min-width: 0; flex: 1; font-size: .86rem; line-height: 1.12; font-weight: 500; letter-spacing: -.01em; }
.vp-shell-nav-link__chevron { color: rgba(194, 212, 236, 0.74); display: inline-flex; align-items: center; justify-content: center; }
.vp-shell-sidebar .vp-icon { width: 16px; height: 16px; filter: invert(1) brightness(1.9); opacity: .86; }
.vp-shell-user { margin-top: auto; padding: 11px; border-radius: 20px; background: linear-gradient(180deg, rgba(18, 38, 64, 0.95), rgba(12, 28, 49, 0.98)); border: 1px solid rgba(117, 171, 235, 0.18); box-shadow: 0 10px 22px rgba(4, 12, 24, 0.22), inset 0 1px 0 rgba(255,255,255,0.045); }
.vp-shell-user__head { display: flex; align-items: center; gap: 9px; }
.vp-shell-user__avatar-wrap { position: relative; flex: 0 0 auto; }
.vp-shell-user__avatar, .vp-avatar { display: grid; place-items: center; background: linear-gradient(145deg, #2f7fff 0%, #5866ff 100%); color: #fff; font-weight: 800; box-shadow: 0 12px 24px rgba(36, 98, 209, 0.26); }
.vp-shell-user__avatar { width: 38px; height: 38px; border-radius: 50%; font-size: .8rem; }
.vp-shell-user__online { position: absolute; right: 0; bottom: 1px; width: 10px; height: 10px; border-radius: 50%; background: var(--vp-shell-sidebar-success); border: 2px solid #102640; box-shadow: 0 0 0 3px rgba(66, 211, 146, 0.12); }
.vp-shell-user__meta { min-width: 0; flex: 1; }
.vp-shell-user__name { color: #fff; font-weight: 600; font-size: .86rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.vp-shell-user__role { margin-top: 0; color: var(--vp-shell-sidebar-text-soft); font-size: .72rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.vp-shell-user__divider { height: 1px; margin: 9px 0 8px; background: linear-gradient(90deg, rgba(152, 184, 224, 0.24), rgba(152,184,224,0)); }
.vp-shell-user__account,
.vp-shell-user__logout { display: inline-flex; width: 100%; align-items: center; gap: 8px; padding: 0; border: 0; background: transparent; font-size: .82rem; font-weight: 600; text-decoration: none; text-align: left; }
.vp-shell-user__account { margin-bottom: 7px; color: var(--vp-shell-sidebar-text-soft); }
.vp-shell-user__account:hover { color: #fff; }
.vp-shell-user__logout { color: var(--vp-shell-sidebar-danger); cursor: pointer; }
.vp-shell-user__logout:hover { color: #ff9c9c; }
.vp-topbar { min-height: 4rem; background: rgba(255,255,255,.92); backdrop-filter: blur(14px); border-bottom: 1px solid rgba(206, 219, 235, .9); }
.vp-topbar-title { max-width: 42rem; font-size: 1rem; font-weight: 700; letter-spacing: -.01em; color: #1f2d3d; }
@media (min-width: 992px) {
  .vp-shell-sidebar.navbar-vertical ~ .page-wrapper { margin-left: var(--vp-shell-sidebar-width); }
}
@media (max-width: 1399.98px) { :root { --vp-shell-sidebar-width: 300px; } }
@media (max-width: 991.98px) {
  :root { --vp-shell-sidebar-width: 100%; }
  .page > .vp-shell-sidebar.navbar-vertical { width: 100%; min-width: 0; padding: 8px; }
  .vp-shell-sidebar__container { height: auto; }
  .vp-shell-sidebar__collapse { height: auto; }
  .vp-shell-sidebar__scroll { height: auto; max-height: none; }
  .vp-shell-brand__tagline { display: none; }
}


/* v49: Responsive repair for v46-style menu inside Tabler Fluid Vertical Layout. */
.vp-shell-mobile-brand { color: var(--vp-shell-sidebar-text); text-decoration: none; }
.vp-shell-mobile-brand:hover { color: #fff; text-decoration: none; }
.vp-shell-sidebar__toggler { color: rgba(255,255,255,.88); border-color: rgba(255,255,255,.18); background: rgba(255,255,255,.08); border-radius: 14px; }
.vp-shell-sidebar__toggler:focus { box-shadow: 0 0 0 .25rem rgba(77,177,255,.18); }
.vp-shell-sidebar__toggler .navbar-toggler-icon { filter: invert(1) brightness(1.75); }
@media (min-width: 992px) {
  .vp-shell-mobile-brand { display: none !important; }
  .vp-shell-sidebar__toggler { display: none; }
  .vp-shell-sidebar__collapse.collapse:not(.show) { display: block; }
}
@media (max-width: 991.98px) {
  .page > .vp-shell-sidebar.navbar-vertical {
    position: sticky;
    top: 0;
    width: 100%;
    min-width: 0;
    padding: .55rem .75rem;
    border-radius: 0;
    box-shadow: 0 .75rem 1.75rem rgba(5,15,28,.16);
    overflow: visible;
  }
  .vp-shell-sidebar__container {
    height: auto;
    min-height: 3.25rem;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: .75rem;
  }
  .vp-shell-sidebar__collapse {
    grid-column: 1 / -1;
    width: 100%;
    height: auto;
    min-height: 0;
  }
  .vp-shell-sidebar__collapse.show,
  .vp-shell-sidebar__collapse.collapsing {
    margin-top: .65rem;
  }
  .vp-shell-sidebar__scroll {
    height: auto;
    max-height: calc(100dvh - 5.25rem);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: .35rem .15rem .55rem;
  }
  .vp-shell-sidebar__scroll > .vp-shell-brand { display: none; }
  .vp-shell-dashboard { min-height: 42px; }
  .vp-shell-nav-link { min-height: 42px; }
  .vp-shell-user { margin-top: .75rem; }
  .vp-topbar { min-height: 3.5rem; }
  .vp-topbar .container-fluid { gap: .75rem; }
  .vp-topbar-title { max-width: min(52vw, 24rem); }
}
@media (max-width: 575.98px) {
  .page > .vp-shell-sidebar.navbar-vertical { padding: .5rem; }
  .vp-shell-mobile-brand .vp-shell-brand__mark { width: 38px; height: 38px; flex-basis: 38px; border-radius: 12px; }
  .vp-shell-brand__wordmark { font-size: .94rem; }
  .vp-shell-nav-section__heading { padding-inline: .35rem; }
  .vp-shell-user__role { white-space: normal; overflow-wrap: anywhere; }
  .vp-topbar-title { max-width: 44vw; font-size: .9rem; }
}

/* v51: Benutzerverwaltung Master-Detail Layout und sichtbare Tabellen-Dropdowns. */
.vp-users-master-detail {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 420px);
  gap: 1rem;
  align-items: start;
}
.vp-users-list,
.vp-users-table-wrap,
.vp-users-table {
  overflow: visible;
}
.vp-users-table-wrap.table-responsive {
  overflow-x: auto;
  overflow-y: visible;
}
.vp-users-table tbody tr {
  transition: background-color .16s ease, box-shadow .16s ease;
}
.vp-users-table tbody tr:hover,
.vp-users-row-active {
  background: rgba(32, 107, 196, .055);
}
.vp-users-name {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  color: inherit;
  text-decoration: none;
  min-width: 13rem;
}
.vp-users-name:hover {
  color: var(--tblr-primary);
  text-decoration: none;
}
.vp-users-action-dropdown .dropdown-menu {
  z-index: 1085;
  box-shadow: 0 1rem 2.5rem rgba(15, 23, 42, .18);
  border-radius: 14px;
}
.vp-users-detail {
  position: sticky;
  top: 5.25rem;
  overflow: hidden;
}
.vp-users-detail-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: .75rem;
}
.vp-users-detail-grid > div {
  padding: .75rem .85rem;
  border: 1px solid rgba(98, 105, 118, .16);
  border-radius: 14px;
  background: rgba(248, 250, 252, .78);
}
.vp-users-detail-grid span {
  display: block;
  margin-bottom: .15rem;
  color: var(--tblr-muted);
  font-size: .78rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .03em;
}
.vp-users-detail-grid strong {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
  font-weight: 650;
}
@media (max-width: 1199.98px) {
  .vp-users-master-detail {
    grid-template-columns: 1fr;
  }
  .vp-users-detail {
    position: static;
    order: -1;
  }
}
@media (max-width: 767.98px) {
  .vp-users-table-wrap.table-responsive {
    overflow-x: auto;
    overflow-y: visible;
  }
  .vp-users-name {
    min-width: 12rem;
  }
  .vp-users-detail .card-footer .btn,
  .vp-users-detail .card-footer form {
    width: 100%;
  }
  .vp-users-detail .card-footer form .btn {
    width: 100%;
  }
}

/* v52: Benutzerverwaltung exakt als moderne helle Master-Detail-Fläche mit dunklem Menü. */
.vp-users-page-header {
  padding-top: .55rem;
  margin-bottom: .35rem;
}
.vp-users-page-header .page-title {
  font-size: clamp(1.35rem, 1.8vw, 1.75rem);
  letter-spacing: -.035em;
  color: #0f172a;
}
.vp-users-page-body {
  --vp-users-border: #e4eaf2;
  --vp-users-soft: #f8fafc;
  --vp-users-ink: #0f172a;
  --vp-users-muted: #64748b;
}
.vp-users-toolbar {
  display: grid;
  grid-template-columns: minmax(18rem, 1fr) minmax(10rem, 12rem) minmax(10rem, 12rem) minmax(9rem, 11rem) auto auto;
  gap: .65rem;
  align-items: center;
  margin-bottom: 1rem;
}
.vp-users-toolbar .form-control,
.vp-users-toolbar .form-select,
.vp-users-toolbar .btn,
.vp-users-table .btn,
.vp-users-detail .btn {
  border-color: var(--vp-users-border);
  box-shadow: 0 .45rem 1.25rem rgba(15, 23, 42, .035);
}
.vp-users-search .form-control {
  min-height: 2.8rem;
  border-radius: .85rem;
}
.vp-users-filter,
.vp-users-filter-btn,
.vp-users-toolbar .btn-icon {
  min-height: 2.8rem;
  border-radius: .85rem;
}
.vp-users-create-btn {
  min-height: 2.85rem;
  border-radius: .85rem;
  gap: .45rem;
  box-shadow: 0 .75rem 1.6rem rgba(32, 107, 196, .18);
}
.vp-users-master-detail {
  display: grid;
  grid-template-columns: minmax(36rem, 1fr) minmax(23rem, 36vw);
  gap: 1rem;
  align-items: start;
}
.vp-users-list,
.vp-users-detail {
  border: 1px solid var(--vp-users-border);
  border-radius: 1.05rem;
  box-shadow: 0 1rem 2.8rem rgba(15, 23, 42, .045);
  background: #fff;
}
.vp-users-list,
.vp-users-table-wrap,
.vp-users-table {
  overflow: visible;
}
.vp-users-table-wrap.table-responsive {
  overflow-x: auto;
  overflow-y: visible;
  border-radius: 1.05rem 1.05rem 0 0;
}
.vp-users-table {
  margin-bottom: 0;
  border-collapse: separate;
  border-spacing: 0;
}
.vp-users-table thead th {
  padding: .95rem 1rem;
  color: #475569;
  font-size: .76rem;
  font-weight: 700;
  background: rgba(248, 250, 252, .72);
  border-bottom: 1px solid var(--vp-users-border);
}
.vp-users-table tbody td {
  padding: .82rem 1rem;
  border-bottom: 1px solid #edf1f6;
  vertical-align: middle;
}
.vp-users-table tbody tr {
  position: relative;
  transition: background-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.vp-users-click-row {
  cursor: pointer;
}
.vp-users-table tbody tr:hover {
  background: #f8fbff;
}
.vp-users-row-active,
.vp-users-table tbody tr.vp-users-row-active:hover {
  background: linear-gradient(90deg, rgba(32, 107, 196, .095), rgba(255, 255, 255, 0));
  box-shadow: inset 2px 0 0 var(--tblr-primary), inset 0 0 0 1px rgba(32, 107, 196, .38);
}
.vp-users-person {
  display: inline-flex;
  align-items: center;
  gap: .75rem;
  color: inherit;
  text-decoration: none;
  min-width: 14rem;
}
.vp-users-person:hover {
  color: inherit;
  text-decoration: none;
}
.vp-users-person__copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  line-height: 1.25;
}
.vp-users-avatar {
  width: 2.25rem;
  height: 2.25rem;
  flex: 0 0 2.25rem;
  border-radius: 999px;
  font-size: .78rem;
}
.vp-users-cell-soft {
  color: #334155;
  white-space: nowrap;
}
.vp-users-badge-list {
  display: flex;
  flex-wrap: wrap;
  gap: .3rem;
  min-width: 7rem;
}
.vp-status-badge {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  border: 1px solid rgba(0, 0, 0, .035);
  font-weight: 700;
}
.vp-users-action-cell {
  position: relative;
  width: 1%;
  white-space: nowrap;
}
.vp-users-action-dropdown {
  position: relative;
  z-index: 4;
}
.vp-users-action-dropdown .dropdown-menu {
  z-index: 1085;
  min-width: 15rem;
  padding: .45rem;
  border: 1px solid var(--vp-users-border);
  border-radius: .9rem;
  box-shadow: 0 1.25rem 3rem rgba(15, 23, 42, .18);
}
.vp-users-action-dropdown .dropdown-item {
  display: flex;
  align-items: center;
  gap: .55rem;
  border-radius: .65rem;
  font-weight: 600;
}
.vp-users-action-dropdown .dropdown-item .vp-icon,
.vp-users-detail-tabs .vp-icon,
.vp-users-info-card__head .vp-icon,
.vp-users-action-stack .vp-icon,
.vp-users-create-btn .vp-icon,
.vp-users-filter-btn .vp-icon {
  width: 1rem;
  height: 1rem;
}
.vp-users-list-footer {
  display: flex;
  align-items: center;
  gap: 1rem;
  min-height: 4.5rem;
  border-top: 0;
  background: #fff;
  border-radius: 0 0 1.05rem 1.05rem;
}
.vp-users-list-footer .page-link {
  border-radius: .7rem;
}
.vp-users-detail {
  position: sticky;
  top: 5.25rem;
  overflow: hidden;
}
.vp-users-detail-head {
  position: relative;
  padding: 1.55rem 1.55rem 1.25rem;
  border-bottom: 1px solid var(--vp-users-border);
  background: linear-gradient(180deg, #fff, #fbfdff);
}
.vp-users-detail-close {
  position: absolute;
  right: .85rem;
  top: .75rem;
  display: inline-flex;
  width: 1.9rem;
  height: 1.9rem;
  align-items: center;
  justify-content: center;
  color: #64748b;
  border-radius: .65rem;
  text-decoration: none;
}
.vp-users-detail-close:hover {
  color: var(--tblr-primary);
  background: #f1f5f9;
  text-decoration: none;
}
.vp-users-detail-avatar {
  width: 4rem;
  height: 4rem;
  flex: 0 0 4rem;
  border-radius: 999px;
  font-size: 1.25rem;
  box-shadow: 0 1rem 2.2rem rgba(32, 107, 196, .22);
}
.vp-users-detail-avatar::after {
  content: "";
  position: absolute;
}
.vp-users-detail-tabs {
  display: flex;
  gap: 1.1rem;
  padding: 0 1.55rem;
  border-bottom: 1px solid var(--vp-users-border);
  overflow-x: auto;
}
.vp-users-detail-tabs a {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  min-height: 3rem;
  color: #475569;
  border-bottom: 2px solid transparent;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}
.vp-users-detail-tabs a:hover,
.vp-users-detail-tabs a.active {
  color: var(--tblr-primary);
  border-bottom-color: var(--tblr-primary);
  text-decoration: none;
}
.vp-users-detail-body {
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.vp-users-info-card {
  padding: 1rem;
  border: 1px solid var(--vp-users-border);
  border-radius: .95rem;
  background: #fff;
  box-shadow: 0 .65rem 1.8rem rgba(15, 23, 42, .035);
}
.vp-users-info-card h4,
.vp-users-info-card__head h4 {
  margin: 0;
  font-size: .95rem;
  letter-spacing: -.015em;
  color: #0f172a;
}
.vp-users-info-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}
.vp-users-info-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 1.5rem;
  row-gap: 1rem;
}
.vp-users-info-grid > div {
  min-width: 0;
  padding-bottom: .8rem;
  border-bottom: 1px solid #edf1f6;
}
.vp-users-info-grid span,
.vp-users-status-lines span {
  display: block;
  margin-bottom: .3rem;
  color: #64748b;
  font-size: .78rem;
  font-weight: 600;
}
.vp-users-info-grid strong,
.vp-users-status-lines strong {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
  color: #0f172a;
  font-weight: 700;
}
.vp-users-detail-bottom {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(12rem, .95fr);
  gap: 1rem;
}
.vp-users-status-lines {
  display: flex;
  flex-direction: column;
  gap: .9rem;
  margin-top: 1.25rem;
}
.vp-users-status-lines > div {
  display: grid;
  grid-template-columns: minmax(5.5rem, .8fr) minmax(0, 1fr);
  gap: .75rem;
  align-items: center;
}
.vp-users-action-stack {
  display: flex;
  flex-direction: column;
  gap: .55rem;
  margin-top: 1.25rem;
}
.vp-users-action-stack .btn {
  justify-content: flex-start;
  min-height: 2.55rem;
  border-radius: .75rem;
  font-weight: 700;
}
@media (max-width: 1399.98px) {
  .vp-users-master-detail {
    grid-template-columns: minmax(34rem, 1fr) minmax(22rem, 33rem);
  }
}
@media (max-width: 1199.98px) {
  .vp-users-toolbar {
    grid-template-columns: minmax(16rem, 1fr) repeat(2, minmax(9rem, 1fr)) auto auto;
  }
  .vp-users-sort {
    display: none;
  }
  .vp-users-master-detail {
    grid-template-columns: 1fr;
  }
  .vp-users-detail {
    position: static;
    order: -1;
  }
}
@media (max-width: 767.98px) {
  .vp-users-toolbar {
    grid-template-columns: 1fr;
  }
  .vp-users-toolbar .btn,
  .vp-users-toolbar .form-select {
    width: 100%;
  }
  .vp-users-table thead th,
  .vp-users-table tbody td {
    padding-inline: .8rem;
  }
  .vp-users-person {
    min-width: 13rem;
  }
  .vp-users-list-footer {
    align-items: flex-start;
    flex-direction: column;
  }
  .vp-users-list-footer .pagination {
    margin-left: 0 !important;
  }
  .vp-users-detail-head {
    padding: 1.25rem 1rem 1rem;
  }
  .vp-users-detail-tabs {
    padding-inline: 1rem;
  }
  .vp-users-info-grid,
  .vp-users-detail-bottom {
    grid-template-columns: 1fr;
  }
  .vp-users-status-lines > div {
    grid-template-columns: 1fr;
    gap: .1rem;
  }
}

/* v53: Benutzerdetails nutzen echte Tabler Tabs; Tabellen-Dropdowns bleiben sichtbar. */
.vp-users-detail-tabs.nav-tabs {
  display: flex;
  flex-wrap: nowrap;
  gap: 0;
  padding: 0 1.05rem;
  border-bottom: 1px solid var(--vp-users-border);
  overflow-x: auto;
}
.vp-users-detail-tabs.nav-tabs .nav-item {
  flex: 0 0 auto;
}
.vp-users-detail-tabs.nav-tabs .nav-link {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  min-height: 3rem;
  color: #475569;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  background: transparent;
  font-weight: 600;
  white-space: nowrap;
}
.vp-users-detail-tabs.nav-tabs .nav-link:hover,
.vp-users-detail-tabs.nav-tabs .nav-link.active {
  color: var(--tblr-primary);
  border-bottom-color: var(--tblr-primary);
  background: transparent;
}
.vp-users-detail-tab-content > .tab-pane {
  outline: 0;
}
.vp-users-detail-role-list {
  min-height: 2rem;
}
@media (min-width: 992px) {
  .vp-users-table-wrap.table-responsive {
    overflow: visible;
  }
}
@media (max-width: 991.98px) {
  .vp-users-table-wrap.table-responsive {
    overflow-x: auto;
    overflow-y: visible;
  }
}

/* v54: Globale Admin-/Portal-Optik an /users angeglichen. */
.page-wrapper {
  background:
    radial-gradient(circle at 80% 0%, rgba(32, 107, 196, .055), transparent 26rem),
    linear-gradient(180deg, #fbfdff 0%, #f8fafc 42%, #ffffff 100%);
}
.page-wrapper > .page-body {
  padding-top: .55rem;
}
.page-wrapper > .page-body > .container-fluid {
  max-width: none;
}
.page-wrapper .page-header:not(.vp-users-page-header) {
  margin: 0 0 .75rem;
  padding: .1rem 0 .2rem;
}
.page-wrapper .page-header:not(.vp-users-page-header) .page-title {
  margin-bottom: .25rem;
  color: #0f172a;
}
.page-wrapper .page-header:not(.vp-users-page-header) .text-secondary,
.page-wrapper .page-header:not(.vp-users-page-header) .text-muted {
  color: #64748b !important;
}
.page-wrapper .card,
.page-wrapper .empty.card,
.page-wrapper form.card {
  border: 1px solid #e4eaf2;
  border-radius: 1.05rem;
  background: #fff;
  box-shadow: 0 1rem 2.8rem rgba(15, 23, 42, .045);
}
.page-wrapper .card-sm {
  border-radius: 1rem;
}
.page-wrapper .card-header {
  min-height: 3.75rem;
  border-bottom: 1px solid #e4eaf2;
  background: linear-gradient(180deg, #fff, #fbfdff);
  border-radius: 1.05rem 1.05rem 0 0;
}
.page-wrapper .card-title {
  color: #0f172a;
}
.page-wrapper .card-body,
.page-wrapper .card-footer {
  border-color: #e4eaf2;
}
.page-wrapper .card-footer {
  background: #fff;
  border-radius: 0 0 1.05rem 1.05rem;
}
.page-wrapper .table-responsive {
  border-radius: 1.05rem;
}
.page-wrapper .card > .table-responsive:first-child {
  border-radius: 1.05rem 1.05rem 0 0;
}
.page-wrapper .table.card-table,
.page-wrapper .card-table {
  margin-bottom: 0;
  border-collapse: separate;
  border-spacing: 0;
}
.page-wrapper .card-table thead th {
  padding: .95rem 1rem;
  color: #475569;
  background: rgba(248, 250, 252, .76);
  border-bottom: 1px solid #e4eaf2;
  text-transform: none;
}
.page-wrapper .card-table tbody td {
  padding: .86rem 1rem;
  border-bottom: 1px solid #edf1f6;
  vertical-align: middle;
}
.page-wrapper .card-table tbody tr {
  transition: background-color .16s ease, box-shadow .16s ease;
}
.page-wrapper .card-table tbody tr:hover {
  background: #f8fbff;
}
.page-wrapper .badge {
  border-radius: .45rem;
}
.page-wrapper .btn {
  border-radius: .78rem;
}
.page-wrapper .btn-primary {
  box-shadow: 0 .75rem 1.6rem rgba(32, 107, 196, .18);
}
.page-wrapper .btn:not(.btn-link):not(.btn-ghost):not(.btn-primary) {
  border-color: #e4eaf2;
  box-shadow: 0 .45rem 1.25rem rgba(15, 23, 42, .035);
}
.page-wrapper .form-control,
.page-wrapper .form-select,
.page-wrapper .input-group-text {
  min-height: 2.65rem;
  border-color: #e4eaf2;
  border-radius: .85rem;
  box-shadow: 0 .45rem 1.25rem rgba(15, 23, 42, .025);
}
.page-wrapper textarea.form-control {
  min-height: 7rem;
}
.page-wrapper .input-icon .form-control {
  border-radius: .85rem;
}
.page-wrapper .list-group-item {
  border-color: #edf1f6;
}
.page-wrapper .empty {
  padding: 2.25rem 1.25rem;
}
.page-wrapper .empty-title {
  color: #0f172a;
}
.page-wrapper .empty-subtitle {
  color: #64748b !important;
}
.page-wrapper .avatar.bg-primary-lt,
.page-wrapper .vp-avatar {
  box-shadow: 0 .75rem 1.7rem rgba(32, 107, 196, .15);
}
.page-wrapper .row-cards > [class*="col"] > .card {
  height: 100%;
}
.page-wrapper .subheader {
  color: #64748b;
}
.page-wrapper .h1,
.page-wrapper .h2,
.page-wrapper .h3,
.page-wrapper .font-weight-medium {
  color: #0f172a;
}
.page-wrapper .dropdown-menu {
  border: 1px solid #e4eaf2;
  border-radius: .9rem;
  box-shadow: 0 1.25rem 3rem rgba(15, 23, 42, .18);
}
.page-wrapper .dropdown-item {
  border-radius: .65rem;
}
.page-wrapper .modal-content {
  border: 1px solid #e4eaf2;
  border-radius: 1.05rem;
  box-shadow: 0 1.5rem 4rem rgba(15, 23, 42, .20);
}
.page-wrapper .nav-tabs .nav-link {
}
.vp-table-actions .btn,
.page-wrapper td .btn-sm {
  min-height: 2.25rem;
}
@media (max-width: 767.98px) {
  .page-wrapper > .page-body {
    padding-top: .9rem;
  }
  .page-wrapper .page-header:not(.vp-users-page-header) .row {
    gap: .75rem;
  }
  .page-wrapper .page-header:not(.vp-users-page-header) .col-auto,
  .page-wrapper .page-header:not(.vp-users-page-header) .btn-list,
  .page-wrapper .page-header:not(.vp-users-page-header) .btn {
    width: 100%;
  }
  .page-wrapper .card-table thead th,
  .page-wrapper .card-table tbody td {
    padding-inline: .8rem;
  }
}

/* v56: Rollenverwaltung nutzt das Master-Detail-Layout der Benutzerverwaltung. */
.vp-roles-page-body .vp-users-toolbar {
  grid-template-columns: minmax(18rem, 1fr) minmax(11rem, 14rem) auto auto;
}
.vp-roles-master-detail {
  grid-template-columns: minmax(32rem, 1fr) minmax(24rem, 36vw);
}
.vp-roles-table .avatar,
.vp-roles-user-list .avatar {
  font-weight: 700;
}
.vp-roles-permission-list {
  gap: .45rem;
}
.vp-roles-permission-list .badge {
  max-width: 100%;
  white-space: normal;
  text-align: left;
}
.vp-roles-user-list .list-group-item {
  border-color: #edf1f6;
  border-radius: .75rem;
  margin-bottom: .45rem;
}
.vp-roles-user-list .list-group-item:last-child {
  margin-bottom: 0;
}
.vp-roles-detail .vp-users-detail-head {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}
.vp-roles-detail .vp-users-detail-title {
  min-width: 0;
  flex: 1 1 auto;
}
.vp-roles-detail .vp-users-detail-title h3 {
  margin: 0;
  color: #0f172a;
  letter-spacing: -.02em;
}
.vp-roles-detail .vp-users-detail-title p {
  margin: 0;
  color: #64748b;
}
@media (max-width: 1199.98px) {
  .vp-roles-master-detail {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 767.98px) {
  .vp-roles-page-body .vp-users-toolbar {
    grid-template-columns: 1fr;
  }
  .vp-roles-detail .vp-users-detail-head {
    flex-direction: column;
  }
  .vp-roles-detail .vp-users-detail-head > .btn {
    width: 100%;
  }
}

/* v58: Rollenverwaltung kritisch an /users angeglichen. */
.vp-roles-page-body .vp-users-toolbar {
  grid-template-columns: minmax(18rem, 1fr) minmax(10rem, 12rem) auto auto;
}
.vp-roles-master-detail {
  grid-template-columns: minmax(36rem, 1fr) minmax(23rem, 36vw);
}
.vp-roles-list .vp-users-table-wrap {
  border-radius: 1.05rem;
}
.vp-roles-table .vp-users-person {
  min-width: 16rem;
}
.vp-roles-table .vp-users-action-cell .btn-icon,
.vp-roles-detail .vp-users-action-dropdown .btn-icon {
  min-width: 2.5rem;
  min-height: 2.5rem;
}
.vp-roles-detail .vp-users-detail-head .vp-status-badge {
  white-space: nowrap;
}
.vp-roles-user-list .list-group-item {
  border-radius: .85rem;
  margin-bottom: .35rem;
  border: 1px solid #edf1f6;
}
.vp-roles-user-list .list-group-item:last-child {
  margin-bottom: 0;
}
.vp-roles-user-list .avatar {
  font-weight: 700;
}
@media (max-width: 1399.98px) {
  .vp-roles-master-detail {
    grid-template-columns: minmax(34rem, 1fr) minmax(22rem, 33rem);
  }
}
@media (max-width: 1199.98px) {
  .vp-roles-page-body .vp-users-toolbar,
  .vp-roles-master-detail {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 767.98px) {
  .vp-roles-table .vp-users-person {
    min-width: 13rem;
  }
  .vp-roles-detail .vp-users-detail-head .d-flex {
    align-items: flex-start !important;
  }
}

/* v67: Portal settings section navigation repair. Keep active state contained inside the card. */
.vp-settings-nav-card {
  overflow: hidden;
  border-radius: var(--tblr-border-radius-xl);
}
.vp-settings-nav {
  min-width: 0;
}
.vp-settings-nav .nav-link {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  min-height: 2.75rem;
  width: 100%;
  border-radius: var(--tblr-border-radius-lg);
  color: var(--tblr-body-color);
  font-weight: 500;
  line-height: 1.2;
  white-space: normal;
}
.vp-settings-nav .nav-link .vp-icon {
  flex: 0 0 auto;
}
.vp-settings-nav .nav-link:not(.active):hover {
  background: var(--tblr-gray-100);
  color: var(--tblr-primary);
}
.vp-settings-nav .nav-link.active {
  background: var(--tblr-primary-lt);
  color: var(--tblr-primary);
  box-shadow: inset 3px 0 0 var(--tblr-primary);
}
@media (max-width: 991.98px) {
  .vp-settings-nav-card.position-sticky {
    position: static !important;
  }
  .vp-settings-nav {
    flex-direction: row !important;
    overflow-x: auto;
    padding-bottom: .1rem;
    scrollbar-width: thin;
  }
  .vp-settings-nav .nav-link {
    width: auto;
    min-width: max-content;
    padding-inline: .85rem;
  }
}

/* v74: Account password policy live validation. */
.vp-password-policy-list .status-dot {
  flex: 0 0 auto;
}
.input-group.is-valid {
  box-shadow: 0 0 0 .0625rem var(--tblr-success);
  border-radius: var(--tblr-border-radius);
}
.input-group.is-invalid {
  box-shadow: 0 0 0 .0625rem var(--tblr-danger);
  border-radius: var(--tblr-border-radius);
}


/* v022: Fachmodule rendern innerhalb des bestehenden App-Layouts stabil.
   Die generischen Fachviews nutzen die /users-Optik, haben aber je Modul mehr Filter
   und Widgets. Diese Overrides verhindern Überläufe, verschobene Inhalte und zu breite
   Toolbars bei allen Modulrouten. */
.vp-module-page-header,
.vp-module-page-body {
  width: 100%;
  min-width: 0;
}
.vp-module-page-header > .container-fluid,
.vp-module-page-body > .container-fluid {
  max-width: none;
  min-width: 0;
  padding-left: 0;
  padding-right: 0;
}
.vp-module-page-body .row,
.vp-module-page-body [class*="col-"] {
  min-width: 0;
}
.vp-module-toolbar.vp-users-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  align-items: center;
  width: 100%;
  min-width: 0;
}
.vp-module-toolbar .vp-users-search {
  flex: 1 1 22rem;
  min-width: min(22rem, 100%);
}
.vp-module-toolbar .vp-users-filter,
.vp-module-toolbar .vp-users-sort {
  flex: 1 1 12rem;
  min-width: 10rem;
  max-width: 18rem;
}
.vp-module-toolbar .vp-users-filter-btn,
.vp-module-toolbar .btn-icon {
  flex: 0 0 auto;
}
.vp-module-page-body .vp-users-table-wrap {
  max-width: 100%;
  overflow-x: auto;
  overflow-y: visible;
}
.vp-module-page-body .vp-users-table {
  min-width: 920px;
}
.vp-module-page-body .card,
.vp-module-page-body .table-responsive {
  min-width: 0;
}
@media (max-width: 767.98px) {
  .vp-module-toolbar .vp-users-search,
  .vp-module-toolbar .vp-users-filter,
  .vp-module-toolbar .vp-users-sort,
  .vp-module-toolbar .vp-users-filter-btn,
  .vp-module-toolbar .btn-icon {
    flex: 1 1 100%;
    max-width: none;
    width: 100%;
  }
  .vp-module-page-body .vp-users-table {
    min-width: 760px;
  }
}

/* V023 Mitgliederverwaltung */
.vp-members-page > .container-fluid,
.vp-members-header > .container-fluid {
  max-width: none;
  min-width: 0;
}
.vp-members-toolbar.vp-users-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  align-items: center;
}
.vp-members-toolbar .vp-users-search {
  flex: 1 1 22rem;
  min-width: min(22rem, 100%);
}
.vp-members-toolbar .vp-users-filter,
.vp-members-toolbar .vp-users-sort {
  flex: 1 1 11rem;
  min-width: 10rem;
  max-width: 17rem;
}
.vp-members-table {
  min-width: 1180px;
}
.vp-members-detail-card .nav-tabs {
  flex-wrap: wrap;
}
.vp-members-detail-card .tab-content,
.vp-members-form .tab-content {
  min-height: 22rem;
}
.vp-members-page .vp-users-info-card {
  background: var(--tblr-bg-surface, #fff);
  border: 1px solid var(--tblr-border-color, #e6e7e9);
  border-radius: .75rem;
  padding: 1rem;
}
.vp-members-page .vp-users-info-card__head {
  display: flex;
  align-items: center;
  gap: .75rem;
  justify-content: space-between;
}
.vp-members-page .vp-users-info-grid {
  display: grid;
  gap: .85rem;
  grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
  margin-top: .75rem;
}
.vp-members-page .vp-users-info-grid span,
.vp-members-page .vp-users-status-lines span {
  color: var(--tblr-muted, #667085);
  display: block;
  font-size: .78rem;
}
.vp-members-page .vp-users-status-lines {
  display: grid;
  gap: .75rem;
}
.vp-members-page .vp-users-action-stack {
  display: grid;
  gap: .6rem;
}
@media (max-width: 767.98px) {
  .vp-members-toolbar .vp-users-search,
  .vp-members-toolbar .vp-users-filter,
  .vp-members-toolbar .vp-users-sort,
  .vp-members-toolbar .vp-users-filter-btn,
  .vp-members-toolbar .btn-icon {
    flex: 1 1 100%;
    max-width: none;
    width: 100%;
  }
  .vp-members-table {
    min-width: 980px;
  }
  .vp-members-detail-card .card-body.tab-content,
  .vp-members-form .card-body.tab-content {
    padding: .85rem;
  }
}

/* V025 Prozessarbeitsplätze für Fachmodule */
.vp-process-page .card { border-color: rgba(18, 38, 63, .08); }
.vp-process-primary-card { background: linear-gradient(135deg, rgba(32, 107, 196, .08), rgba(255,255,255,.95)); }
.vp-process-stepper { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: .75rem; }
.vp-process-step { position: relative; padding: .85rem .85rem .85rem 2.65rem; border: 1px solid rgba(98,105,118,.16); border-radius: .75rem; background: rgba(255,255,255,.86); min-height: 90px; }
.vp-process-step-no { position: absolute; left: .75rem; top: .85rem; width: 1.65rem; height: 1.65rem; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; background: rgba(32,107,196,.12); color: var(--tblr-primary, #206bc4); font-weight: 700; font-size: .8rem; }
.vp-process-action-card { display: block; padding: .9rem; border: 1px solid rgba(98,105,118,.18); border-radius: .8rem; background: #fff; box-shadow: 0 1px 2px rgba(18,38,63,.03); }
.vp-process-action-card:hover { border-color: rgba(32,107,196,.45); box-shadow: 0 .35rem 1.25rem rgba(18,38,63,.06); }
.vp-process-action-stack { display: grid; gap: .75rem; }
.vp-process-worklist .card-header { border-bottom: 1px solid rgba(98,105,118,.12); }
.vp-process-worklist-item { padding: .55rem 0; border-bottom: 1px solid rgba(98,105,118,.12); }
.vp-process-worklist-item:last-child { border-bottom: 0; }
.vp-process-table .card-header { gap: 1rem; flex-wrap: wrap; }
.vp-process-table .table td { vertical-align: middle; }
@media (max-width: 767.98px) {
  .vp-process-stepper { grid-template-columns: 1fr; }
  .vp-process-table .card-header .ms-auto { margin-left: 0 !important; width: 100%; }
  .vp-process-table .card-header .ms-auto .form-select { flex: 1 1 auto; min-width: 0; }
  .vp-process-actions .col-md-6 { margin-bottom: .25rem; }
}

/* V026: Mitgliederverwaltung als moderne Tabler-basierte SaaS-Oberfläche. */
.vp-members-saas-page,
.vp-members-saas-header {
  --vp-members-blue: #1f5eff;
  --vp-members-blue-soft: rgba(31, 94, 255, .085);
  --vp-members-ink: #0f172a;
  --vp-members-muted: #667085;
  --vp-members-border: rgba(15, 23, 42, .09);
  --vp-members-border-strong: rgba(15, 23, 42, .14);
  --vp-members-surface: rgba(255, 255, 255, .92);
  --vp-members-soft: #f6f8fb;
  --vp-members-shadow: 0 1.25rem 3rem rgba(15, 23, 42, .08);
  --vp-members-shadow-soft: 0 .8rem 2rem rgba(15, 23, 42, .055);
  color: var(--vp-members-ink);
}
.vp-members-saas-page > .container-fluid,
.vp-members-saas-header > .container-fluid,
.vp-members-page-body > .container-fluid {
  max-width: 1540px;
  min-width: 0;
}
.vp-members-saas-header { margin-bottom: 0; }
.vp-members-saas-page .card,
.vp-members-saas-header .card {
  border: 1px solid var(--vp-members-border);
  border-radius: 1.15rem;
  box-shadow: var(--vp-members-shadow-soft);
}
.vp-members-saas-page .btn,
.vp-members-saas-header .btn {
  min-height: 2.65rem;
  border-radius: .85rem;
  font-weight: 700;
}
.vp-members-saas-page .btn-white,
.vp-members-saas-header .btn-white {
  background: rgba(255,255,255,.86);
  border-color: var(--vp-members-border);
  box-shadow: 0 .25rem .9rem rgba(15, 23, 42, .035);
}
.vp-members-saas-page .btn-white:hover,
.vp-members-saas-header .btn-white:hover {
  border-color: rgba(31, 94, 255, .28);
  color: var(--vp-members-blue);
  box-shadow: 0 .55rem 1.25rem rgba(15, 23, 42, .075);
}
.vp-members-primary-action,
.vp-members-saas-page .btn-primary,
.vp-members-saas-header .btn-primary {
  background: linear-gradient(135deg, #1f5eff, #1748d2);
  border-color: #1f5eff;
  box-shadow: 0 .8rem 1.8rem rgba(31, 94, 255, .22);
}
.vp-members-saas-page .form-control,
.vp-members-saas-page .form-select,
.vp-members-saas-header .form-control,
.vp-members-saas-header .form-select {
  min-height: 2.7rem;
  border-radius: .85rem;
  border-color: var(--vp-members-border);
  box-shadow: none;
}
.vp-members-saas-page .form-control:focus,
.vp-members-saas-page .form-select:focus {
  border-color: rgba(31, 94, 255, .55);
  box-shadow: 0 0 0 .2rem rgba(31, 94, 255, .11);
}
.vp-members-saas-page .vp-icon,
.vp-members-saas-header .vp-icon { width: 1rem; height: 1rem; }
.vp-members-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  color: var(--vp-members-blue);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .035em;
  text-transform: uppercase;
}
.vp-members-hero,
.vp-members-form-hero,
.vp-members-dossier-hero {
  position: relative;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 1.25rem;
  padding: 1.45rem;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 10%, rgba(31, 94, 255, .15), transparent 34rem),
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(248, 251, 255, .92));
}
.vp-members-hero::after,
.vp-members-form-hero::after,
.vp-members-dossier-hero::after {
  content: "";
  position: absolute;
  right: -7rem;
  top: -8rem;
  width: 20rem;
  height: 20rem;
  border-radius: 999px;
  background: rgba(31, 94, 255, .075);
  pointer-events: none;
}
.vp-members-hero h1,
.vp-members-form-hero h1,
.vp-members-dossier-hero h1 {
  margin: .3rem 0 .35rem;
  color: var(--vp-members-ink);
  font-size: clamp(1.75rem, 3vw, 2.35rem);
  font-weight: 850;
  letter-spacing: -.04em;
  line-height: 1.05;
}
.vp-members-hero p,
.vp-members-form-hero p,
.vp-members-dossier-hero p {
  max-width: 44rem;
  margin: 0;
  color: var(--vp-members-muted);
  font-size: .98rem;
  line-height: 1.6;
}
.vp-members-hero__copy,
.vp-members-dossier-hero__main { min-width: 0; position: relative; z-index: 1; }
.vp-members-hero__actions,
.vp-members-dossier-hero__actions {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  justify-content: flex-end;
  gap: .65rem;
  min-width: min(28rem, 100%);
}
.vp-members-hero__signals {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin-top: .95rem;
}
.vp-members-pill {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  border: 1px solid rgba(15, 23, 42, .045);
  border-radius: 999px;
  padding: .42rem .62rem;
  font-weight: 800;
  letter-spacing: -.01em;
}
.vp-members-command-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(22rem, 28rem);
  gap: 1rem;
  margin-bottom: 1rem;
}
.vp-members-kpi-panel {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}
.vp-members-metric-card {
  position: relative;
  min-height: 10.25rem;
  padding: 1.15rem;
  border: 1px solid var(--vp-members-border);
  border-radius: 1.1rem;
  background: rgba(255,255,255,.88);
  box-shadow: var(--vp-members-shadow-soft);
  overflow: hidden;
}
.vp-members-metric-card::after {
  content: "";
  position: absolute;
  right: -2.25rem;
  bottom: -2.25rem;
  width: 7rem;
  height: 7rem;
  border-radius: 999px;
  background: rgba(31, 94, 255, .055);
}
.vp-members-metric-card.is-primary {
  background: linear-gradient(135deg, rgba(31, 94, 255, .13), rgba(255,255,255,.92));
}
.vp-members-metric-card span,
.vp-members-mini-kpi span,
.vp-members-info-grid span,
.vp-members-status-stack span {
  display: block;
  color: var(--vp-members-muted);
  font-size: .78rem;
  font-weight: 800;
}
.vp-members-metric-card strong {
  display: block;
  margin-top: .55rem;
  color: var(--vp-members-ink);
  font-size: 2.15rem;
  font-weight: 850;
  letter-spacing: -.045em;
}
.vp-members-metric-card small { color: var(--vp-members-muted); font-weight: 650; }
.vp-members-metric-icon {
  display: inline-flex;
  width: 2.35rem;
  height: 2.35rem;
  align-items: center;
  justify-content: center;
  margin-bottom: .8rem;
  border-radius: .9rem;
  color: var(--vp-members-blue);
  background: var(--vp-members-blue-soft);
}
.vp-members-metric-icon .vp-icon { width: 1.15rem; height: 1.15rem; }
.vp-members-worklist .card-body { padding: 1.15rem; }
.vp-members-worklist__items { display: grid; gap: .55rem; }
.vp-members-workitem {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .75rem .85rem;
  color: inherit;
  border: 1px solid rgba(15, 23, 42, .07);
  border-radius: .9rem;
  text-decoration: none;
  background: rgba(248, 250, 252, .85);
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}
.vp-members-workitem:hover {
  color: var(--vp-members-blue);
  text-decoration: none;
  border-color: rgba(31, 94, 255, .25);
  background: #fff;
  box-shadow: 0 .7rem 1.4rem rgba(15, 23, 42, .06);
  transform: translateY(-1px);
}
.vp-members-workitem span { display: inline-flex; align-items: center; gap: .5rem; font-weight: 750; }
.vp-members-workitem strong { font-size: 1.15rem; }
.vp-members-commandbar {
  position: sticky;
  top: .75rem;
  z-index: 12;
  display: grid;
  gap: .8rem;
  padding: .9rem;
  margin-bottom: 1rem;
  background: rgba(255, 255, 255, .86);
  backdrop-filter: blur(12px);
}
.vp-members-search .form-control {
  min-height: 3.15rem;
  padding-left: 3rem;
  font-size: 1rem;
  font-weight: 650;
  background: #fff;
}
.vp-members-search .input-icon-addon { width: 3rem; }
.vp-members-filter-row {
  display: grid;
  grid-template-columns: repeat(6, minmax(9rem, 1fr));
  gap: .65rem;
}
.vp-members-commandbar__footer,
.vp-members-bulkbar,
.vp-members-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .8rem;
}
.vp-members-filterchips { display: flex; flex-wrap: wrap; gap: .45rem; min-width: 0; }
.vp-members-filterchip {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  min-height: 2rem;
  padding: .35rem .65rem;
  border-radius: 999px;
  color: #1e293b;
  background: #f1f5f9;
  font-size: .8rem;
  font-weight: 750;
}
.vp-members-filterchip span { color: var(--vp-members-muted); font-weight: 800; }
.vp-members-filterchip.is-muted { color: var(--vp-members-muted); }
.vp-members-bulkbar {
  padding: .8rem .95rem;
  margin-bottom: 1rem;
  background: linear-gradient(135deg, rgba(31, 94, 255, .055), rgba(255,255,255,.92));
}
.vp-members-bulkbar__copy { display: flex; flex-direction: column; line-height: 1.25; }
.vp-members-bulkbar__copy span { color: var(--vp-members-muted); font-size: .82rem; }
.vp-members-bulkbar .form-select { max-width: 18rem; }
.vp-members-list-card { overflow: hidden; background: var(--vp-members-surface); }
.vp-members-list-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.1rem 1.15rem .8rem;
  border-bottom: 1px solid rgba(15, 23, 42, .06);
}
.vp-members-list-card__hint {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  color: var(--vp-members-muted);
  font-size: .82rem;
  font-weight: 750;
}
.vp-members-table-wrap { overflow-x: auto; }
.vp-members-table-modern {
  min-width: 1120px;
  margin: 0;
  border-collapse: separate;
  border-spacing: 0 .32rem;
  padding: .35rem .7rem .7rem;
}
.vp-members-table-modern thead th {
  padding: .65rem .75rem;
  color: var(--vp-members-muted);
  border: 0;
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.vp-members-table-modern tbody td {
  padding: .8rem .75rem;
  border-top: 1px solid rgba(15, 23, 42, .045);
  border-bottom: 1px solid rgba(15, 23, 42, .045);
  background: #fff;
  vertical-align: middle;
}
.vp-members-table-modern tbody tr td:first-child { border-left: 1px solid rgba(15, 23, 42, .045); border-radius: .95rem 0 0 .95rem; }
.vp-members-table-modern tbody tr td:last-child { border-right: 1px solid rgba(15, 23, 42, .045); border-radius: 0 .95rem .95rem 0; }
.vp-members-table-modern tbody tr { transition: transform .16s ease, box-shadow .16s ease; }
.vp-members-table-modern tbody tr:hover td {
  border-color: rgba(31, 94, 255, .18);
  background: linear-gradient(90deg, rgba(31, 94, 255, .035), #fff);
  box-shadow: 0 .7rem 1.25rem rgba(15, 23, 42, .04);
}
.vp-members-person {
  display: inline-flex;
  align-items: center;
  gap: .75rem;
  min-width: 15rem;
  color: inherit;
  text-decoration: none;
}
.vp-members-person:hover { color: var(--vp-members-blue); text-decoration: none; }
.vp-members-avatar,
.vp-members-avatar-lg,
.vp-members-dossier-avatar,
.vp-members-preview-avatar {
  color: #fff;
  background: linear-gradient(135deg, #1f5eff, #63a2ff);
  box-shadow: 0 .6rem 1.5rem rgba(31, 94, 255, .22);
  font-weight: 850;
}
.vp-members-avatar { width: 2.45rem; height: 2.45rem; flex: 0 0 2.45rem; }
.vp-members-avatar-lg { width: 3.4rem; height: 3.4rem; }
.vp-members-person__copy { min-width: 0; display: flex; flex-direction: column; line-height: 1.25; }
.vp-members-person__copy strong { overflow: hidden; max-width: 15rem; text-overflow: ellipsis; white-space: nowrap; }
.vp-members-person__copy span,
.vp-members-contact-cell small { color: var(--vp-members-muted); font-size: .8rem; font-weight: 650; }
.vp-members-muted-strong { font-weight: 750; color: #334155; }
.vp-members-contact-cell { display: grid; gap: .15rem; max-width: 14rem; }
.vp-members-contact-cell span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vp-members-dropdown { border-radius: .95rem; padding: .4rem; border-color: var(--vp-members-border); box-shadow: 0 1.4rem 3rem rgba(15,23,42,.16); }
.vp-members-dropdown .dropdown-item { display: flex; align-items: center; gap: .55rem; border-radius: .68rem; font-weight: 700; }
.vp-members-pagination { min-height: 4.5rem; border-top: 1px solid rgba(15,23,42,.06); background: #fff; }
.vp-members-pagination .page-link { border-radius: .7rem; }
.vp-members-mobile-list { display: none; padding: 0 1rem 1rem; }
.vp-members-mobile-card { padding: 1rem; border: 1px solid var(--vp-members-border); border-radius: 1rem; background: #fff; box-shadow: var(--vp-members-shadow-soft); }
.vp-members-mobile-card + .vp-members-mobile-card { margin-top: .75rem; }
.vp-members-mobile-card h3 { margin: 0; font-size: 1rem; }
.vp-members-mobile-card p { margin: .2rem 0 .6rem; color: var(--vp-members-muted); }
.vp-members-empty-state { padding: 3rem 1rem; text-align: center; }
.vp-members-empty-state img { width: min(18rem, 70vw); max-height: 13rem; margin-bottom: 1rem; }
.vp-members-empty-state h2,
.vp-members-empty-inline h3 { color: var(--vp-members-ink); font-weight: 850; letter-spacing: -.025em; }
.vp-members-empty-state p,
.vp-members-empty-inline p { max-width: 36rem; margin-inline: auto; color: var(--vp-members-muted); }
.vp-members-offcanvas { width: min(31rem, 100vw); border-left: 1px solid var(--vp-members-border); }
.vp-members-offcanvas .offcanvas-header { align-items: flex-start; padding: 1.35rem; border-bottom: 1px solid rgba(15,23,42,.06); }
.vp-members-offcanvas .offcanvas-body { padding: 1.35rem; }
.vp-members-offcanvas-footer { display: grid; gap: .65rem; padding: 1rem 1.35rem 1.35rem; border-top: 1px solid rgba(15,23,42,.06); }
.vp-members-preview-card { display: flex; align-items: center; gap: .9rem; padding: 1rem; border-radius: 1rem; background: linear-gradient(135deg, rgba(31,94,255,.09), rgba(255,255,255,.94)); }
.vp-members-preview-avatar { width: 3.5rem; height: 3.5rem; font-size: 1rem; }
.vp-members-preview-card h3 { margin: 0; font-size: 1.2rem; font-weight: 850; }
.vp-members-preview-card p { margin: .2rem 0 0; color: var(--vp-members-muted); }
.vp-members-preview-badges { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: 1rem; }
.vp-members-form-hero__summary {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: .8rem;
  min-width: 20rem;
  padding: .9rem 1rem;
  border: 1px solid rgba(15,23,42,.07);
  border-radius: 1rem;
  background: rgba(255,255,255,.72);
  box-shadow: 0 .75rem 1.75rem rgba(15,23,42,.055);
}
.vp-members-form-hero__summary strong,
.vp-members-form-hero__summary span { display: block; }
.vp-members-form-hero__summary span { color: var(--vp-members-muted); font-size: .82rem; }
.vp-members-back-link {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  margin-bottom: .8rem;
  color: var(--vp-members-muted);
  font-weight: 750;
  text-decoration: none;
}
.vp-members-back-link:hover { color: var(--vp-members-blue); text-decoration: none; }
.vp-members-form-layout {
  display: grid;
  grid-template-columns: minmax(13rem, 16rem) minmax(0, 1fr);
  gap: 1rem;
  align-items: flex-start;
}
.vp-members-form-rail {
  position: sticky;
  top: 1rem;
  padding: .65rem;
}
.vp-members-form-rail a {
  display: flex;
  align-items: center;
  gap: .55rem;
  min-height: 2.75rem;
  padding: .65rem .75rem;
  color: #334155;
  border-radius: .82rem;
  font-weight: 800;
  text-decoration: none;
}
.vp-members-form-rail a:hover,
.vp-members-form-rail a.active { color: var(--vp-members-blue); background: var(--vp-members-blue-soft); text-decoration: none; }
.vp-members-form-rail__note { margin: .75rem; padding: .8rem; border-radius: .9rem; color: var(--vp-members-muted); background: #f8fafc; font-size: .82rem; font-weight: 650; }
.vp-members-form-modern { display: grid; gap: 1rem; min-width: 0; }
.vp-members-form-card { overflow: hidden; }
.vp-members-form-card .card-header { padding: 1.15rem 1.25rem; background: linear-gradient(180deg, #fff, #fbfdff); border-bottom-color: rgba(15,23,42,.06); }
.vp-members-form-card .card-header p { margin: .25rem 0 0; color: var(--vp-members-muted); }
.vp-members-form-card .card-body { padding: 1.25rem; }
.vp-members-check-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
  gap: .65rem;
}
.vp-members-check-grid .form-check,
.vp-members-toggle-card {
  display: flex;
  align-items: center;
  gap: .6rem;
  min-height: 3rem;
  padding: .7rem .85rem .7rem 2.35rem;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: .9rem;
  background: #fff;
}
.vp-members-sticky-save {
  position: sticky;
  bottom: 1rem;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .85rem 1rem;
  background: rgba(255,255,255,.9);
  backdrop-filter: blur(12px);
}
.vp-members-dossier-hero { align-items: center; }
.vp-members-dossier-avatar { width: 4.4rem; height: 4.4rem; flex: 0 0 4.4rem; font-size: 1.25rem; }
.vp-members-dossier-grid {
  display: grid;
  grid-template-columns: minmax(17rem, 23rem) minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
}
.vp-members-dossier-side { display: grid; gap: 1rem; position: sticky; top: 1rem; }
.vp-members-member-card .card-body { display: grid; gap: 1rem; }
.vp-members-quality-ring {
  --vp-quality: 0%;
  display: grid;
  place-items: center;
  width: 9rem;
  height: 9rem;
  margin-inline: auto;
  border-radius: 999px;
  background: conic-gradient(var(--vp-members-blue) var(--vp-quality), #e8edf6 0);
  box-shadow: inset 0 0 0 .75rem #fff, 0 .75rem 1.5rem rgba(15,23,42,.07);
}
.vp-members-quality-ring strong { font-size: 1.45rem; font-weight: 850; }
.vp-members-quality-ring span { color: var(--vp-members-muted); font-size: .72rem; font-weight: 800; }
.vp-members-side-facts { display: grid; gap: .65rem; }
.vp-members-dossier-main { min-width: 0; }
.vp-members-dossier-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin-bottom: 1rem;
}
.vp-members-mini-kpi {
  padding: 1rem;
  border: 1px solid var(--vp-members-border);
  border-radius: 1rem;
  background: #fff;
  box-shadow: var(--vp-members-shadow-soft);
}
.vp-members-mini-kpi strong { display: block; margin-top: .35rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 1.05rem; font-weight: 850; }
.vp-members-dossier-tabs-card { overflow: hidden; }
.vp-members-tabs-header { padding: 0 1rem; background: #fff; }
.vp-members-tabs {
  flex-wrap: nowrap;
  gap: .1rem;
  overflow-x: auto;
  border: 0;
}
.vp-members-tabs .nav-link {
  display: inline-flex;
  align-items: center;
  gap: .42rem;
  min-height: 3.3rem;
  color: #475569;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  background: transparent;
  font-weight: 800;
  white-space: nowrap;
}
.vp-members-tabs .nav-link:hover,
.vp-members-tabs .nav-link.active { color: var(--vp-members-blue); border-bottom-color: var(--vp-members-blue); background: transparent; }
.vp-members-dossier-tabbody { padding: 1.25rem; }
.vp-members-overview-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(17rem, .9fr);
  gap: 1rem;
}
.vp-members-soft-panel,
.vp-members-process-card {
  padding: 1rem;
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 1rem;
  background: #fff;
}
.vp-members-soft-panel h3,
.vp-members-process-card h3 { margin: 0 0 .8rem; font-size: 1rem; font-weight: 850; }
.vp-members-info-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}
.vp-members-info-item,
.vp-members-info-grid > div {
  position: relative;
  min-width: 0;
  padding: .85rem;
  border: 1px solid rgba(15,23,42,.065);
  border-radius: .9rem;
  background: #fff;
}
.vp-members-info-icon { display: inline-flex; margin-bottom: .45rem; color: var(--vp-members-blue); }
.vp-members-info-item strong,
.vp-members-info-grid strong,
.vp-members-status-stack strong {
  display: block;
  min-width: 0;
  margin-top: .25rem;
  color: var(--vp-members-ink);
  font-weight: 850;
  overflow-wrap: anywhere;
}
.vp-members-status-stack { display: grid; gap: .75rem; }
.vp-members-status-stack > div { padding: .85rem; border-radius: .9rem; background: #f8fafc; }
.vp-members-alert-card .alert { border-radius: .85rem; }
.vp-members-process-card p { color: var(--vp-members-muted); }
.vp-members-inner-table thead th { color: var(--vp-members-muted); font-size: .75rem; font-weight: 850; text-transform: uppercase; letter-spacing: .04em; }
.vp-members-inner-table tbody td { vertical-align: middle; }
.vp-members-upload { border-style: dashed !important; background: linear-gradient(135deg, rgba(31,94,255,.045), #fff); }
.vp-members-empty-inline { padding: 2rem 1rem; text-align: center; border: 1px dashed rgba(15,23,42,.14); border-radius: 1rem; background: #f8fafc; }
.vp-members-timeline { position: relative; display: grid; gap: .9rem; }
.vp-members-timeline-item { display: grid; grid-template-columns: 1.25rem minmax(0,1fr); gap: .8rem; align-items: start; }
.vp-members-timeline-dot { width: .75rem; height: .75rem; margin-top: .35rem; border-radius: 999px; background: var(--vp-members-blue); box-shadow: 0 0 0 .35rem rgba(31,94,255,.12); }
.vp-members-history-json { max-height: 12rem; margin: .5rem 0 0; padding: .7rem; overflow: auto; border-radius: .75rem; background: #f8fafc; color: #334155; font-size: .78rem; }
.vp-members-alert { border-radius: 1rem; }
.vp-members-contribution-layout,
.vp-members-stats-layout {
  display: grid;
  grid-template-columns: minmax(21rem, .85fr) minmax(0, 1.15fr);
  gap: 1rem;
  align-items: start;
}
.vp-members-progress { height: .55rem; border-radius: 999px; background: #edf2f7; }
.vp-members-progress .progress-bar { background: linear-gradient(90deg, #1f5eff, #63a2ff); border-radius: 999px; }
@media (max-width: 1399.98px) {
  .vp-members-kpi-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vp-members-filter-row { grid-template-columns: repeat(3, minmax(9rem, 1fr)); }
}
@media (max-width: 1199.98px) {
  .vp-members-command-grid,
  .vp-members-dossier-grid,
  .vp-members-form-layout,
  .vp-members-contribution-layout,
  .vp-members-stats-layout { grid-template-columns: 1fr; }
  .vp-members-dossier-side,
  .vp-members-form-rail { position: static; }
  .vp-members-form-rail { display: flex; flex-wrap: wrap; gap: .35rem; }
  .vp-members-form-rail a { flex: 1 1 12rem; }
  .vp-members-form-rail__note { flex: 1 1 100%; }
  .vp-members-dossier-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
  .vp-members-hero,
  .vp-members-form-hero,
  .vp-members-dossier-hero,
  .vp-members-commandbar__footer,
  .vp-members-bulkbar,
  .vp-members-pagination {
    flex-direction: column;
    align-items: stretch;
  }
  .vp-members-hero__actions,
  .vp-members-dossier-hero__actions,
  .vp-members-form-hero__summary { min-width: 0; justify-content: flex-start; }
  .vp-members-hero__actions .btn,
  .vp-members-dossier-hero__actions .btn,
  .vp-members-dossier-hero__actions form,
  .vp-members-dossier-hero__actions form .btn { width: 100%; }
  .vp-members-kpi-panel,
  .vp-members-filter-row,
  .vp-members-dossier-kpis,
  .vp-members-overview-layout,
  .vp-members-info-grid { grid-template-columns: 1fr; }
  .vp-members-commandbar { position: static; }
  .vp-members-table-wrap { display: none; }
  .vp-members-mobile-list { display: block; }
  .vp-members-bulkbar .form-select { max-width: none; width: 100%; }
  .vp-members-sticky-save { position: static; flex-direction: column; align-items: stretch; }
  .vp-members-sticky-save .btn-list,
  .vp-members-sticky-save .btn { width: 100%; }
  .vp-members-tabs-header { padding: 0 .5rem; }
  .vp-members-dossier-tabbody { padding: .9rem; }
}
@media (prefers-reduced-motion: reduce) {
  .vp-members-workitem,
  .vp-members-table-modern tbody tr,
  .vp-members-saas-page .btn,
  .vp-members-saas-header .btn { transition: none; }
}

/* V027: Mitgliederverwaltung an die bestehende /users-UI angeglichen. */
.vp-members-users-aligned {
  --vp-members-accent: var(--tblr-primary, #206bc4);
}
.vp-members-users-aligned > .container-fluid,
.vp-members-header > .container-fluid {
  max-width: none;
}
.vp-members-users-aligned .vp-members-toolbar.vp-users-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  align-items: center;
}
.vp-members-users-aligned .vp-members-toolbar .vp-users-search {
  flex: 1 1 23rem;
  min-width: min(23rem, 100%);
}
.vp-members-users-aligned .vp-members-toolbar .vp-users-filter,
.vp-members-users-aligned .vp-members-toolbar .vp-users-sort {
  flex: 1 1 10.5rem;
  min-width: 10rem;
  max-width: 15rem;
}
.vp-members-master-detail {
  grid-template-columns: minmax(43rem, 1fr) minmax(24rem, 34vw);
}
.vp-members-users-avatar {
  color: #fff;
  background: linear-gradient(135deg, var(--tblr-primary, #206bc4), #5aa7ff);
  font-weight: 800;
  box-shadow: 0 .7rem 1.6rem rgba(32, 107, 196, .18);
}
.vp-members-side-detail .vp-members-warning-list .alert,
.vp-members-detail-card-full .vp-members-warning-list .alert {
  border-radius: .75rem;
}
.vp-members-contact-mini {
  max-width: 13rem;
}
.vp-members-users-bulk {
  display: flex;
  align-items: center;
  gap: .8rem;
  margin-bottom: 1rem;
  padding: .75rem .9rem;
  border: 1px solid var(--vp-users-border, #e4eaf2);
  border-radius: 1.05rem;
  box-shadow: 0 1rem 2.8rem rgba(15, 23, 42, .04);
}
.vp-members-users-bulk__copy {
  display: flex;
  flex: 1 1 auto;
  min-width: 12rem;
  flex-direction: column;
  line-height: 1.25;
}
.vp-members-users-bulk__copy span {
  color: var(--vp-users-muted, #64748b);
  font-size: .82rem;
}
.vp-members-users-bulk .form-select {
  max-width: 20rem;
  border-radius: .85rem;
  border-color: var(--vp-users-border, #e4eaf2);
}
.vp-members-users-form {
  border: 1px solid var(--vp-users-border, #e4eaf2);
  border-radius: 1.05rem;
  box-shadow: 0 1rem 2.8rem rgba(15, 23, 42, .045);
  overflow: hidden;
}
.vp-members-users-form .card-header,
.vp-members-users-form .card-footer {
  background: #fff;
}
.vp-members-users-form .form-control,
.vp-members-users-form .form-select {
  min-height: 2.65rem;
  border-radius: .78rem;
  border-color: var(--vp-users-border, #e4eaf2);
}
.vp-members-users-checks {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
}
.vp-members-users-checks .form-check {
  min-height: 2.65rem;
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .55rem .8rem .55rem 2.2rem;
  border: 1px solid var(--vp-users-border, #e4eaf2);
  border-radius: .78rem;
  background: #fff;
}
.vp-members-detail-card-full {
  position: static;
  top: auto;
  overflow: hidden;
}
.vp-members-detail-card-full .vp-users-info-grid {
  grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
}
.vp-members-detail-card-full .tab-pane:not(.active),
.vp-members-users-form .tab-pane:not(.active) {
  display: none;
}
.vp-members-detail-card-full .tab-pane.active,
.vp-members-users-form .tab-pane.active {
  display: block;
}
@media (max-width: 1399.98px) {
  .vp-members-master-detail {
    grid-template-columns: minmax(38rem, 1fr) minmax(23rem, 32rem);
  }
}
@media (max-width: 1199.98px) {
  .vp-members-master-detail {
    grid-template-columns: 1fr;
  }
  .vp-members-side-detail {
    position: static;
    order: -1;
  }
}
@media (max-width: 767.98px) {
  .vp-members-users-aligned .vp-members-toolbar .vp-users-search,
  .vp-members-users-aligned .vp-members-toolbar .vp-users-filter,
  .vp-members-users-aligned .vp-members-toolbar .vp-users-sort,
  .vp-members-users-aligned .vp-members-toolbar .btn {
    flex: 1 1 100%;
    max-width: none;
    width: 100%;
  }
  .vp-members-users-bulk {
    flex-direction: column;
    align-items: stretch;
  }
  .vp-members-users-bulk .form-select,
  .vp-members-users-bulk .btn {
    max-width: none;
    width: 100%;
  }
  .vp-members-users-checks .form-check {
    width: 100%;
  }
}

/* V028 Abteilungen/Gruppen: organisatorische Arbeitsmodule */
.vp-org-page .card{border-radius:16px;box-shadow:0 10px 28px rgba(15,23,42,.06);border-color:rgba(15,23,42,.08)}
.vp-org-kpi .card-body{display:flex;gap:14px;align-items:center;padding:18px}
.vp-org-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.vp-org-toolbar .vp-users-search{min-width:min(420px,100%);flex:1}
.vp-org-worklists{display:flex;gap:8px;flex-wrap:wrap}
.vp-org-worklists .badge{font-size:.82rem;padding:.5rem .7rem;border-radius:999px;text-decoration:none}
.vp-org-mini{border:1px solid rgba(98,105,118,.16);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:6px;min-height:112px;background:linear-gradient(180deg,#fff,#fafbfc)}
.vp-org-mini .avatar{margin-bottom:4px}.vp-org-mini strong{font-size:1.15rem}.vp-org-mini span:last-child{color:var(--tblr-muted)}
.vp-org-form-card .nav-tabs .nav-link{border-radius:12px 12px 0 0}.vp-org-form-card .form-label.required:after{content:' *';color:var(--tblr-danger)}
.vp-org-page .table td,.vp-org-page .table th{vertical-align:middle}.vp-org-page .table-hover tbody tr{cursor:pointer}.vp-org-page .table-hover tbody tr:hover{background:rgba(32,107,196,.04)}
.vp-org-page .vp-users-row.is-active{background:rgba(32,107,196,.07)}
@media (max-width: 767.98px){.vp-org-toolbar{display:grid;grid-template-columns:1fr}.vp-org-page .table-responsive{border:0}.vp-org-page .sticky-top{position:static!important}.vp-org-kpi .card-body{padding:14px}.vp-org-mini{min-height:auto}}

/* V030 persönliche Modul-Favoriten und Kategorie-Hub */
.vp-module-hub-header{margin-bottom:1.25rem}.vp-module-hub .card{border-radius:18px;border-color:rgba(15,23,42,.08);box-shadow:0 10px 32px rgba(15,23,42,.06)}
.vp-module-filter-card .form-control-lg{border-radius:14px}.vp-module-filter-card .btn-lg{border-radius:14px}.vp-filter-chips{display:flex;gap:.5rem;flex-wrap:wrap}.vp-filter-chip{display:inline-flex;align-items:center;min-height:30px;padding:.25rem .7rem;border-radius:999px;background:#f4f7fb;color:#415066;text-decoration:none;font-size:.82rem;border:1px solid rgba(98,105,118,.16)}.vp-filter-chip.is-active{background:#e8f1ff;color:#0b5ed7;border-color:rgba(32,107,196,.25)}
.vp-favorite-strip{display:flex;flex-wrap:wrap;gap:.65rem}.vp-favorite-pill{display:inline-flex;align-items:center;gap:.55rem;padding:.55rem .75rem;border-radius:999px;border:1px solid rgba(32,107,196,.14);background:linear-gradient(180deg,#fff,#f8fbff);text-decoration:none;color:inherit;box-shadow:0 8px 20px rgba(15,23,42,.05);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.vp-favorite-pill:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(15,23,42,.08);border-color:rgba(32,107,196,.28);text-decoration:none}.vp-favorite-pill__icon{color:#f59f00}.vp-favorite-pill__label{font-weight:650}.vp-favorite-pill__code{font-size:.72rem;color:var(--tblr-muted);background:rgba(98,105,118,.08);border-radius:999px;padding:.1rem .42rem}
.vp-category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.8rem}.vp-category-tile{display:grid;grid-template-columns:auto 1fr auto;gap:.65rem;align-items:center;min-height:58px;padding:.8rem .9rem;border-radius:16px;border:1px solid rgba(98,105,118,.16);background:linear-gradient(180deg,#fff,#fbfcfe);text-decoration:none;color:inherit;transition:background .16s ease,border-color .16s ease,transform .16s ease}.vp-category-tile:hover,.vp-category-tile.is-active{background:#f0f6ff;border-color:rgba(32,107,196,.28);text-decoration:none;transform:translateY(-1px)}.vp-category-tile__icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;background:#e8f1ff;color:#206bc4}.vp-category-tile__title{font-weight:650}.vp-category-tile__count{font-size:.76rem;color:#206bc4;background:#e8f1ff;border-radius:999px;padding:.12rem .5rem}

/* V301: kompakte Modul-Kacheln, geprüfte Module und FIN-Master-Detail. */
.vp-module-card-compact .card-body {
  padding: .85rem 1rem;
}
.vp-module-card-link {
  display: flex;
  align-items: center;
  gap: .75rem;
  color: inherit;
  text-decoration: none;
  min-width: 0;
}
.vp-module-card-link:hover {
  color: var(--tblr-primary);
  text-decoration: none;
}
.vp-module-card-icon {
  flex: 0 0 2.25rem;
}
.vp-module-card-title {
  display: block;
  min-width: 0;
  font-weight: 700;
  letter-spacing: -.01em;
}
.vp-module-card-actions {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  flex-shrink: 0;
}
.vp-module-card-actions form {
  margin: 0;
}
.vp-check-button {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  border-radius: .75rem;
  font-weight: 700;
  white-space: nowrap;
}
.vp-check-button .icon,
.vp-check-button .vp-icon {
  width: 1rem;
  height: 1rem;
}
.vp-module-card-checked {
  border-color: rgba(45, 162, 80, .4);
  box-shadow: 0 .9rem 2rem rgba(45, 162, 80, .08);
}
.vp-finance-toolbar.vp-users-toolbar {
  grid-template-columns: minmax(18rem, 1fr) minmax(10rem, 12rem) repeat(2, minmax(9rem, 12rem)) auto auto;
}
.vp-finance-master-detail .vp-users-person {
  min-width: 16rem;
}
.vp-finance-detail .vp-users-detail-tab-content {
  max-height: calc(100vh - 16rem);
  overflow: auto;
}
.vp-finance-detail .vp-users-info-card + .vp-users-info-card {
  margin-top: .85rem;
}
@media (max-width: 1399.98px) {
  .vp-finance-master-detail.vp-users-master-detail {
    grid-template-columns: minmax(34rem, 1fr) minmax(23rem, 34rem);
  }
}
@media (max-width: 1199.98px) {
  .vp-finance-master-detail.vp-users-master-detail {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 767.98px) {
  .vp-module-card-actions {
    margin-left: auto;
  }
  .vp-check-button {
    padding-inline: .55rem;
  }
  .vp-finance-toolbar.vp-users-toolbar {
    grid-template-columns: 1fr;
  }
}

/* V302: dezente Font-Awesome-kompatible Icon-Shim und Detail-Tabs. */
.fa-solid {
  --vp-fa-url: url('/assets/tabler/icons/circle-check.svg');
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: -.14em;
  background-color: currentColor;
  -webkit-mask: var(--vp-fa-url) center / contain no-repeat;
  mask: var(--vp-fa-url) center / contain no-repeat;
}
.fa-download { --vp-fa-url: url('/assets/tabler/icons/download.svg'); }
.fa-file-text { --vp-fa-url: url('/assets/tabler/icons/file-text.svg'); }
.fa-table { --vp-fa-url: url('/assets/tabler/icons/table-options.svg'); }
.fa-table-list { --vp-fa-url: url('/assets/tabler/icons/table-options.svg'); }
.fa-circle-plus { --vp-fa-url: url('/assets/tabler/icons/plus.svg'); }
.fa-plus { --vp-fa-url: url('/assets/tabler/icons/plus.svg'); }
.fa-filter { --vp-fa-url: url('/assets/tabler/icons/filter.svg'); }
.fa-magnifying-glass { --vp-fa-url: url('/assets/tabler/icons/search.svg'); }
.fa-search { --vp-fa-url: url('/assets/tabler/icons/search.svg'); }
.fa-rotate-right { --vp-fa-url: url('/assets/tabler/icons/refresh.svg'); }
.fa-ellipsis-vertical { --vp-fa-url: url('/assets/tabler/icons/dots-vertical.svg'); }
.fa-circle-info { --vp-fa-url: url('/assets/tabler/icons/list-details.svg'); }
.fa-wand-magic-sparkles { --vp-fa-url: url('/assets/tabler/icons/sparkles.svg'); }
.fa-clock-rotate-left { --vp-fa-url: url('/assets/tabler/icons/history.svg'); }
.fa-floppy-disk { --vp-fa-url: url('/assets/tabler/icons/device-floppy.svg'); }
.fa-play { --vp-fa-url: url('/assets/tabler/icons/sparkles.svg'); }
.fa-archive { --vp-fa-url: url('/assets/tabler/icons/archive.svg'); }
.fa-trash { --vp-fa-url: url('/assets/tabler/icons/trash.svg'); }
.fa-circle-check { --vp-fa-url: url('/assets/tabler/icons/circle-check.svg'); }
.fa-star { --vp-fa-url: url('/assets/tabler/icons/star.svg'); }
.fa-folder-open { --vp-fa-url: url('/assets/tabler/icons/folder-open.svg'); }
.fa-pen-to-square { --vp-fa-url: url('/assets/tabler/icons/edit.svg'); }
.fa-database { --vp-fa-url: url('/assets/tabler/icons/database.svg'); }
.fa-gear { --vp-fa-url: url('/assets/tabler/icons/settings.svg'); }
.fa-shield-check { --vp-fa-url: url('/assets/tabler/icons/shield-check.svg'); }
.fa-list-check { --vp-fa-url: url('/assets/tabler/icons/list-check.svg'); }
.fa-cash-register { --vp-fa-url: url('/assets/tabler/icons/cash.svg'); }
.vp-module-card-actions .fa-solid,
.vp-users-detail-tabs .fa-solid,
.vp-finance-toolbar .fa-solid {
  opacity: .82;
}
.vp-users-detail-tabs .nav-link,
.vp-detail-tabs .nav-link,
.vp-module-detail-tabs-card .nav-link {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  font-weight: 650;
}
.vp-users-detail-tab-content,
.vp-detail-tab-content,
.vp-module-detail-tab-content {
  background: #fff;
}
.vp-module-detail-tabs-card,
.vp-detail-tabs-card {
  border-radius: 18px;
  border-color: rgba(15, 23, 42, .08);
  box-shadow: 0 12px 32px rgba(15, 23, 42, .05);
}
.vp-detail-tab-pane,
.vp-module-detail-tab-pane {
  padding: 1rem;
}
.vp-detail-tab-pane .card:last-child,
.vp-module-detail-tab-pane .card:last-child,
.vp-detail-tab-pane section:last-child,
.vp-module-detail-tab-pane section:last-child {
  margin-bottom: 0 !important;
}
.vp-finance-detail .vp-users-detail-head {
  border-bottom: 1px solid rgba(98, 105, 118, .14);
}
.vp-finance-detail .vp-users-detail-tabs {
  padding-inline: .85rem;
  background: linear-gradient(180deg, #fff, #fbfcfe);
}
.vp-finance-detail .vp-users-detail-tabs .nav-link {
  min-height: 2.75rem;
}
/* V303: zusätzliche dezente FA-Mappings für Akten-Tabs. */
.fa-users { --vp-fa-url: url('/assets/tabler/icons/users.svg'); }
.fa-users-group { --vp-fa-url: url('/assets/tabler/icons/users-group.svg'); }
.fa-user-shield { --vp-fa-url: url('/assets/tabler/icons/user-shield.svg'); }
.fa-house { --vp-fa-url: url('/assets/tabler/icons/home.svg'); }
.fa-message { --vp-fa-url: url('/assets/tabler/icons/mail.svg'); }
.fa-phone { --vp-fa-url: url('/assets/tabler/icons/phone.svg'); }
.fa-map-pin { --vp-fa-url: url('/assets/tabler/icons/map-pin.svg'); }
.fa-link { --vp-fa-url: url('/assets/tabler/icons/link.svg'); }
.fa-activity { --vp-fa-url: url('/assets/tabler/icons/activity.svg'); }
.fa-calendar-days { --vp-fa-url: url('/assets/tabler/icons/calendar-event.svg'); }
.fa-copy { --vp-fa-url: url('/assets/tabler/icons/copy.svg'); }
.fa-sliders { --vp-fa-url: url('/assets/tabler/icons/settings.svg'); }

/* Vereinsplan V6 · Kontaktzentrale als einfaches Adressbuch */
.vp-addressbook .card { border-radius: 1rem; }
.vp-contacts-header .page-title { display: flex; align-items: center; gap: .55rem; }
.vp-ab-stat-icon { width: 2.25rem; height: 2.25rem; border-radius: .9rem; display: inline-flex; align-items: center; justify-content: center; background: var(--tblr-bg-surface-secondary, #f3f6fb); flex: 0 0 auto; }
.vp-ab-stat-icon .vp-icon { width: 1.2rem; height: 1.2rem; opacity: .75; }
.vp-ab-quickbar { display: flex; flex-wrap: wrap; gap: .5rem; }
.vp-ab-quickbar .btn { border-radius: 999px; }
.vp-ab-toolbar { align-items: stretch; }
.vp-ab-toolbar .vp-users-search { min-width: min(34rem, 100%); }
.vp-addressbook-master-detail.vp-users-master-detail { grid-template-columns: minmax(360px, 42%) minmax(0, 1fr); align-items: start; }
.vp-ab-list { overflow: hidden; }
.vp-ab-contact-list { max-height: calc(100vh - 20rem); overflow: auto; }
.vp-ab-contact-item { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: .85rem; align-items: center; padding: .85rem 1rem; }
.vp-ab-contact-item.active { background: rgba(var(--tblr-primary-rgb, 32, 107, 196), .08); color: inherit; border-left: 3px solid var(--tblr-primary, #206bc4); }
.vp-ab-contact-main { min-width: 0; }
.vp-ab-contact-meta { display: flex; flex-wrap: wrap; gap: .35rem .8rem; margin-top: .25rem; color: var(--tblr-muted, #667085); font-size: .78rem; }
.vp-ab-contact-meta .vp-icon { width: .9rem; height: .9rem; opacity: .6; vertical-align: -2px; }
.vp-ab-contact-badges { display: flex; flex-direction: column; align-items: flex-end; gap: .25rem; }
.vp-ab-detail { position: sticky; top: 1rem; overflow: hidden; }
.vp-ab-detail-head { gap: 1rem; }
.vp-ab-action-row { display: flex; flex-wrap: wrap; gap: .5rem; padding: .85rem 1rem; border-bottom: 1px solid rgba(98,105,118,.16); background: var(--tblr-bg-surface-secondary, #f8fafc); }
.vp-ab-row { display: flex; justify-content: space-between; gap: 1rem; padding: .75rem 0; border-bottom: 1px solid rgba(98,105,118,.14); }
.vp-ab-row:last-child { border-bottom: 0; }
.vp-addressbook .vp-users-info-card h4 { margin-bottom: .75rem; }
.vp-addressbook .vp-users-detail-tabs { overflow-x: auto; flex-wrap: nowrap; }
.vp-addressbook .vp-users-detail-tabs .nav-link { white-space: nowrap; }
@media (max-width: 1199.98px) {
  .vp-addressbook-master-detail.vp-users-master-detail { grid-template-columns: 1fr; }
  .vp-ab-detail { position: static; }
  .vp-ab-contact-list { max-height: none; }
}
@media (max-width: 575.98px) {
  .vp-ab-contact-item { grid-template-columns: auto minmax(0, 1fr); }
  .vp-ab-contact-badges { grid-column: 2; align-items: flex-start; flex-direction: row; flex-wrap: wrap; }
  .vp-ab-detail-head { align-items: flex-start; }
  .vp-ab-detail-head .btn-list { width: 100%; justify-content: flex-start; }
}

/* Kontakt-Adressbuch: AJAX Detailpanel */
.vp-ab-detail { min-height: 28rem; }
.vp-ab-detail.is-loading { position: relative; }
.vp-ab-detail-loading {
  min-height: 22rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .65rem;
  color: var(--tblr-muted, #667085);
}
.vp-ab-contact-item { cursor: pointer; }
.vp-ab-contact-item.active { box-shadow: inset 3px 0 0 var(--tblr-primary); }
.vp-ab-detail .tab-content { min-height: 18rem; }

/* V3001 Kontaktzentrale · moderner CRM Master-Detail-Umbau (ohne Hauptmenü-Änderungen) */
.vp-contacts-crm-header .page-title { letter-spacing: -0.02em; }
.vp-crm-module-icon {
  width: 3rem;
  height: 3rem;
  border-radius: 1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(var(--tblr-primary-rgb,32,107,196), .14), rgba(var(--tblr-primary-rgb,32,107,196), .04));
  box-shadow: 0 .7rem 1.6rem rgba(var(--tblr-primary-rgb,32,107,196), .16);
  color: var(--tblr-primary, #206bc4);
}
.vp-crm-module-icon .vp-icon { width: 1.55rem; height: 1.55rem; }
.vp-contacts-crm .card {
  border-color: rgba(98,105,118,.16);
  border-radius: 1.05rem;
  box-shadow: 0 .6rem 1.6rem rgba(30,41,59,.045);
}
.vp-crm-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(12rem, .95fr);
  gap: 1rem;
  align-items: stretch;
}
.vp-crm-kpi { color: inherit; transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease; }
.vp-crm-kpi:hover { transform: translateY(-2px); text-decoration: none; border-color: rgba(var(--tblr-primary-rgb,32,107,196), .32); box-shadow: 0 1rem 2.4rem rgba(30,41,59,.075); }
.vp-crm-kpi .card-body { display: flex; gap: 1rem; align-items: center; min-height: 7.6rem; }
.vp-crm-kpi-icon {
  width: 3.2rem;
  height: 3.2rem;
  flex: 0 0 auto;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.vp-crm-kpi-icon .vp-icon { width: 1.45rem; height: 1.45rem; }
.vp-crm-kpi-blue { background: rgba(var(--tblr-primary-rgb,32,107,196), .13); color: var(--tblr-primary, #206bc4); }
.vp-crm-kpi-green { background: rgba(47,179,68,.14); color: #2fb344; }
.vp-crm-kpi-orange { background: rgba(247,103,7,.12); color: #f76707; }
.vp-crm-kpi-purple { background: rgba(174,62,201,.12); color: #ae3ec9; }
.vp-crm-hints .card-body { padding: 1rem; }
.vp-crm-hint-row { display: flex; align-items: center; justify-content: space-between; gap: .75rem; color: inherit; padding: .35rem 0; font-size: .88rem; }
.vp-crm-hint-row:hover { text-decoration: none; color: var(--tblr-primary, #206bc4); }
.vp-crm-shell { display: grid; grid-template-columns: minmax(25rem, 47%) minmax(0, 1fr); gap: 1rem; align-items: start; }
.vp-crm-list-panel, .vp-crm-detail-panel { min-height: calc(100vh - 18rem); }
.vp-crm-list-panel { overflow: hidden; }
.vp-crm-searchbar { display: flex; flex-wrap: wrap; gap: .65rem; padding: .85rem; border-bottom: 1px solid rgba(98,105,118,.14); position: relative; }
.vp-crm-filter-drawer { width: 100%; display: grid; grid-template-columns: repeat(4, minmax(8rem, 1fr)) auto auto; gap: .65rem; padding-top: .25rem; }
.vp-crm-chipbar { display: flex; gap: .45rem; flex-wrap: wrap; padding: .75rem .85rem; border-bottom: 1px solid rgba(98,105,118,.14); }
.vp-crm-chipbar .btn { border-radius: 999px; }
.vp-crm-list-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .8rem 1rem; color: var(--tblr-muted, #667085); font-size: .86rem; border-bottom: 1px solid rgba(98,105,118,.14); }
.vp-crm-contact-list { max-height: calc(100vh - 30rem); min-height: 19rem; overflow: auto; padding: .35rem; }
.vp-crm-contact-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: .9rem;
  align-items: center;
  color: inherit;
  padding: .95rem;
  margin: .35rem;
  border: 1px solid transparent;
  border-radius: .95rem;
  transition: background .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.vp-crm-contact-card:hover { text-decoration: none; background: var(--tblr-bg-surface-secondary, #f8fafc); border-color: rgba(98,105,118,.18); transform: translateY(-1px); }
.vp-crm-contact-card.active { background: rgba(var(--tblr-primary-rgb,32,107,196), .07); border-color: rgba(var(--tblr-primary-rgb,32,107,196), .48); box-shadow: 0 .7rem 1.6rem rgba(var(--tblr-primary-rgb,32,107,196), .12); }
.vp-crm-avatar, .vp-crm-detail-avatar { background: linear-gradient(135deg, var(--tblr-primary, #206bc4), #4263eb); color: #fff; box-shadow: 0 .5rem 1.2rem rgba(var(--tblr-primary-rgb,32,107,196), .22); }
.vp-crm-contact-copy { min-width: 0; display: grid; gap: .18rem; }
.vp-crm-contact-lines { display: flex; flex-wrap: wrap; gap: .35rem 1rem; color: var(--tblr-muted, #667085); font-size: .82rem; }
.vp-crm-contact-lines .vp-icon, .vp-crm-list-head .vp-icon { width: .95rem; height: .95rem; opacity: .65; vertical-align: -2px; }
.vp-crm-card-menu { opacity: .5; display: inline-flex; }
.vp-crm-list-footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .8rem 1rem; border-top: 1px solid rgba(98,105,118,.14); }
.vp-crm-detail-panel { position: sticky; top: 1rem; overflow: hidden; }
.vp-crm-detail-panel.is-loading { min-height: 28rem; }
.vp-crm-detail-head { display: flex; align-items: center; gap: 1rem; padding: 1.35rem 1.5rem; border-bottom: 1px solid rgba(98,105,118,.14); background: linear-gradient(180deg, rgba(var(--tblr-primary-rgb,32,107,196), .025), transparent); }
.vp-crm-detail-close { color: var(--tblr-muted, #667085); display: none; }
.vp-crm-fav-star { color: var(--tblr-muted, #667085); opacity: .55; display: inline-flex; }
.vp-crm-detail-actions { margin-left: auto; }
.vp-crm-tabs { padding: 0 1rem; overflow-x: auto; flex-wrap: nowrap; }
.vp-crm-tabs .nav-link { white-space: nowrap; min-height: 3rem; display: inline-flex; align-items: center; gap: .35rem; }
.vp-crm-tabs .vp-icon { width: 1rem; height: 1rem; }
.vp-crm-tab-content { padding: 1rem; max-height: calc(100vh - 25rem); overflow: auto; }
.vp-crm-detail-grid { display: grid; grid-template-columns: minmax(14rem, .92fr) minmax(12rem, .78fr) minmax(12rem, .78fr); gap: 1rem; }
.vp-crm-detail-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.vp-crm-timeline-card { grid-row: span 2; }
.vp-crm-warning-card { grid-column: 1 / -1; }
.vp-crm-info-card { border: 1px solid rgba(98,105,118,.14); border-radius: .9rem; padding: 1rem; background: var(--tblr-bg-surface, #fff); }
.vp-crm-info-card h4 { font-size: .95rem; margin: 0 0 .9rem; }
.vp-crm-dl { margin: 0; display: grid; gap: .65rem; }
.vp-crm-dl dt { color: var(--tblr-muted, #667085); font-weight: 500; font-size: .82rem; }
.vp-crm-dl dd { margin: .1rem 0 0; }
.vp-crm-link-row, .vp-crm-data-row { display: flex; justify-content: space-between; gap: 1rem; padding: .7rem 0; border-bottom: 1px solid rgba(98,105,118,.12); }
.vp-crm-link-row:last-child, .vp-crm-data-row:last-child { border-bottom: 0; }
.vp-crm-link-row span { color: var(--tblr-muted, #667085); }
.vp-crm-timeline { display: grid; gap: .85rem; }
.vp-crm-timeline-item { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .75rem; }
.vp-crm-timeline-dot { width: 2rem; height: 2rem; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; background: rgba(var(--tblr-primary-rgb,32,107,196), .12); color: var(--tblr-primary, #206bc4); }
.vp-crm-timeline-dot .vp-icon { width: 1rem; height: 1rem; }
.vp-crm-empty, .vp-crm-empty-detail { min-height: 22rem; display: flex; flex-direction: column; justify-content: center; }
.vp-ab-detail-loading { min-height: 28rem; }
@media (max-width: 1399.98px) {
  .vp-crm-stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vp-crm-hints { grid-column: span 2; }
  .vp-crm-detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vp-crm-timeline-card { grid-row: auto; }
}
@media (max-width: 1199.98px) {
  .vp-crm-shell { grid-template-columns: 1fr; }
  .vp-crm-detail-panel { position: static; }
  .vp-crm-contact-list, .vp-crm-tab-content { max-height: none; }
}
@media (max-width: 767.98px) {
  .vp-crm-stats-grid, .vp-crm-detail-grid, .vp-crm-detail-grid.two { grid-template-columns: 1fr; }
  .vp-crm-hints { grid-column: auto; }
  .vp-crm-filter-drawer { grid-template-columns: 1fr; }
  .vp-crm-detail-head { align-items: flex-start; flex-wrap: wrap; padding: 1rem; }
  .vp-crm-detail-actions { width: 100%; overflow-x: auto; padding-bottom: .1rem; }
  .vp-crm-list-footer { align-items: flex-start; flex-direction: column; }
  .vp-crm-contact-card { grid-template-columns: auto minmax(0, 1fr); }
  .vp-crm-card-menu { display: none; }
}

/* V3021: gezielte, risikoarme Modernisierung der Mitgliederverwaltung. */
.vp-members-header-actions {
  align-items: center;
  justify-content: flex-end;
  gap: .55rem;
}
.vp-members-header-action {
  min-width: 10.25rem;
  min-height: 2.65rem;
  justify-content: center;
  gap: .45rem;
  border-radius: .8rem;
  font-weight: 650;
  white-space: nowrap;
}
.vp-members-header-action .vp-icon {
  width: 1rem;
  height: 1rem;
}
.vp-members-users-aligned .vp-members-toolbar.vp-users-toolbar {
  padding: .65rem;
  margin-bottom: .85rem;
  border: 1px solid var(--vp-users-border, #e4eaf2);
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 .65rem 1.75rem rgba(15, 23, 42, .035);
}
.vp-members-users-aligned .vp-members-toolbar .form-control,
.vp-members-users-aligned .vp-members-toolbar .form-select,
.vp-members-users-aligned .vp-members-toolbar .btn {
  min-height: 2.55rem;
  border-radius: .78rem;
  box-shadow: none;
}
.vp-members-users-aligned .vp-members-toolbar .vp-users-search {
  flex: 2 1 28rem;
}
.vp-members-users-aligned .vp-members-toolbar .vp-users-search .form-control {
  font-weight: 500;
}
.vp-members-users-aligned .vp-members-toolbar .vp-users-filter,
.vp-members-users-aligned .vp-members-toolbar .vp-users-sort {
  flex: 1 1 9.75rem;
  min-width: 9.5rem;
  max-width: 13.5rem;
}
.vp-members-users-aligned .vp-members-toolbar .vp-users-filter-btn {
  padding-inline: .95rem;
  font-weight: 650;
}
.vp-members-selection-bar.vp-members-users-bulk {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  gap: .65rem;
  width: 100%;
  min-height: 0;
  margin: 0 0 .65rem;
  padding: .55rem .75rem;
  border-radius: .95rem;
  border-style: solid;
  box-shadow: none;
  background: linear-gradient(180deg, #fff, #f8fafc);
}
.vp-members-selection-bar .vp-members-selection-check {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  padding-left: 0;
}
.vp-members-selection-bar .vp-members-users-bulk__copy {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  min-width: auto;
  margin-right: .35rem;
  line-height: 1;
  white-space: nowrap;
}
.vp-members-selection-bar .vp-members-users-bulk__copy strong {
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  font-size: .92rem;
}
.vp-members-selection-bar .form-select {
  flex: 0 1 15rem;
  width: auto;
  max-width: 15rem;
  min-height: 2.35rem;
}
.vp-members-selection-bar .btn {
  flex: 0 0 auto;
  min-height: 2.35rem;
  border-radius: .75rem;
  white-space: nowrap;
}
.vp-members-side-detail .vp-users-detail-tabs {
  gap: .35rem;
  padding: .45rem .85rem 0;
  background: #fff;
}
.vp-members-side-detail .vp-users-detail-tabs .nav-link {
  min-height: 3.05rem;
  padding: .7rem .85rem;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: .75rem .75rem 0 0;
  color: #475569;
  font-weight: 650;
}
.vp-members-side-detail .vp-users-detail-tabs .nav-link .vp-icon {
  width: 1.05rem;
  height: 1.05rem;
}
.vp-members-side-detail .vp-users-detail-tabs .nav-link:hover {
  color: var(--tblr-primary, #206bc4);
  background: #f8fafc;
}
.vp-members-side-detail .vp-users-detail-tabs .nav-link.active {
  color: var(--tblr-primary, #206bc4);
  background: #f4f8ff;
  border-bottom-color: var(--tblr-primary, #206bc4);
}
@media (max-width: 1199.98px) {
  .vp-members-header-actions {
    justify-content: flex-start;
  }
  .vp-members-header-action {
    min-width: 9.5rem;
  }
}
@media (max-width: 767.98px) {
  .vp-members-header-actions,
  .vp-members-header-action {
    width: 100%;
  }
  .vp-members-header-action {
    min-width: 0;
  }
  .vp-members-users-aligned .vp-members-toolbar .vp-users-search,
  .vp-members-users-aligned .vp-members-toolbar .vp-users-filter,
  .vp-members-users-aligned .vp-members-toolbar .vp-users-sort,
  .vp-members-users-aligned .vp-members-toolbar .btn {
    flex: 1 1 100%;
    max-width: none;
  }
  .vp-members-selection-bar.vp-members-users-bulk {
    align-items: stretch;
    flex-wrap: wrap;
  }
  .vp-members-selection-bar .vp-members-users-bulk__copy {
    flex: 1 1 auto;
  }
  .vp-members-selection-bar .form-select,
  .vp-members-selection-bar .btn {
    flex: 1 1 100%;
    max-width: none;
  }
}

/* V3027 Mitgliederliste: kompakte Spalten und klare Akten-Aktion */
.vp-members-table-compact {
  table-layout: fixed;
  min-width: 760px;
}
.vp-members-table-compact .vp-members-col-select { width: 2.75rem; }
.vp-members-table-compact .vp-members-col-number { width: 8.25rem; }
.vp-members-table-compact .vp-members-col-status { width: 7rem; }
.vp-members-table-compact .vp-members-col-name { width: auto; }
.vp-members-table-compact .vp-members-col-contact { width: 15rem; }
.vp-members-table-compact .vp-members-col-actions { width: 6.75rem; }
.vp-members-table-compact th,
.vp-members-table-compact td { vertical-align: middle; }
.vp-members-table-compact .vp-users-person__copy,
.vp-members-table-compact .vp-members-contact-mini { min-width: 0; }
.vp-members-table-compact .vp-users-action-cell .btn-list { gap: .35rem; }
.vp-members-table-compact .vp-users-action-cell .btn-icon {
  width: 2.15rem;
  height: 2.15rem;
  border-radius: .7rem;
}
@media (max-width: 767.98px) {
  .vp-members-table-compact { min-width: 680px; }
  .vp-members-table-compact .vp-members-col-number { width: 7rem; }
  .vp-members-table-compact .vp-members-col-status { width: 6.25rem; }
  .vp-members-table-compact .vp-members-col-contact { width: 12rem; }
  .vp-members-table-compact .vp-members-col-actions { width: 6.25rem; }
}

/* V3028: Mitglieder – Familien-/Haushaltslogik und automatische Vorschläge */
.vp-members-suggestions-card {
  border-color: rgba(32, 107, 196, .16);
  background: linear-gradient(180deg, rgba(32, 107, 196, .045), #fff 46%);
}
.vp-members-suggestions-list {
  display: grid;
  gap: .75rem;
}
.vp-members-suggestion-item {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .8rem .9rem;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 14px;
  background: rgba(255, 255, 255, .86);
  box-shadow: 0 .35rem 1.2rem rgba(15, 23, 42, .035);
}
.vp-members-suggestion-icon {
  width: 2.35rem;
  height: 2.35rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  flex: 0 0 auto;
}
.vp-members-suggestion-item form {
  flex: 0 0 auto;
}
@media (max-width: 767.98px) {
  .vp-members-suggestion-item {
    align-items: flex-start;
    flex-wrap: wrap;
  }
  .vp-members-suggestion-item form,
  .vp-members-suggestion-item form .btn {
    width: 100%;
  }
}
