/* ScheduleAI Design Consistency Fix 2026-05-08
   Zentrale Dropdowns + lesbare Verwaltung. Diese Datei lädt zuletzt und gewinnt bewusst gegen ältere Design-Fixes. */
:root{
  --sai-readable-ink:#142238;
  --sai-readable-muted:#526276;
  --sai-readable-card:rgba(255,255,255,.97);
  --sai-readable-card-soft:rgba(248,251,255,.94);
  --sai-readable-border:rgba(120,142,170,.24);
  --sai-field-bg:rgba(255,255,255,.98);
  --sai-field-border:rgba(120,142,170,.30);
}

.portal-card,.dashboard-card,.module-card,.stat-card,.shared-card,.pending-edit-card,.team-user-card,.recommendation-card,.recommendation-category-card,.files-entry,.file-card,.file-tile,.files-tile,.admin-container,.auth-card,.auth-form-wrap,.table-wrap,.modal-content,.stats-plus-chart-card,.stats-plus-controls-card,.unified-shell,.unified-sidebar,.unified-main,.unified-info,.notification-popover,.profile-popover,.settings-popover{
  background-clip:padding-box!important;
  isolation:isolate!important;
}
.portal-card::before,.portal-card::after,.dashboard-card::before,.dashboard-card::after,.module-card::before,.module-card::after,.stat-card::before,.stat-card::after,.shared-card::before,.shared-card::after,.team-user-card::before,.team-user-card::after,.auth-card::before,.auth-card::after,.stats-plus-chart-card::before,.stats-plus-chart-card::after,.stats-plus-controls-card::before,.stats-plus-controls-card::after{
  border-radius:inherit!important;
  pointer-events:none!important;
}
.auth-form,.auth-grid,.stats-plus-chart-card,.stats-plus-controls-card,#logsTab .admin-grid,#logsTab,.team-management-panel,.team-management-panel .portal-card,.team-management-panel .team-user-card{
  overflow:visible!important;
}
.portal-card:not(:has(.sai-design-select.is-open)),.dashboard-card:not(:has(.sai-design-select.is-open)),.module-card:not(:has(.sai-design-select.is-open)),.stat-card:not(:has(.sai-design-select.is-open)),.shared-card:not(:has(.sai-design-select.is-open)),.pending-edit-card:not(:has(.sai-design-select.is-open)),.team-user-card:not(:has(.sai-design-select.is-open)){
  background-clip:padding-box!important;
}

/* Native Select bleibt als Datenquelle erhalten, ist aber optisch komplett ersetzt. */
select.sai-native-select-hidden,
.auth-modern-page select.sai-native-select-hidden,
.stats-plus-modern-panel select.sai-native-select-hidden,
.admin-container #logActionFilter.sai-native-select-hidden,
.team-management-panel select.sai-native-select-hidden{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  min-width:1px!important;
  min-height:1px!important;
  padding:0!important;
  margin:-1px!important;
  border:0!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  overflow:hidden!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}

.sai-custom-select.sai-design-select{
  display:block!important;
  position:relative!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  z-index:30!important;
  overflow:visible!important;
  pointer-events:auto!important;
}
.sai-custom-select.sai-design-select.is-open{z-index:100500!important;}
.sai-design-select .sai-custom-select__button{
  width:100%!important;
  min-height:50px!important;
  border:1px solid rgba(116,185,255,.28)!important;
  border-radius:18px!important;
  padding:0 15px 0 17px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  cursor:pointer!important;
  font-weight:900!important;
  line-height:1.15!important;
  letter-spacing:.01em!important;
  outline:none!important;
  user-select:none!important;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background .18s ease!important;
}
.sai-design-select .sai-custom-select__button:hover{transform:translateY(-1px)!important;border-color:rgba(94,234,212,.62)!important;}
.sai-design-select .sai-custom-select__button:focus-visible{box-shadow:0 0 0 4px rgba(94,234,212,.16),0 14px 34px rgba(0,0,0,.20)!important;}
.sai-design-select .sai-custom-select__value{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  text-align:left!important;
}
.sai-design-select .sai-custom-select__chevron{
  flex:0 0 auto!important;
  font-size:1.1rem!important;
  transform-origin:center!important;
  transition:transform .18s ease!important;
}
.sai-design-select.is-open .sai-custom-select__chevron{transform:rotate(180deg)!important;}
.sai-design-select .sai-custom-select__menu{
  display:none!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:calc(100% + 8px)!important;
  max-height:265px!important;
  overflow:auto!important;
  padding:8px!important;
  border-radius:18px!important;
  box-shadow:0 24px 60px rgba(2,8,23,.26),0 0 0 1px rgba(255,255,255,.08) inset!important;
  backdrop-filter:blur(18px)!important;
  animation:saiSelectMenuIn .14s ease both!important;
}
.sai-design-select.is-open .sai-custom-select__menu{display:grid!important;gap:5px!important;}
.sai-design-select .sai-custom-select__option{
  width:100%!important;
  min-height:40px!important;
  border:0!important;
  border-radius:13px!important;
  padding:10px 12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  text-align:left!important;
  cursor:pointer!important;
  font-weight:850!important;
  line-height:1.15!important;
  background:transparent!important;
  transition:background .15s ease,transform .15s ease,color .15s ease!important;
}
.sai-design-select .sai-custom-select__option:hover,
.sai-design-select .sai-custom-select__option:focus-visible{transform:translateX(2px)!important;outline:none!important;}
.sai-design-select .sai-custom-select__option:disabled{opacity:.48!important;cursor:not-allowed!important;transform:none!important;}

.sai-design-select--dark .sai-custom-select__button,
.sai-design-select--admin .sai-custom-select__button,
.auth-modern-page .sai-design-select .sai-custom-select__button,
.stats-plus-modern-panel .sai-design-select .sai-custom-select__button{
  color:#f7fbff!important;
  -webkit-text-fill-color:#f7fbff!important;
  background:linear-gradient(145deg,rgba(18,33,60,.98),rgba(10,22,42,.96))!important;
  box-shadow:0 14px 34px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.08)!important;
}
.sai-design-select--dark .sai-custom-select__menu,
.sai-design-select--admin .sai-custom-select__menu,
.auth-modern-page .sai-design-select .sai-custom-select__menu,
.stats-plus-modern-panel .sai-design-select .sai-custom-select__menu{
  border:1px solid rgba(116,185,255,.25)!important;
  background:linear-gradient(145deg,rgba(12,25,49,.98),rgba(5,14,29,.98))!important;
}
.sai-design-select--dark .sai-custom-select__option,
.sai-design-select--admin .sai-custom-select__option,
.auth-modern-page .sai-design-select .sai-custom-select__option,
.stats-plus-modern-panel .sai-design-select .sai-custom-select__option{
  color:#edf6ff!important;
  -webkit-text-fill-color:#edf6ff!important;
}
.sai-design-select--dark .sai-custom-select__option:hover,
.sai-design-select--dark .sai-custom-select__option:focus-visible,
.sai-design-select--admin .sai-custom-select__option:hover,
.sai-design-select--admin .sai-custom-select__option:focus-visible,
.auth-modern-page .sai-design-select .sai-custom-select__option:hover,
.auth-modern-page .sai-design-select .sai-custom-select__option:focus-visible,
.stats-plus-modern-panel .sai-design-select .sai-custom-select__option:hover,
.stats-plus-modern-panel .sai-design-select .sai-custom-select__option:focus-visible{
  background:rgba(94,234,212,.13)!important;
}
.sai-design-select--dark .sai-custom-select__option.is-selected,
.sai-design-select--admin .sai-custom-select__option.is-selected,
.auth-modern-page .sai-design-select .sai-custom-select__option.is-selected,
.stats-plus-modern-panel .sai-design-select .sai-custom-select__option.is-selected{
  background:linear-gradient(135deg,rgba(116,185,255,.22),rgba(94,234,212,.14))!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}

/* Statistiken+ wieder klar, hell lesbar und ohne altes Browser-Dropdown. */
.stats-plus-modern-panel .stats-plus-controls-card{
  overflow:visible!important;
  background:linear-gradient(145deg,rgba(7,18,36,.88),rgba(13,28,53,.84))!important;
  border-color:rgba(116,185,255,.20)!important;
}
.stats-plus-modern-panel .modern-select-label,
.stats-plus-modern-panel .modern-select-label span{
  color:rgba(245,251,255,.96)!important;
  -webkit-text-fill-color:rgba(245,251,255,.96)!important;
  opacity:1!important;
  font-weight:950!important;
  letter-spacing:.02em!important;
}
.stats-plus-modern-panel .modern-select-label .sai-design-select{margin-top:7px!important;}

/* Logs: Filter-Dropdown modern und minimierbar. */
#logsTab .admin-grid{align-items:end!important;}
#logsTab #logActionFilter + .sai-design-select{min-width:0!important;}
#logsTab .log-load-info{color:rgba(226,232,240,.92)!important;-webkit-text-fill-color:rgba(226,232,240,.92)!important;}

/* Ausbilder-Verwaltung: helle, lesbare Karten statt weißer/blasser Schrift. */
.team-management-panel,
.team-management-panel .portal-card,
.team-management-panel .section-header,
.team-management-panel .shared-head,
.team-management-panel .team-user-fields label,
.team-management-panel .team-user-meta,
.team-management-panel h3,
.team-management-panel h4,
#teamUsersBox,
#teamPendingBox{
  color:var(--sai-readable-ink)!important;
  -webkit-text-fill-color:var(--sai-readable-ink)!important;
  opacity:1!important;
}
.team-management-panel .portal-card,
.team-management-panel .shared-card,
.team-management-panel .team-user-card,
.team-management-panel .empty-state{
  background:radial-gradient(circle at 12% 0%,rgba(125,211,252,.18),transparent 38%),radial-gradient(circle at 92% 0%,rgba(196,181,253,.20),transparent 36%),linear-gradient(145deg,var(--sai-readable-card),var(--sai-readable-card-soft))!important;
  border:1px solid var(--sai-readable-border)!important;
  box-shadow:0 20px 54px rgba(15,23,42,.12),inset 0 1px 0 rgba(255,255,255,.84)!important;
}
.team-management-panel .team-user-card{border-radius:24px!important;padding:17px!important;overflow:visible!important;}
.team-management-panel .team-user-card.is-pending{
  border-color:rgba(245,158,11,.34)!important;
  background:radial-gradient(circle at 12% 0%,rgba(253,203,110,.22),transparent 40%),linear-gradient(145deg,rgba(255,251,235,.98),rgba(248,251,255,.94))!important;
}
.team-management-panel .team-user-card .shared-head strong,
.team-management-panel .pending-edit-card .shared-head strong{
  color:var(--sai-readable-ink)!important;
  -webkit-text-fill-color:var(--sai-readable-ink)!important;
  font-weight:950!important;
}
.team-management-panel .subtle,
.team-management-panel .team-user-card .subtle,
.team-management-panel .team-user-meta,
.team-management-panel #teamManagementHint,
.team-management-panel .team-user-search-info{
  color:var(--sai-readable-muted)!important;
  -webkit-text-fill-color:var(--sai-readable-muted)!important;
  opacity:1!important;
}
.team-management-panel .team-user-fields{gap:13px!important;margin-top:15px!important;}
.team-management-panel .team-user-fields label{display:grid!important;gap:7px!important;font-size:.83rem!important;font-weight:900!important;color:#334155!important;-webkit-text-fill-color:#334155!important;}
.team-management-panel input.inline-input,
.team-management-panel .team-user-card input,
.team-management-panel .team-user-card textarea{
  min-height:48px!important;
  border-radius:16px!important;
  border:1px solid var(--sai-field-border)!important;
  background:var(--sai-field-bg)!important;
  color:var(--sai-readable-ink)!important;
  -webkit-text-fill-color:var(--sai-readable-ink)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.88),0 8px 18px rgba(15,23,42,.06)!important;
}
.team-management-panel input.inline-input[readonly],
.team-management-panel input:disabled{
  background:rgba(241,245,249,.96)!important;
  color:#475569!important;
  -webkit-text-fill-color:#475569!important;
  opacity:1!important;
}
.team-management-panel input::placeholder{color:#64748b!important;-webkit-text-fill-color:#64748b!important;opacity:1!important;}
.team-management-panel .team-user-searchbar{
  background:rgba(255,255,255,.96)!important;
  border:1px solid rgba(120,142,170,.26)!important;
  border-radius:18px!important;
  box-shadow:0 12px 32px rgba(15,23,42,.08)!important;
}
.team-management-panel .team-user-search-prefix{color:#334155!important;-webkit-text-fill-color:#334155!important;font-weight:950!important;}
.team-management-panel #teamUserSearch{color:var(--sai-readable-ink)!important;-webkit-text-fill-color:var(--sai-readable-ink)!important;background:transparent!important;box-shadow:none!important;}
.team-management-panel .top-actions.compact{margin-top:14px!important;gap:10px!important;flex-wrap:wrap!important;}
.team-management-panel button:not(.sai-custom-select__button):not(.sai-custom-select__option){-webkit-text-fill-color:currentColor!important;}

.team-management-panel .sai-design-select--light .sai-custom-select__button{
  color:var(--sai-readable-ink)!important;
  -webkit-text-fill-color:var(--sai-readable-ink)!important;
  border-color:var(--sai-field-border)!important;
  background:linear-gradient(145deg,rgba(255,255,255,.99),rgba(247,250,255,.96))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 8px 18px rgba(15,23,42,.07)!important;
}
.team-management-panel .sai-design-select--light .sai-custom-select__menu{
  border:1px solid rgba(120,142,170,.28)!important;
  background:linear-gradient(145deg,rgba(255,255,255,.99),rgba(248,251,255,.98))!important;
  box-shadow:0 22px 54px rgba(15,23,42,.16),inset 0 1px 0 rgba(255,255,255,.9)!important;
}
.team-management-panel .sai-design-select--light .sai-custom-select__option{
  color:var(--sai-readable-ink)!important;
  -webkit-text-fill-color:var(--sai-readable-ink)!important;
}
.team-management-panel .sai-design-select--light .sai-custom-select__option:hover,
.team-management-panel .sai-design-select--light .sai-custom-select__option:focus-visible{
  background:rgba(116,185,255,.15)!important;
}
.team-management-panel .sai-design-select--light .sai-custom-select__option.is-selected{
  background:linear-gradient(135deg,rgba(116,185,255,.23),rgba(196,181,253,.18))!important;
}

/* Admin-Freigabekarten ebenfalls im hellen Benutzerverwaltungs-Stil. */
.admin-container .pending-edit-card,
.admin-container .shared-card.pending-edit-card{
  color:var(--sai-readable-ink)!important;
  -webkit-text-fill-color:var(--sai-readable-ink)!important;
  background:radial-gradient(circle at 12% 0%,rgba(125,211,252,.18),transparent 38%),linear-gradient(145deg,rgba(255,255,255,.96),rgba(248,251,255,.92))!important;
  border:1px solid var(--sai-readable-border)!important;
}
.admin-container .pending-edit-card .subtle,
.admin-container .pending-edit-card label{
  color:var(--sai-readable-muted)!important;
  -webkit-text-fill-color:var(--sai-readable-muted)!important;
  opacity:1!important;
}
.admin-container .pending-edit-card input.inline-input,
.admin-container .pending-edit-card select.inline-select{
  background:var(--sai-field-bg)!important;
  color:var(--sai-readable-ink)!important;
  -webkit-text-fill-color:var(--sai-readable-ink)!important;
  border-color:var(--sai-field-border)!important;
}

@keyframes saiSelectMenuIn{from{opacity:0;transform:translateY(-5px) scale(.985);}to{opacity:1;transform:translateY(0) scale(1);}}
@media(max-width:720px){
  .sai-design-select .sai-custom-select__menu{max-height:220px!important;}
  .stats-plus-controls-card{grid-template-columns:1fr!important;}
}

/* Verwaltung im Look der Admin-Benutzer-Tabelle: dunkel, kompakt, identisch zur Benutzerverwaltung statt heller Karten. */
.team-management-panel,
.team-management-panel .section-header,
.team-management-panel .shared-head,
.team-management-panel h3,
.team-management-panel h4,
.team-management-panel #teamManagementHint,
#teamUsersBox,
#teamPendingBox{
  color:#f7fbff!important;
  -webkit-text-fill-color:#f7fbff!important;
}
.team-management-panel .subtle,
.team-management-panel .team-user-name-meta,
.team-management-panel .team-user-search-info,
.team-management-panel #teamManagementHint{
  color:rgba(203,213,225,.90)!important;
  -webkit-text-fill-color:rgba(203,213,225,.90)!important;
  opacity:1!important;
}
.team-management-panel .portal-card,
.team-management-panel .team-users-card,
.team-management-panel .table-wrap,
.team-management-panel .team-management-table-wrap,
.team-management-panel .empty-state{
  color:#f7fbff!important;
  -webkit-text-fill-color:#f7fbff!important;
  border:1px solid rgba(255,255,255,.10)!important;
  background:radial-gradient(circle at 14% 0%,rgba(94,234,212,.075),transparent 30%),linear-gradient(145deg,rgba(15,29,52,.93),rgba(12,23,42,.82))!important;
  box-shadow:0 22px 55px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.045)!important;
  backdrop-filter:blur(16px)!important;
}
.team-management-panel .portal-card{
  border-radius:24px!important;
  overflow:visible!important;
}
.team-management-panel .team-management-table-wrap{
  border-radius:22px!important;
  margin-top:12px!important;
  overflow:visible!important;
}
.team-management-panel .admin-table.team-management-table{
  border-collapse:separate!important;
  border-spacing:0!important;
  width:100%!important;
  min-width:1040px!important;
  color:#f7fbff!important;
  background:rgba(255,255,255,.045)!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:22px!important;
  overflow:hidden!important;
}
.team-management-panel .admin-table.team-management-table th,
.team-management-panel .admin-table.team-management-table td{
  color:#f7fbff!important;
  -webkit-text-fill-color:#f7fbff!important;
  border-bottom:1px solid rgba(255,255,255,.09)!important;
  vertical-align:top!important;
  padding:13px 12px!important;
}
.team-management-panel .admin-table.team-management-table th{
  background:rgba(255,255,255,.095)!important;
  color:rgba(248,250,252,.96)!important;
  -webkit-text-fill-color:rgba(248,250,252,.96)!important;
  font-weight:950!important;
  letter-spacing:.02em!important;
}
.team-management-panel .admin-table.team-management-table tbody tr{
  background:rgba(12,25,49,.62)!important;
  transition:background .18s ease,box-shadow .18s ease!important;
}
.team-management-panel .admin-table.team-management-table tbody tr:nth-child(even){
  background:rgba(18,33,60,.62)!important;
}
.team-management-panel .admin-table.team-management-table tbody tr:hover{
  background:rgba(42,57,88,.76)!important;
}
.team-management-panel .admin-table.team-management-table tbody tr.is-pending{
  box-shadow:inset 4px 0 0 rgba(253,203,110,.72)!important;
}
.team-management-panel .team-user-cell{min-width:255px!important;}
.team-management-panel .team-user-actions{
  display:flex!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  align-items:center!important;
}
.team-management-panel input.inline-input,
.team-management-panel .team-management-table input,
.team-management-panel .team-management-table textarea{
  min-height:46px!important;
  border-radius:16px!important;
  border:1px solid rgba(116,185,255,.22)!important;
  background:linear-gradient(145deg,rgba(7,18,36,.96),rgba(10,22,42,.94))!important;
  color:#f7fbff!important;
  -webkit-text-fill-color:#f7fbff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055),0 8px 18px rgba(0,0,0,.14)!important;
}
.team-management-panel input.inline-input[readonly],
.team-management-panel input:disabled{
  background:rgba(15,23,42,.78)!important;
  color:rgba(203,213,225,.86)!important;
  -webkit-text-fill-color:rgba(203,213,225,.86)!important;
  opacity:1!important;
}
.team-management-panel input::placeholder{
  color:rgba(203,213,225,.72)!important;
  -webkit-text-fill-color:rgba(203,213,225,.72)!important;
  opacity:1!important;
}
.team-management-panel .team-user-searchbar{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin:12px 0 2px!important;
  padding:10px 14px!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:20px!important;
  background:linear-gradient(145deg,rgba(15,29,52,.88),rgba(12,23,42,.76))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045)!important;
}
.team-management-panel .team-user-search-prefix{
  color:rgba(226,232,240,.94)!important;
  -webkit-text-fill-color:rgba(226,232,240,.94)!important;
  font-weight:950!important;
  white-space:nowrap!important;
}
.team-management-panel #teamUserSearch{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:#f7fbff!important;
  -webkit-text-fill-color:#f7fbff!important;
  min-height:42px!important;
}
.team-management-panel .team-user-more{
  margin-top:9px!important;
}
.team-management-panel .team-user-more summary{
  cursor:pointer!important;
  width:max-content!important;
  max-width:100%!important;
  padding:7px 12px!important;
  border-radius:999px!important;
  border:1px solid rgba(116,185,255,.22)!important;
  color:rgba(226,232,240,.94)!important;
  -webkit-text-fill-color:rgba(226,232,240,.94)!important;
  background:rgba(255,255,255,.055)!important;
  font-weight:850!important;
}
.team-management-panel .team-user-more-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(180px,1fr))!important;
  gap:10px!important;
  margin-top:11px!important;
  min-width:420px!important;
}
.team-management-panel .team-user-more-grid label{
  display:grid!important;
  gap:6px!important;
  color:rgba(226,232,240,.92)!important;
  -webkit-text-fill-color:rgba(226,232,240,.92)!important;
  font-weight:850!important;
  font-size:.82rem!important;
}
.team-management-panel .sai-design-select--admin .sai-custom-select__button,
.team-management-panel .sai-design-select .sai-custom-select__button{
  min-height:46px!important;
  color:#f7fbff!important;
  -webkit-text-fill-color:#f7fbff!important;
  border-color:rgba(116,185,255,.22)!important;
  background:linear-gradient(145deg,rgba(7,18,36,.96),rgba(10,22,42,.94))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055),0 8px 18px rgba(0,0,0,.14)!important;
}
.team-management-panel .sai-design-select--admin .sai-custom-select__menu,
.team-management-panel .sai-design-select .sai-custom-select__menu{
  border:1px solid rgba(116,185,255,.25)!important;
  background:linear-gradient(145deg,rgba(12,25,49,.98),rgba(5,14,29,.98))!important;
  box-shadow:0 24px 60px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.06)!important;
}
.team-management-panel .sai-design-select--admin .sai-custom-select__option,
.team-management-panel .sai-design-select .sai-custom-select__option{
  color:#edf6ff!important;
  -webkit-text-fill-color:#edf6ff!important;
}
.team-management-panel .sai-design-select.is-disabled .sai-custom-select__button{
  opacity:.72!important;
  cursor:not-allowed!important;
}
@media(max-width:900px){
  .team-management-panel .team-management-table-wrap{overflow-x:auto!important;}
  .team-management-panel .team-user-more-grid{grid-template-columns:1fr!important;min-width:0!important;}
}

/* 2026-05-08 Nachfix: wirklich ALLE Dropdowns ersetzen und Tabellen/Buttons stabil halten. */
select.sai-native-select-hidden{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  min-width:1px!important;
  min-height:1px!important;
  padding:0!important;
  margin:-1px!important;
  border:0!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  overflow:hidden!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}
.sai-design-select--portal .sai-custom-select__button{
  color:#f7fbff!important;
  -webkit-text-fill-color:#f7fbff!important;
  border-color:rgba(116,185,255,.25)!important;
  background:linear-gradient(145deg,rgba(18,33,60,.96),rgba(10,22,42,.94))!important;
  box-shadow:0 12px 28px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.075)!important;
}
.sai-design-select--portal .sai-custom-select__menu{
  border:1px solid rgba(116,185,255,.25)!important;
  background:linear-gradient(145deg,rgba(12,25,49,.98),rgba(5,14,29,.98))!important;
}
.sai-design-select--portal .sai-custom-select__option{
  color:#edf6ff!important;
  -webkit-text-fill-color:#edf6ff!important;
}
.sai-design-select--portal .sai-custom-select__option:hover,
.sai-design-select--portal .sai-custom-select__option:focus-visible{
  background:rgba(94,234,212,.13)!important;
}
.sai-design-select--portal .sai-custom-select__option.is-selected{
  background:linear-gradient(135deg,rgba(116,185,255,.22),rgba(94,234,212,.14))!important;
}
.admin-container .sai-design-select,
.team-management-panel .sai-design-select{
  min-width:150px!important;
}
.admin-container .admin-grid .sai-design-select,
.team-management-panel .admin-grid .sai-design-select,
.shared-filter-grid .sai-design-select{
  min-width:0!important;
}
.admin-container .table-wrap,
.team-management-panel .table-wrap,
.admin-container .admin-pending-table-wrap,
.team-management-panel .team-management-table-wrap{
  overflow-x:auto!important;
  overflow-y:visible!important;
}
.team-management-panel .team-management-table-wrap,
.admin-container .admin-pending-table-wrap{
  padding-bottom:16px!important;
}
.team-management-panel .admin-table.team-management-table,
.admin-container .admin-table.admin-pending-table{
  table-layout:auto!important;
  overflow:visible!important;
}
.team-management-panel .admin-table.team-management-table th,
.admin-container .admin-table.admin-pending-table th{
  white-space:nowrap!important;
}
.team-management-panel .admin-table.team-management-table td,
.admin-container .admin-table.admin-pending-table td{
  vertical-align:top!important;
  height:auto!important;
}
.team-management-panel .admin-table.team-management-table td:nth-child(7),
.admin-container .admin-table.admin-pending-table td:nth-child(6){
  width:270px!important;
  min-width:270px!important;
  max-width:320px!important;
}
.team-management-panel .team-user-cell,
.admin-container .pending-user-cell{
  position:relative!important;
  min-width:270px!important;
  white-space:normal!important;
}
.team-management-panel .team-user-actions,
.admin-container .pending-user-actions,
.admin-container .admin-table .inline-actions{
  display:flex!important;
  flex-direction:row!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  align-content:flex-start!important;
  height:auto!important;
  min-height:0!important;
}
.team-management-panel .team-user-actions button,
.admin-container .pending-user-actions button,
.admin-container .admin-table .inline-actions button{
  width:auto!important;
  min-width:max-content!important;
  max-width:none!important;
  height:auto!important;
  min-height:38px!important;
  align-self:flex-start!important;
  flex:0 0 auto!important;
  white-space:nowrap!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  line-height:1.1!important;
  padding:10px 13px!important;
}
.team-management-panel .team-user-more,
.admin-container .pending-user-more{
  position:relative!important;
  z-index:20!important;
  width:max-content!important;
  max-width:100%!important;
}
.team-management-panel .team-user-more[open],
.admin-container .pending-user-more[open]{
  z-index:100600!important;
}
.team-management-panel .team-user-more-grid,
.admin-container .pending-user-more-grid{
  position:absolute!important;
  left:0!important;
  top:calc(100% + 10px)!important;
  width:min(720px,calc(100vw - 84px))!important;
  min-width:min(540px,calc(100vw - 84px))!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(210px,1fr))!important;
  gap:12px!important;
  margin:0!important;
  padding:16px!important;
  border-radius:20px!important;
  border:1px solid rgba(116,185,255,.28)!important;
  background:linear-gradient(145deg,rgba(13,28,53,.99),rgba(7,18,36,.99))!important;
  box-shadow:0 26px 70px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.07)!important;
}
.team-management-panel .team-user-more-grid label,
.admin-container .pending-user-more-grid label{
  min-width:0!important;
}
.admin-container .pending-user-more summary,
.team-management-panel .team-user-more summary{
  white-space:nowrap!important;
}
.admin-container .pending-user-row td,
.admin-container .pending-user-row th{
  color:#f7fbff!important;
  -webkit-text-fill-color:#f7fbff!important;
}
.admin-container .pending-user-row .subtle,
.admin-container .pending-user-more-grid label{
  color:rgba(203,213,225,.90)!important;
  -webkit-text-fill-color:rgba(203,213,225,.90)!important;
  opacity:1!important;
}
.admin-container .pending-user-row input.inline-input,
.admin-container .pending-user-row textarea{
  min-height:46px!important;
  border-radius:16px!important;
  border:1px solid rgba(116,185,255,.22)!important;
  background:linear-gradient(145deg,rgba(7,18,36,.96),rgba(10,22,42,.94))!important;
  color:#f7fbff!important;
  -webkit-text-fill-color:#f7fbff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055),0 8px 18px rgba(0,0,0,.14)!important;
}
#pendingBox.admin-pending-box{
  display:block!important;
}
@media(max-width:900px){
  .team-management-panel .team-user-more-grid,
  .admin-container .pending-user-more-grid{
    width:min(520px,calc(100vw - 44px))!important;
    min-width:0!important;
    grid-template-columns:1fr!important;
  }
  .team-management-panel .admin-table.team-management-table td:nth-child(7),
  .admin-container .admin-table.admin-pending-table td:nth-child(6){
    min-width:240px!important;
  }
}
.team-management-panel .team-management-table-wrap:has(.team-user-more[open]),
.admin-container .admin-pending-table-wrap:has(.pending-user-more[open]){
  padding-bottom:360px!important;
}

/* 2026-05-08 Nachfix 2: Verwaltung klappt im Tabellenfluss auf, keine Überlagerung, Buttons vertikal. */
.team-management-panel .team-management-table-wrap,
.admin-container .admin-pending-table-wrap{
  overflow-x:auto!important;
  overflow-y:visible!important;
  padding-bottom:18px!important;
}
.team-management-panel .team-management-table-wrap:has(.team-user-more[open]),
.admin-container .admin-pending-table-wrap:has(.pending-user-more[open]){
  padding-bottom:18px!important;
}
.team-management-panel .team-user-cell,
.admin-container .pending-user-cell{
  position:static!important;
  min-width:250px!important;
  width:250px!important;
  max-width:290px!important;
}
.team-management-panel .team-user-more,
.admin-container .pending-user-more{
  position:static!important;
  z-index:auto!important;
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin-top:10px!important;
}
.team-management-panel .team-user-more[open],
.admin-container .pending-user-more[open]{
  position:static!important;
  z-index:auto!important;
}
.team-management-panel .team-user-more summary,
.admin-container .pending-user-more summary{
  width:100%!important;
  max-width:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  white-space:normal!important;
  text-align:left!important;
}
.team-management-panel .team-user-more-grid,
.admin-container .pending-user-more-grid{
  position:static!important;
  left:auto!important;
  top:auto!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  margin-top:12px!important;
  padding:12px!important;
  border-radius:18px!important;
  border:1px solid rgba(116,185,255,.25)!important;
  background:linear-gradient(145deg,rgba(13,28,53,.96),rgba(7,18,36,.94))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 14px 28px rgba(0,0,0,.20)!important;
}
.team-management-panel .admin-table.team-management-table td,
.admin-container .admin-table.admin-pending-table td{
  overflow:visible!important;
}
.team-management-panel .admin-table.team-management-table tr,
.admin-container .admin-table.admin-pending-table tr{
  height:auto!important;
}
.team-management-panel .admin-table.team-management-table td:nth-child(7),
.admin-container .admin-table.admin-pending-table td:nth-child(6){
  width:150px!important;
  min-width:150px!important;
  max-width:170px!important;
}
.team-management-panel .team-user-actions,
.admin-container .pending-user-actions{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  gap:8px!important;
  width:100%!important;
  min-width:0!important;
}
.team-management-panel .team-user-actions button,
.admin-container .pending-user-actions button{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  justify-content:center!important;
  text-align:center!important;
  white-space:nowrap!important;
}
.team-management-panel .admin-table.team-management-table{
  min-width:900px!important;
}

/* 2026-05-08 Nachfix 2: Rollenbereich im modernen Admin-Design. */
.admin-roles-modern .admin-role-header{
  margin-bottom:14px!important;
}
.admin-roles-modern .admin-role-create-card,
.admin-roles-modern .admin-role-table-wrap{
  border:1px solid rgba(255,255,255,.10)!important;
  background:radial-gradient(circle at 12% 0%,rgba(116,185,255,.10),transparent 32%),linear-gradient(145deg,rgba(15,29,52,.94),rgba(12,23,42,.84))!important;
  box-shadow:0 22px 55px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.05)!important;
  border-radius:24px!important;
  overflow:visible!important;
}
.admin-roles-modern .admin-role-create-card{
  padding:18px!important;
}
.admin-roles-modern .admin-role-create-head{
  margin-bottom:12px!important;
}
.admin-roles-modern .admin-role-form-grid{
  align-items:stretch!important;
  margin-bottom:12px!important;
}
.admin-roles-modern .admin-role-form-grid input[type="text"]{
  min-height:48px!important;
  border-radius:16px!important;
  border:1px solid rgba(116,185,255,.22)!important;
  background:linear-gradient(145deg,rgba(7,18,36,.96),rgba(10,22,42,.94))!important;
  color:#f7fbff!important;
  -webkit-text-fill-color:#f7fbff!important;
}
.admin-roles-modern .admin-color-field{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  min-height:48px!important;
  padding:8px 12px!important;
  border-radius:16px!important;
  border:1px solid rgba(116,185,255,.22)!important;
  background:linear-gradient(145deg,rgba(7,18,36,.96),rgba(10,22,42,.94))!important;
  color:#e2e8f0!important;
  -webkit-text-fill-color:#e2e8f0!important;
  font-weight:850!important;
}
.admin-roles-modern .admin-color-field input[type="color"],
.admin-roles-modern .inline-color.role-color{
  width:48px!important;
  min-width:48px!important;
  height:36px!important;
  padding:3px!important;
  border-radius:12px!important;
  border:1px solid rgba(255,255,255,.16)!important;
  background:rgba(255,255,255,.08)!important;
}
.admin-roles-modern .admin-role-default{
  min-height:48px!important;
  margin:0!important;
  color:#e2e8f0!important;
  -webkit-text-fill-color:#e2e8f0!important;
}
.admin-roles-modern .admin-role-permission-card{
  padding:14px!important;
  border-radius:20px!important;
  border:1px solid rgba(255,255,255,.10)!important;
  background:rgba(255,255,255,.045)!important;
}
.admin-roles-modern .admin-role-create-actions{
  margin-top:14px!important;
}
.admin-roles-modern .admin-role-table-wrap{
  margin-top:16px!important;
  overflow-x:auto!important;
}
.admin-roles-modern .admin-role-table{
  width:100%!important;
  min-width:900px!important;
  table-layout:auto!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  border-radius:22px!important;
  overflow:hidden!important;
  background:rgba(255,255,255,.045)!important;
}
.admin-roles-modern .admin-role-table th{
  white-space:nowrap!important;
  background:rgba(255,255,255,.095)!important;
  color:rgba(248,250,252,.96)!important;
  -webkit-text-fill-color:rgba(248,250,252,.96)!important;
  font-weight:950!important;
}
.admin-roles-modern .admin-role-table td{
  vertical-align:top!important;
  color:#f7fbff!important;
  -webkit-text-fill-color:#f7fbff!important;
  border-bottom:1px solid rgba(255,255,255,.09)!important;
  overflow:visible!important;
}
.admin-roles-modern .admin-role-row:nth-child(even){
  background:rgba(18,33,60,.56)!important;
}
.admin-roles-modern .admin-role-row:hover{
  background:rgba(42,57,88,.72)!important;
}
.admin-roles-modern .admin-role-color-cell{
  width:120px!important;
  min-width:120px!important;
}
.admin-roles-modern .admin-role-dot{
  width:18px!important;
  height:18px!important;
  box-shadow:0 0 0 4px rgba(255,255,255,.08)!important;
  margin-right:8px!important;
}
.admin-roles-modern .admin-role-name-cell{
  min-width:190px!important;
}
.admin-roles-modern .admin-role-name-cell .subtle{
  margin-top:6px!important;
  color:rgba(203,213,225,.88)!important;
  -webkit-text-fill-color:rgba(203,213,225,.88)!important;
}
.admin-roles-modern .admin-role-table input.inline-input{
  min-height:44px!important;
  border-radius:15px!important;
  border:1px solid rgba(116,185,255,.22)!important;
  background:linear-gradient(145deg,rgba(7,18,36,.96),rgba(10,22,42,.94))!important;
  color:#f7fbff!important;
  -webkit-text-fill-color:#f7fbff!important;
}
.admin-roles-modern .role-default-pill{
  width:max-content!important;
  max-width:170px!important;
  margin:0!important;
}
.admin-roles-modern .admin-role-permissions-cell{
  min-width:260px!important;
  max-width:360px!important;
}
.admin-roles-modern .admin-role-permissions{
  position:static!important;
  width:100%!important;
}
.admin-roles-modern .admin-role-permissions summary{
  cursor:pointer!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  padding:9px 12px!important;
  border-radius:999px!important;
  border:1px solid rgba(116,185,255,.25)!important;
  background:rgba(255,255,255,.055)!important;
  color:#eaf4ff!important;
  -webkit-text-fill-color:#eaf4ff!important;
  font-weight:900!important;
}
.admin-roles-modern .admin-role-permissions summary span{
  display:inline-flex!important;
  min-width:26px!important;
  height:26px!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,rgba(116,185,255,.26),rgba(94,234,212,.18))!important;
  color:#f7fbff!important;
  -webkit-text-fill-color:#f7fbff!important;
}
.admin-roles-modern .admin-role-permissions .permission-grid{
  grid-template-columns:1fr!important;
  max-height:320px!important;
  overflow:auto!important;
  margin-top:12px!important;
  padding:12px!important;
  border-radius:18px!important;
  border:1px solid rgba(116,185,255,.22)!important;
  background:linear-gradient(145deg,rgba(13,28,53,.96),rgba(7,18,36,.94))!important;
}
.admin-roles-modern .admin-role-actions-cell{
  width:135px!important;
  min-width:135px!important;
}
.admin-roles-modern .admin-role-actions{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  align-items:stretch!important;
  width:100%!important;
}
.admin-roles-modern .admin-role-actions button{
  width:100%!important;
  min-width:0!important;
  justify-content:center!important;
  text-align:center!important;
}
@media(max-width:900px){
  .admin-roles-modern .admin-role-form-grid{
    grid-template-columns:1fr!important;
  }
  .admin-roles-modern .admin-role-table{
    min-width:820px!important;
  }
}

/* 2026-05-08 Nachfix 3: Weitere-Daten-Bereich wieder breit/nebeneinander, aber im Tabellenfluss ohne Überlappung. */
.team-management-panel .team-user-more-row[hidden],
.admin-container .pending-user-more-row[hidden]{
  display:none!important;
}
.team-management-panel .admin-table.team-management-table,
.admin-container .admin-table.admin-pending-table{
  width:100%!important;
  min-width:0!important;
  table-layout:auto!important;
}
.team-management-panel .team-management-table-wrap,
.admin-container .admin-pending-table-wrap{
  overflow-x:visible!important;
  overflow-y:visible!important;
  padding-bottom:18px!important;
}
.team-management-panel .team-user-cell,
.admin-container .pending-user-cell{
  position:static!important;
  width:auto!important;
  min-width:220px!important;
  max-width:none!important;
}
.team-management-panel .team-user-more-toggle,
.admin-container .pending-user-more-toggle{
  margin-top:10px!important;
  width:100%!important;
  max-width:240px!important;
  justify-content:center!important;
  white-space:nowrap!important;
}
.team-management-panel .team-user-more-row td,
.admin-container .pending-user-more-row td{
  padding:0 12px 14px!important;
  background:rgba(7,18,36,.38)!important;
  border-bottom:1px solid rgba(255,255,255,.10)!important;
  overflow:visible!important;
}
.team-management-panel .team-user-more-panel,
.admin-container .pending-user-more-panel{
  margin:4px 0 2px!important;
  padding:16px!important;
  border-radius:20px!important;
  border:1px solid rgba(116,185,255,.28)!important;
  background:linear-gradient(145deg,rgba(13,28,53,.98),rgba(7,18,36,.96))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 14px 30px rgba(0,0,0,.22)!important;
}
.team-management-panel .team-user-more-panel-head,
.admin-container .pending-user-more-panel-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin-bottom:12px!important;
  color:#f7fbff!important;
  -webkit-text-fill-color:#f7fbff!important;
}
.team-management-panel .team-user-more-grid,
.admin-container .pending-user-more-grid{
  position:static!important;
  left:auto!important;
  top:auto!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;
  gap:12px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.team-management-panel .team-user-more-grid label,
.admin-container .pending-user-more-grid label{
  min-width:0!important;
  display:grid!important;
  gap:6px!important;
  color:rgba(226,232,240,.92)!important;
  -webkit-text-fill-color:rgba(226,232,240,.92)!important;
  font-weight:850!important;
  font-size:.82rem!important;
}
.team-management-panel .admin-table.team-management-table td:nth-child(7),
.admin-container .admin-table.admin-pending-table td:nth-child(6){
  width:176px!important;
  min-width:176px!important;
  max-width:176px!important;
}
.team-management-panel .team-user-actions,
.admin-container .pending-user-actions,
.admin-container .admin-table .inline-actions{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  gap:8px!important;
  width:100%!important;
  min-width:0!important;
}
.team-management-panel .team-user-actions button,
.admin-container .pending-user-actions button,
.admin-container .admin-table .inline-actions button{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:auto!important;
  min-height:38px!important;
  padding:10px 10px!important;
  text-align:center!important;
  justify-content:center!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.team-management-panel .team-management-table .sai-design-select,
.admin-container .admin-pending-table .sai-design-select,
.admin-container .admin-table .sai-design-select{
  min-width:0!important;
  width:100%!important;
}
.team-management-panel .team-management-table input.inline-input,
.admin-container .admin-pending-table input.inline-input{
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
@media(max-width:980px){
  .team-management-panel .team-management-table-wrap,
  .admin-container .admin-pending-table-wrap{
    overflow-x:auto!important;
  }
  .team-management-panel .admin-table.team-management-table,
  .admin-container .admin-table.admin-pending-table{
    min-width:820px!important;
  }
  .team-management-panel .team-user-more-grid,
  .admin-container .pending-user-more-grid{
    grid-template-columns:repeat(2,minmax(180px,1fr))!important;
  }
}
@media(max-width:640px){
  .team-management-panel .team-user-more-grid,
  .admin-container .pending-user-more-grid{
    grid-template-columns:1fr!important;
  }
}

/* 2026-05-08 Nachfix 4: kein nerviges Seiten-Wackeln + schmalere, sauber sitzende Aktionsbuttons. */
html{
  scrollbar-gutter:stable!important;
  scroll-behavior:auto!important;
}
body{
  overflow-y:scroll!important;
}
.ui-ripple,
button::after,
.button-link::after{
  display:none!important;
  animation:none!important;
}
button,
.button-link,
.nav-pill,
.tab-btn,
.overhaul-shortcut,
.sai-custom-select__button,
.sai-custom-select__option{
  transform:none!important;
  transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease,opacity .16s ease!important;
}
button:hover,
button:active,
button:focus,
.button-link:hover,
.button-link:active,
.button-link:focus,
.nav-pill:hover,
.nav-pill:active,
.nav-pill:focus,
.tab-btn:hover,
.tab-btn:active,
.tab-btn:focus,
.overhaul-shortcut:hover,
.overhaul-shortcut:active,
.overhaul-shortcut:focus,
.sai-custom-select__button:hover,
.sai-custom-select__button:active,
.sai-custom-select__button:focus,
.magic-pressed{
  transform:none!important;
  filter:none!important;
}
.team-management-panel .admin-table.team-management-table th:nth-child(7),
.team-management-panel .admin-table.team-management-table td:nth-child(7),
.admin-container .admin-table.admin-pending-table th:nth-child(6),
.admin-container .admin-table.admin-pending-table td:nth-child(6){
  width:142px!important;
  min-width:142px!important;
  max-width:142px!important;
  padding-left:10px!important;
  padding-right:10px!important;
  box-sizing:border-box!important;
  vertical-align:top!important;
}
.team-management-panel .team-user-actions,
.admin-container .pending-user-actions,
.admin-container .admin-pending-table .inline-actions{
  width:100%!important;
  max-width:118px!important;
  margin:0 auto!important;
  display:flex!important;
  flex-direction:column!important;
  gap:7px!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
}
.team-management-panel .team-user-actions button,
.admin-container .pending-user-actions button,
.admin-container .admin-pending-table .inline-actions button{
  width:100%!important;
  min-width:0!important;
  max-width:118px!important;
  box-sizing:border-box!important;
  min-height:34px!important;
  padding:8px 8px!important;
  border-radius:12px!important;
  font-size:.78rem!important;
  line-height:1.08!important;
  white-space:normal!important;
  overflow:visible!important;
  text-align:center!important;
  justify-content:center!important;
}
.team-management-panel .team-user-more-grid,
.admin-container .pending-user-more-grid{
  grid-template-columns:repeat(auto-fit,minmax(195px,1fr))!important;
}
.team-management-panel .team-user-more-panel,
.admin-container .pending-user-more-panel{
  max-width:100%!important;
  overflow:visible!important;
}
.team-management-panel .team-management-table-wrap,
.admin-container .admin-pending-table-wrap{
  overflow-x:clip!important;
}
@media(max-width:980px){
  .team-management-panel .team-management-table-wrap,
  .admin-container .admin-pending-table-wrap{
    overflow-x:auto!important;
  }
  .team-management-panel .team-user-actions,
  .admin-container .pending-user-actions,
  .admin-container .admin-pending-table .inline-actions{
    max-width:116px!important;
  }
}

/* FINAL: Multi-Upload schöner und dauerhaft sichtbar */
.files-panel-compact #fileInput {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.files-panel-compact .legacyDropZoneDisabled {
  min-height: 86px !important;
  cursor: pointer !important;
}
.files-panel-compact .legacyDropZoneDisabled small {
  display: block !important;
  margin-top: 4px !important;
  color: rgba(255,255,255,.68) !important;
  font-size: .8rem !important;
  line-height: 1.25 !important;
}
.files-panel-compact .files-selected-list {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
  min-height: 34px !important;
  align-items: center !important;
  padding: 9px 10px !important;
  border-radius: 15px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  background: rgba(0,0,0,.12) !important;
  color: rgba(255,255,255,.78) !important;
  font-size: .82rem !important;
}
.files-panel-compact .files-selected-list span {
  max-width: 100% !important;
  padding: 5px 8px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.10) !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.files-panel-compact .files-action-submit,
.files-panel-compact #uploadBtn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 46px !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.unified-attachment-link,
.sai-chat-message .button-link,
.sai2-chat-msg .button-link {
  display: inline-flex !important;
  width: fit-content !important;
  max-width: 100% !important;
  margin-top: 6px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}


/* FINAL FIX: Datei-Upload-Panel im normalen Layout, damit der Hochladen-Button nie verdeckt wird */
.files-panel-compact .files-action-sheet {
  position: static !important;
  inset: auto !important;
  width: min(560px, 100%) !important;
  max-width: 100% !important;
  margin: 12px 0 16px auto !important;
  z-index: 1 !important;
}
.files-panel-compact .files-action-sheet-card {
  width: 100% !important;
  box-sizing: border-box !important;
}
.files-panel-compact .files-action-pane {
  display: grid !important;
  gap: 10px !important;
}
.files-panel-compact #uploadBtn.files-action-submit,
.files-panel-compact .files-action-submit {
  display: inline-flex !important;
  width: 100% !important;
  min-height: 48px !important;
  flex-shrink: 0 !important;
  position: relative !important;
  z-index: 2 !important;
}
.files-panel-compact .files-browser-shell #fileList.file-tile-grid,
.files-panel-compact .files-browser-shell #fileList.file-tile-grid-polished {
  clear: both !important;
}
@media (max-width: 680px) {
  .files-panel-compact .files-action-sheet {
    width: 100% !important;
    margin: 10px 0 14px 0 !important;
  }
}

/* FINAL 2026-05-11: Glocke & Profil wieder scrollbar + Bearbeiten sichtbar */
.notification-popover,
.profile-popover {
  max-height: min(76vh, 680px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  scrollbar-gutter: stable !important;
  overscroll-behavior: contain !important;
}

.notification-popover .notification-list,
.profile-popover .profile-popover-body {
  max-height: none !important;
  overflow: visible !important;
}

.notification-popover-foot,
.profile-edit-menu-item,
#sai2OpenProfileDetails {
  position: sticky !important;
  bottom: 0 !important;
  z-index: 2 !important;
  margin-top: 12px !important;
  background: rgba(9, 17, 32, .98) !important;
  border: 1px solid rgba(222,236,255,.16) !important;
  box-shadow: 0 -10px 22px rgba(0,0,0,.22) !important;
}

#sai2ProfileModal .modal-content,
#saiProfileModal .modal-content,
.profile-modal .modal-content {
  max-height: min(86vh, 760px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain !important;
}

.profile-popover input,
.profile-popover select,
.profile-popover textarea,
#sai2ProfileModal input,
#sai2ProfileModal select,
#sai2ProfileModal textarea {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* FINAL UI-SICHERHEITSCHECK 2026-05-11:
   Popovers/Modals dürfen nicht abschneiden oder aus dem Viewport laufen. */
.portal-header,
.header-row {
  min-width: 0 !important;
}
.portal-header > *,
.header-row > *,
.portal-actions.icon-toolbar,
.icon-toolbar,
.header-widget,
.notification-widget,
.profile-widget,
.settings-widget {
  min-width: 0 !important;
}

.notification-popover,
.profile-popover {
  width: min(420px, calc(100vw - 28px)) !important;
  min-width: min(320px, calc(100vw - 28px)) !important;
  max-width: calc(100vw - 28px) !important;
  max-height: min(76vh, 680px) !important;
  padding: 14px !important;
  display: block !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}
.settings-popover {
  width: min(260px, calc(100vw - 28px)) !important;
  min-width: min(230px, calc(100vw - 28px)) !important;
  max-width: calc(100vw - 28px) !important;
  overflow: visible !important;
}

.notification-popover[hidden],
.profile-popover[hidden],
.settings-popover[hidden],
.header-popover[hidden] {
  display: none !important;
}

.notification-popover *,
.profile-popover *,
.settings-popover *,
#sai2ProfileModal *,
#saiProfileModal * {
  min-width: 0 !important;
  box-sizing: border-box !important;
}

.notification-item-main {
  grid-template-columns: 30px minmax(0, 1fr) !important;
  align-items: flex-start !important;
}
.notification-content,
.notification-title-row,
.profile-card-mini,
.profile-data-row,
.sai-profile-block {
  min-width: 0 !important;
  max-width: 100% !important;
}
.notification-title-row,
.profile-data-row {
  flex-wrap: wrap !important;
  gap: 8px 12px !important;
}
.notification-popover .notification-content,
.notification-popover .notification-content strong,
.notification-popover .notification-content div,
.notification-popover .subtle,
.profile-popover,
.profile-popover .profile-title,
.profile-popover .profile-data-row,
.profile-popover .profile-data-row span,
.profile-popover .profile-data-row strong {
  color: #eef7ff !important;
  -webkit-text-fill-color: #eef7ff !important;
  overflow-wrap: anywhere !important;
  white-space: normal !important;
}
.notification-popover .subtle,
.profile-popover .subtle,
.profile-popover .profile-data-row span {
  color: rgba(226,239,255,.74) !important;
  -webkit-text-fill-color: rgba(226,239,255,.74) !important;
}
.notification-popover .badge {
  color: #eef7ff !important;
  -webkit-text-fill-color: #eef7ff !important;
  background: rgba(139,92,246,.24) !important;
  border-color: rgba(222,236,255,.18) !important;
}
.profile-popover input,
.profile-popover select,
.profile-popover textarea,
#sai2ProfileModal input,
#sai2ProfileModal select,
#sai2ProfileModal textarea {
  width: 100% !important;
}
.profile-edit-menu-item,
#sai2OpenProfileDetails,
.notification-popover-foot {
  width: 100% !important;
  left: 0 !important;
  right: 0 !important;
}

.portal-grid > *,
.admin-grid > *,
.stats-grid > *,
.cards-grid > *,
.task-layout-modern > *,
.section-header > * {
  min-width: 0 !important;
}
.section-header {
  flex-wrap: wrap !important;
  gap: 10px 14px !important;
}

.modal {
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 16px !important;
}
.modal-content {
  max-width: min(980px, calc(100vw - 32px)) !important;
  max-height: min(88vh, 820px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}
#sai2ProfileModal .modal-content,
#saiProfileModal .modal-content,
.profile-modal .modal-content {
  max-width: min(720px, calc(100vw - 32px)) !important;
}

@media (max-width: 720px), (max-height: 680px) {
  .header-popover,
  .notification-popover,
  .profile-popover,
  .settings-popover {
    position: fixed !important;
    top: 76px !important;
    left: 14px !important;
    right: 14px !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    max-height: calc(100vh - 94px) !important;
  }
  .settings-popover {
    overflow-y: auto !important;
  }
  .portal-header,
  .header-row {
    align-items: stretch !important;
  }
  .portal-actions.icon-toolbar,
  .icon-toolbar {
    justify-content: flex-start !important;
    overflow: visible !important;
  }
  .sai2-form-grid,
  .admin-grid,
  .portal-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Nachschärfung: Standard-Modals bleiben kompakt, nur Info-/Bearbeiten-Dialoge werden breit. */
.modal-content {
  max-width: min(560px, calc(100vw - 32px)) !important;
}
#sai2GroupInfoModal .modal-content,
#sai2DirectInfoModal .modal-content,
#unifiedInfoModal .modal-content,
.unified-info-modal .modal-content {
  max-width: min(980px, calc(100vw - 32px)) !important;
}
#portalRecommendationEditModal .modal-content,
.recommendation-edit-modal .modal-content,
#sai2ProfileModal .modal-content,
#saiProfileModal .modal-content,
.profile-modal .modal-content {
  max-width: min(720px, calc(100vw - 32px)) !important;
}


/* Live-Daten: ruhiges Dashboard + Portal-Leistung in Statistiken+ */
.stats-plus-performance-card{
  margin-top:16px!important;
  overflow:hidden!important;
}
.portal-performance-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px!important;
  min-width:0!important;
}
.portal-performance-card{
  min-width:0!important;
  border:1px solid rgba(255,255,255,.12)!important;
  background:rgba(255,255,255,.07)!important;
  border-radius:18px!important;
  padding:14px!important;
  box-shadow:0 14px 34px rgba(0,0,0,.14)!important;
  overflow:hidden!important;
}
.portal-performance-card span,
.portal-performance-card small{
  display:block!important;
  color:var(--sai-muted-strong,#d5d9e8)!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.portal-performance-card strong{
  display:block!important;
  margin:6px 0 4px!important;
  color:var(--sai-text,#fff)!important;
  font-size:clamp(1.05rem,2vw,1.45rem)!important;
  line-height:1.15!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
@media(max-width:980px){.portal-performance-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(max-width:560px){.portal-performance-grid{grid-template-columns:1fr!important;}}

/* Ruhiger Dashboard-Start + weiche Live-Aktualisierungen */
body.sai-portal-booting #overviewPanel,
body.sai-portal-booting .portal-nav,
body.sai-portal-booting .portal-header {
  transition: opacity .28s ease, transform .28s ease !important;
}
body.sai-portal-booting #overviewPanel {
  opacity: .82 !important;
  transform: translateY(4px) !important;
}
body.sai-portal-ready #overviewPanel {
  animation: saiDashboardReady .34s ease both;
}
@keyframes saiDashboardReady {
  from { opacity: .86; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}
.sai-soft-updated {
  animation: saiSoftUpdated .46s cubic-bezier(.22,1,.36,1) both !important;
  will-change: opacity, transform, filter;
}
@keyframes saiSoftUpdated {
  0% { opacity: .48; transform: translateY(8px) scale(.992); filter: blur(2px); }
  55% { opacity: 1; filter: blur(0); }
  100% { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
}
#overviewStats,
#overviewTasks,
#overviewAppointments,
#overviewReports,
#overviewFiles,
#overviewRecommendations,
#taskList,
#appointmentList,
#myReportsBox,
#recommendationsBox,
#fileList,
#notificationPopoverBox {
  transition: min-height .28s ease, opacity .22s ease, transform .22s ease !important;
  contain: layout paint;
}
#overviewStats .stat-card,
#overviewTasks .summary-item,
#overviewAppointments .summary-item,
#overviewReports .summary-item,
#overviewFiles .summary-item,
#overviewRecommendations .summary-item {
  animation: saiOverviewItemIn .34s ease both;
}
@keyframes saiOverviewItemIn {
  from { opacity: .55; transform: translateY(5px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  body.sai-portal-ready #overviewPanel,
  .sai-soft-updated,
  #overviewStats .stat-card,
  #overviewTasks .summary-item,
  #overviewAppointments .summary-item,
  #overviewReports .summary-item,
  #overviewFiles .summary-item,
  #overviewRecommendations .summary-item {
    animation: none !important;
    transform: none !important;
    filter: none !important;
  }
}

/* Gruppeninfo: stabile Mitgliederkarten, keine Verzerrung bei langen Namen oder Buttons */
#unifiedInfoModal .unified-member-grid,
.unified-info-modal .unified-member-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  gap: 12px !important;
  align-items: stretch !important;
}
#unifiedInfoModal .unified-member-card,
.unified-info-modal .unified-member-card {
  display: grid !important;
  grid-template-columns: 54px minmax(0, 1fr) auto !important;
  grid-template-areas: "avatar main action" !important;
  align-items: center !important;
  gap: 12px !important;
  min-height: 86px !important;
  padding: 14px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}
#unifiedInfoModal .unified-member-avatar,
.unified-info-modal .unified-member-avatar,
#unifiedInfoModal .unified-profile-avatar-img,
.unified-info-modal .unified-profile-avatar-img {
  grid-area: avatar !important;
  width: 54px !important;
  height: 54px !important;
  min-width: 54px !important;
  max-width: 54px !important;
  border-radius: 18px !important;
  object-fit: cover !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  align-self: center !important;
}
#unifiedInfoModal .unified-member-main,
.unified-info-modal .unified-member-main,
#unifiedInfoModal .unified-member-card > div:not(.unified-member-actions):not(.unified-member-avatar),
.unified-info-modal .unified-member-card > div:not(.unified-member-actions):not(.unified-member-avatar) {
  grid-area: main !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 3px !important;
}
#unifiedInfoModal .unified-member-actions,
.unified-info-modal .unified-member-actions {
  grid-area: action !important;
  min-width: 0 !important;
  max-width: 128px !important;
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
}
#unifiedInfoModal .unified-member-card strong,
#unifiedInfoModal .unified-member-card small,
#unifiedInfoModal .unified-profile-link,
.unified-info-modal .unified-member-card strong,
.unified-info-modal .unified-member-card small,
.unified-info-modal .unified-profile-link {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  line-height: 1.22 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  min-height: 0 !important;
  text-align: left !important;
}
#unifiedInfoModal .unified-member-card strong,
.unified-info-modal .unified-member-card strong {
  font-size: .98rem !important;
  font-weight: 900 !important;
}
#unifiedInfoModal .unified-member-card small,
.unified-info-modal .unified-member-card small {
  font-size: .84rem !important;
  opacity: .78 !important;
}
#unifiedInfoModal .mini-member-btn,
.unified-info-modal .mini-member-btn {
  width: auto !important;
  min-width: 94px !important;
  max-width: 120px !important;
  min-height: 38px !important;
  height: auto !important;
  padding: 8px 12px !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  writing-mode: horizontal-tb !important;
  word-break: normal !important;
  align-self: center !important;
  justify-self: end !important;
}
#unifiedInfoModal .self-member-note,
.unified-info-modal .self-member-note {
  width: fit-content !important;
  max-width: 100% !important;
  white-space: nowrap !important;
  margin-left: 0 !important;
}
@media (max-width: 760px) {
  #unifiedInfoModal .unified-member-grid,
  .unified-info-modal .unified-member-grid {
    grid-template-columns: 1fr !important;
  }
  #unifiedInfoModal .unified-member-card,
  .unified-info-modal .unified-member-card {
    grid-template-columns: 48px minmax(0, 1fr) !important;
    grid-template-areas: "avatar main" ". action" !important;
  }
  #unifiedInfoModal .unified-member-avatar,
  .unified-info-modal .unified-member-avatar,
  #unifiedInfoModal .unified-profile-avatar-img,
  .unified-info-modal .unified-profile-avatar-img {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
  }
  #unifiedInfoModal .unified-member-actions,
  .unified-info-modal .unified-member-actions {
    justify-content: flex-start !important;
    max-width: 100% !important;
  }
}

/* === ScheduleAI Logo Integration 2026-05-11 === */
.sai-logo {
  display: block;
  flex: 0 0 auto;
  object-fit: contain;
  filter: drop-shadow(0 12px 26px rgba(45, 211, 255, .28));
  user-select: none;
  -webkit-user-drag: none;
}

.portal-brand-wrap {
  display: flex;
  align-items: center;
  gap: 16px;
  min-width: 0;
  max-width: 100%;
}

.portal-brand-text {
  min-width: 0;
}

.portal-brand-text .portal-title,
.portal-brand-text h2,
.portal-brand-text .portal-subtitle,
.portal-brand-text .subtle {
  min-width: 0;
  overflow-wrap: anywhere;
}

.sai-logo-dashboard {
  width: clamp(54px, 6vw, 82px);
  height: clamp(54px, 6vw, 82px);
  padding: 4px;
  border-radius: 24px;
  background: radial-gradient(circle at 50% 42%, rgba(79, 255, 230, .16), rgba(10, 22, 38, .32) 58%, transparent 74%);
}

.sai-logo-admin {
  width: 58px;
  height: 58px;
  padding: 3px;
  border-radius: 18px;
  background: radial-gradient(circle at 50% 42%, rgba(79, 255, 230, .14), rgba(10, 22, 38, .26) 62%, transparent 76%);
}

.auth-brand-logo {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  width: fit-content;
  max-width: 100%;
  padding: 8px 14px 8px 8px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, rgba(255,255,255,.12), rgba(77, 222, 255, .08)) !important;
  border: 1px solid rgba(148, 221, 255, .18) !important;
  box-shadow: 0 16px 40px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.14);
}

.sai-logo-auth {
  width: 48px;
  height: 48px;
}

.auth-brand-logo span {
  white-space: nowrap;
  background: linear-gradient(90deg, #fff, #69f7e6, #69a8ff);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent !important;
  font-weight: 900;
  letter-spacing: -.03em;
}

.admin-brand-header {
  align-items: center !important;
}

.admin-brand-wrap {
  flex: 1 1 auto;
}

@media (max-width: 720px) {
  .portal-brand-wrap {
    gap: 12px;
    align-items: flex-start;
  }

  .sai-logo-dashboard {
    width: 56px;
    height: 56px;
    border-radius: 18px;
  }

  .sai-logo-admin {
    width: 50px;
    height: 50px;
  }

  .sai-logo-auth {
    width: 42px;
    height: 42px;
  }

  .auth-brand-logo {
    padding-right: 12px !important;
  }
}

/* === ScheduleAI Logo Size Upgrade 2026-05-11 === */
.portal-brand-wrap {
  gap: clamp(18px, 2.2vw, 26px) !important;
  align-items: center !important;
}

.sai-logo-dashboard {
  width: clamp(82px, 7.8vw, 118px) !important;
  height: clamp(82px, 7.8vw, 118px) !important;
  min-width: clamp(82px, 7.8vw, 118px) !important;
  padding: 6px !important;
  border-radius: 30px !important;
  filter: drop-shadow(0 16px 34px rgba(45, 211, 255, .34)) !important;
}

.admin-brand-header .sai-logo-admin,
.sai-logo-admin {
  width: 74px !important;
  height: 74px !important;
  min-width: 74px !important;
  padding: 5px !important;
  border-radius: 24px !important;
}

.auth-modern-page .auth-brand.auth-brand-logo,
.auth-brand-logo {
  gap: 16px !important;
  padding: 12px 22px 12px 12px !important;
  margin-bottom: 28px !important;
  border-radius: 999px !important;
}

.auth-modern-page .sai-logo-auth,
.sai-logo-auth {
  width: clamp(76px, 6.4vw, 96px) !important;
  height: clamp(76px, 6.4vw, 96px) !important;
  min-width: clamp(76px, 6.4vw, 96px) !important;
  filter: drop-shadow(0 18px 36px rgba(45, 211, 255, .36)) !important;
}

.auth-brand-logo span {
  font-size: clamp(1.35rem, 2.4vw, 2rem) !important;
  line-height: 1 !important;
}

@media (max-width: 720px) {
  .portal-brand-wrap {
    gap: 14px !important;
  }

  .sai-logo-dashboard {
    width: 68px !important;
    height: 68px !important;
    min-width: 68px !important;
    border-radius: 22px !important;
  }

  .sai-logo-admin {
    width: 62px !important;
    height: 62px !important;
    min-width: 62px !important;
  }

  .auth-modern-page .sai-logo-auth,
  .sai-logo-auth {
    width: 66px !important;
    height: 66px !important;
    min-width: 66px !important;
  }

  .auth-modern-page .auth-brand.auth-brand-logo,
  .auth-brand-logo {
    gap: 13px !important;
    padding: 10px 16px 10px 10px !important;
  }

  .auth-brand-logo span {
    font-size: 1.25rem !important;
  }
}

@media (max-width: 420px) {
  .sai-logo-dashboard {
    width: 58px !important;
    height: 58px !important;
    min-width: 58px !important;
  }

  .auth-modern-page .sai-logo-auth,
  .sai-logo-auth {
    width: 58px !important;
    height: 58px !important;
    min-width: 58px !important;
  }
}
