
/* V640 – Einstellungen wie Admin-Panel, Desktop + APK/Handy */
html.settings-ui-v640-active body {
  background: #07111f !important;
}

.settings-shell-v640 {
  width: min(1320px, calc(100vw - 24px)) !important;
  margin: 14px auto 34px auto !important;
  color: #eaf2ff !important;
  font-family: inherit !important;
}

.settings-header-v640 {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  padding: 18px !important;
  border: 1px solid rgba(118,150,202,.22) !important;
  border-radius: 22px !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(50, 105, 220, .20), transparent 34%),
    linear-gradient(180deg, rgba(15,31,55,.96), rgba(9,20,35,.96)) !important;
  box-shadow: 0 16px 40px rgba(0,0,0,.28) !important;
  margin-bottom: 14px !important;
}

.settings-title-wrap-v640 {
  display: flex !important;
  align-items: center !important;
  gap: 13px !important;
  min-width: 0 !important;
}

.settings-logo-v640 {
  width: 48px !important;
  height: 48px !important;
  border-radius: 16px !important;
  display: grid !important;
  place-items: center !important;
  background: linear-gradient(145deg, rgba(48,92,170,.95), rgba(23,42,76,.95)) !important;
  border: 1px solid rgba(141,174,232,.32) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12) !important;
}

.settings-header-v640 h1 {
  margin: 0 !important;
  color: #fff !important;
  font-size: clamp(22px, 3vw, 34px) !important;
  line-height: 1.1 !important;
  font-weight: 900 !important;
}

.settings-header-v640 p {
  margin: 4px 0 0 0 !important;
  color: #91a8c9 !important;
  font-size: 13px !important;
}

.settings-search-v640 {
  width: min(380px, 40vw) !important;
  flex: 0 0 auto !important;
}

.settings-search-v640 input {
  width: 100% !important;
  min-height: 46px !important;
  border-radius: 15px !important;
  border: 1px solid rgba(115,150,210,.28) !important;
  background: rgba(5,13,25,.82) !important;
  color: #eaf2ff !important;
  padding: 0 14px !important;
  outline: none !important;
}

.settings-layout-v640 {
  display: grid !important;
  grid-template-columns: 285px minmax(0, 1fr) !important;
  gap: 14px !important;
  align-items: start !important;
}

.settings-category-nav-v640 {
  position: sticky !important;
  top: 12px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  padding: 12px !important;
  border-radius: 22px !important;
  border: 1px solid rgba(118,150,202,.20) !important;
  background: linear-gradient(180deg, rgba(10,22,39,.96), rgba(7,15,27,.96)) !important;
  box-shadow: 0 16px 38px rgba(0,0,0,.22) !important;
  max-height: calc(100vh - 26px) !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
}

.settings-nav-btn-v640 {
  min-height: 46px !important;
  border: 1px solid transparent !important;
  border-radius: 14px !important;
  background: transparent !important;
  color: #c8d7ef !important;
  display: grid !important;
  grid-template-columns: 28px 1fr !important;
  gap: 10px !important;
  align-items: center !important;
  text-align: left !important;
  padding: 0 12px !important;
  font-weight: 800 !important;
  cursor: pointer !important;
}

.settings-nav-btn-v640.active {
  color: #fff !important;
  background: linear-gradient(180deg, rgba(46,110,234,.96), rgba(36,79,191,.96)) !important;
  border-color: rgba(143,180,255,.55) !important;
}

.settings-content-v640 {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  min-width: 0 !important;
}

.settings-category-v640 {
  border: 1px solid rgba(98,130,185,.20) !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(43,85,160,.14), transparent 28%),
    rgba(8,18,32,.88) !important;
  box-shadow: 0 12px 34px rgba(0,0,0,.18) !important;
}

.settings-category-head-v640 {
  width: 100% !important;
  min-height: 58px !important;
  border: 0 !important;
  background: rgba(18,33,57,.82) !important;
  color: #eef4ff !important;
  display: grid !important;
  grid-template-columns: 34px 1fr auto 28px !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 0 16px !important;
  text-align: left !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  cursor: pointer !important;
}

.settings-cat-count-v640 {
  min-width: 28px !important;
  height: 26px !important;
  border-radius: 999px !important;
  display: grid !important;
  place-items: center !important;
  background: rgba(120,160,235,.16) !important;
  color: #bcd1f3 !important;
  font-size: 12px !important;
}

.settings-cat-chevron-v640 {
  transition: transform .18s ease !important;
  color: #9fb6d9 !important;
}

.settings-category-v640.open .settings-cat-chevron-v640 {
  transform: rotate(180deg) !important;
}

.settings-category-body-v640 {
  display: none !important;
  padding: 12px !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

.settings-category-v640.open .settings-category-body-v640 {
  display: grid !important;
}

.settings-item-v640 {
  min-width: 0 !important;
  border: 1px solid rgba(118,150,202,.18) !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg, rgba(14,28,48,.88), rgba(9,19,34,.88)) !important;
  padding: 14px !important;
  color: #dce8ff !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
  overflow: hidden !important;
}

.settings-item-label-v640 {
  font-size: 13px !important;
  font-weight: 900 !important;
  color: #f2f6ff !important;
  margin-bottom: 10px !important;
  padding-bottom: 9px !important;
  border-bottom: 1px solid rgba(118,150,202,.15) !important;
}

.settings-control-v640,
.settings-item-v640 input,
.settings-item-v640 select,
.settings-item-v640 textarea {
  width: 100% !important;
  min-height: 44px !important;
  border-radius: 13px !important;
  border: 1px solid rgba(115,150,210,.24) !important;
  background: rgba(4,12,23,.72) !important;
  color: #eaf2ff !important;
  padding: 0 12px !important;
  outline: none !important;
}

.settings-item-v640 textarea {
  min-height: 90px !important;
  padding-top: 10px !important;
}

.settings-button-v640,
.settings-item-v640 button {
  min-height: 42px !important;
  border-radius: 13px !important;
  border: 1px solid rgba(115,150,210,.28) !important;
  background: rgba(31, 61, 112, .86) !important;
  color: #fff !important;
  font-weight: 800 !important;
  padding: 0 13px !important;
  cursor: pointer !important;
  touch-action: manipulation !important;
}

.settings-button-v640:hover,
.settings-item-v640 button:hover {
  background: rgba(46, 92, 170, .95) !important;
}

.settings-item-v640 label {
  color: #b7c8e6 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

.settings-item-v640 table {
  display: block !important;
  max-width: 100% !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
}

@media (max-width: 920px) {
  .settings-shell-v640 {
    width: calc(100vw - 16px) !important;
    margin: 8px auto calc(84px + env(safe-area-inset-bottom)) auto !important;
  }

  .settings-header-v640 {
    flex-direction: column !important;
    align-items: stretch !important;
    padding: 14px !important;
    border-radius: 19px !important;
  }

  .settings-search-v640 {
    width: 100% !important;
  }

  .settings-layout-v640 {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
  }

  .settings-category-nav-v640 {
    position: sticky !important;
    top: 0 !important;
    z-index: 30 !important;
    flex-direction: row !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    max-height: none !important;
    padding: 9px !important;
    border-radius: 17px !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .settings-nav-btn-v640 {
    flex: 0 0 auto !important;
    min-width: 150px !important;
    min-height: 44px !important;
    grid-template-columns: 24px 1fr !important;
    font-size: 13px !important;
  }

  .settings-category-head-v640 {
    min-height: 56px !important;
    padding: 0 13px !important;
    grid-template-columns: 30px 1fr auto 26px !important;
  }

  .settings-category-body-v640,
  .settings-category-v640.open .settings-category-body-v640 {
    display: flex !important;
    flex-direction: column !important;
    padding: 10px !important;
  }

  .settings-item-v640 {
    padding: 13px !important;
    border-radius: 16px !important;
  }

  .settings-item-v640 input,
  .settings-item-v640 select,
  .settings-item-v640 textarea,
  .settings-item-v640 button,
  .settings-button-v640 {
    min-height: 48px !important;
    font-size: 15px !important;
  }
}

/* Android APK extra touch friendly */
html.tims-native-app .settings-shell-v640 {
  margin-bottom: calc(98px + env(safe-area-inset-bottom)) !important;
}

html.tims-native-app .settings-category-nav-v640 {
  touch-action: pan-x !important;
}

html.tims-native-app .settings-content-v640,
html.tims-native-app .settings-category-body-v640 {
  touch-action: pan-y !important;
}
