/*
  PaperDesk Settings shell stylesheet.
  Deferred from the active shared shell CSS and loaded when Settings opens.
*/
/* Settings inner tabs: organize column, dropdown, form, and storage tools inside each vertical settings tab. */
#settingsDialog.settings-dialog .settings-inner-tabs {
  position: sticky !important;
  top: 0 !important;
  z-index: 4 !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  min-width: 0 !important;
  margin: 0 0 12px !important;
  padding: 8px 0 10px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  border-bottom: 1px solid rgba(203, 213, 225, 0.74) !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.92)) !important;
  scrollbar-width: thin !important;
}

#settingsDialog.settings-dialog .settings-inner-tab {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  min-width: 104px !important;
  min-height: 34px !important;
  padding: 0 14px !important;
  border: 1px solid rgba(148, 163, 184, 0.44) !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  box-shadow: none !important;
  color: #334155 !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  text-align: center !important;
  white-space: nowrap !important;
}

#settingsDialog.settings-dialog .settings-inner-tab:hover,
#settingsDialog.settings-dialog .settings-inner-tab:focus-visible {
  border-color: rgba(37, 99, 235, 0.46) !important;
  background: #f8fafc !important;
  color: #0f172a !important;
  outline: none !important;
}

#settingsDialog.settings-dialog .settings-inner-tab.active,
#settingsDialog.settings-dialog .settings-inner-tab[aria-selected="true"] {
  border-color: rgba(37, 99, 235, 0.64) !important;
  background: #eff6ff !important;
  color: #1d4ed8 !important;
  box-shadow: inset 0 -2px 0 #2563eb !important;
}

#settingsDialog.settings-dialog .settings-inner-tab-pane[hidden] {
  display: none !important;
}

@media (max-width: 860px) {
  #settingsDialog.settings-dialog .settings-inner-tabs {
    margin-left: -2px !important;
    margin-right: -2px !important;
    padding-left: 2px !important;
    padding-right: 2px !important;
  }

  #settingsDialog.settings-dialog .settings-inner-tab {
    min-width: 96px !important;
    padding: 0 12px !important;
  }
}

/* USER UPDATE: compact professional Settings surface with near-full workspace shell. */
#settingsDialog.settings-dialog,
#settingsDialog.settings-dialog[open] {
  width: calc(100vw - 24px) !important;
  max-width: calc(100vw - 24px) !important;
  height: calc(100vh - 24px) !important;
  max-height: calc(100vh - 24px) !important;
  overflow: hidden !important;
  border: 1px solid var(--pd-sidebar-border, #e5e7eb) !important;
  border-radius: 12px !important;
  background: var(--pd-sidebar-background, #fafafa) !important;
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.22) !important;
}

#settingsDialog.settings-dialog .settings-panel {
  grid-template-columns: 300px minmax(0, 1fr) !important;
  grid-template-rows: 64px minmax(0, 1fr) !important;
  height: 100% !important;
  max-height: calc(100vh - 24px) !important;
  overflow: hidden !important;
  border-radius: inherit !important;
  background: var(--pd-sidebar-background, #fafafa) !important;
}

#settingsDialog.settings-dialog .settings-header {
  grid-column: 2 !important;
  grid-row: 1 !important;
  min-height: 48px !important;
  margin: 8px 8px 0 !important;
  padding: 8px 16px 8px 18px !important;
  border: 1px solid #e5e7eb !important;
  border-bottom: 0 !important;
  border-radius: 10px 10px 0 0 !important;
  background: #ffffff !important;
}

#settingsDialog.settings-dialog .settings-header::before {
  content: "" !important;
  width: 28px !important;
  height: 28px !important;
  flex-basis: 28px !important;
  margin-right: 10px !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06) !important;
}

#settingsDialog.settings-dialog .settings-header .eyebrow {
  margin-bottom: 2px !important;
  font-size: 0.68rem !important;
  letter-spacing: 0.12em !important;
}

#settingsDialog.settings-dialog .settings-title-row {
  gap: 10px !important;
}

#settingsDialog.settings-dialog .settings-header h2 {
  font-size: 1rem !important;
  line-height: 1.2 !important;
}

#settingsDialog.settings-dialog .settings-edit-approval {
  min-height: 32px !important;
  padding: 0 12px !important;
  border-radius: 8px !important;
  font-size: 0.78rem !important;
}

#settingsDialog.settings-dialog #closeSettingsButton {
  width: 32px !important;
  height: 32px !important;
  border-radius: 8px !important;
}

#settingsDialog.settings-dialog .settings-tabs {
  grid-column: 1 !important;
  grid-row: 1 / -1 !important;
  gap: 4px !important;
  margin: 8px 0 8px 8px !important;
  padding: 8px !important;
  border-right: 1px solid var(--pd-sidebar-border, #e5e7eb) !important;
  border-bottom: 0 !important;
  border-radius: 10px 0 0 10px !important;
  background: var(--pd-sidebar-background, #fafafa) !important;
  scrollbar-width: none !important;
}

#settingsDialog.settings-dialog .settings-tabs::-webkit-scrollbar,
#settingsDialog.settings-dialog .settings-tabs::-webkit-scrollbar-button,
#settingsDialog.settings-dialog .settings-tabs::-webkit-scrollbar-track,
#settingsDialog.settings-dialog .settings-tabs::-webkit-scrollbar-thumb {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

#settingsDialog.settings-dialog .settings-tabs::before {
  content: "Settings" !important;
  margin: 6px 8px 8px !important;
  color: var(--pd-sidebar-muted, #64748b) !important;
  font-family: var(--pd-english-ui-font, "Times New Roman", "Khmer OS Siemreap", serif) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
}

#settingsDialog.settings-dialog .settings-tab-group {
  display: grid !important;
  gap: 2px !important;
}

#settingsDialog.settings-dialog .settings-tab-group + .settings-tab-group {
  margin-top: 8px !important;
  padding-top: 8px !important;
  border-top: 1px solid rgba(148, 163, 184, 0.18) !important;
}

#settingsDialog.settings-dialog .settings-tab-group-label {
  padding: 0 8px 2px !important;
  color: var(--pd-sidebar-muted, #64748b) !important;
  font-family: var(--pd-english-ui-font, "Times New Roman", "Khmer OS Siemreap", serif) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  line-height: 1.3 !important;
  text-transform: uppercase !important;
}

#settingsDialog.settings-dialog .settings-tab-group-list {
  display: grid !important;
  gap: 2px !important;
}

#settingsDialog.settings-dialog .settings-tab {
  display: grid !important;
  grid-template-columns: 18px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 7px !important;
  min-height: 28px !important;
  padding: 5px 8px !important;
  border: 0 !important;
  border-radius: calc(var(--pd-sidebar-radius, 8px) - 2px) !important;
  color: var(--pd-sidebar-foreground, #334155) !important;
  background: transparent !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  box-shadow: none !important;
}

#settingsDialog.settings-dialog .settings-tab::before {
  content: none !important;
  display: none !important;
}

#settingsDialog.settings-dialog .settings-tab-marker {
  justify-self: center !important;
  width: 6px !important;
  height: 6px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--pd-sidebar-muted, #94a3b8) !important;
  box-shadow: none !important;
}

#settingsDialog.settings-dialog .settings-tab-label {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#settingsDialog.settings-dialog .settings-tab.active .settings-tab-marker {
  background: var(--pd-sidebar-primary, #2563eb) !important;
}

#settingsDialog.settings-dialog .settings-tab:hover,
#settingsDialog.settings-dialog .settings-tab:focus-visible {
  color: var(--pd-sidebar-accent-foreground, #0f172a) !important;
  background: var(--pd-sidebar-accent, #f1f5f9) !important;
  transform: none !important;
}

#settingsDialog.settings-dialog .settings-tab.active {
  color: var(--pd-sidebar-accent-foreground, #0f172a) !important;
  background: var(--pd-sidebar-accent, #eaf2ff) !important;
  font-weight: 600 !important;
  box-shadow: inset 3px 0 0 var(--pd-sidebar-primary, #2563eb) !important;
}

#settingsDialog.settings-dialog .settings-section {
  grid-column: 2 !important;
  grid-row: 2 !important;
  align-content: start !important;
  align-items: stretch !important;
  gap: 10px !important;
  grid-auto-rows: max-content !important;
  min-height: 0 !important;
  margin: 0 8px 8px !important;
  overflow: auto !important;
  padding: 16px 18px 18px !important;
  border: 1px solid #e5e7eb !important;
  border-top: 0 !important;
  border-radius: 0 0 10px 10px !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

#settingsDialog.settings-dialog .settings-tab-panel,
#settingsDialog.settings-dialog .settings-inner-tab-pane,
#settingsDialog.settings-dialog .settings-collapse-body {
  align-content: start !important;
  align-items: stretch !important;
  grid-auto-rows: max-content !important;
  justify-content: stretch !important;
}

#settingsDialog.settings-dialog .settings-inner-tab-pane {
  align-self: start !important;
  min-height: 0 !important;
}

#settingsDialog.settings-dialog .settings-section h3 {
  gap: 8px !important;
  margin-bottom: 0 !important;
  font-size: 1rem !important;
  line-height: 1.25 !important;
}

#settingsDialog.settings-dialog .settings-section h3::before {
  width: 5px !important;
  height: 22px !important;
}

#settingsDialog.settings-dialog .settings-section h4 {
  margin: 0 !important;
  font-size: 0.78rem !important;
  line-height: 1.25 !important;
}

#settingsDialog.settings-dialog .settings-inner-tabs {
  top: 0 !important;
  width: max-content !important;
  max-width: 100% !important;
  gap: 2px !important;
  margin: 0 0 12px !important;
  padding: 4px !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 9px !important;
  background: #f8fafc !important;
}

#settingsDialog.settings-dialog .settings-inner-tab {
  min-width: 88px !important;
  min-height: 28px !important;
  padding: 0 12px !important;
  border: 0 !important;
  border-radius: 7px !important;
  background: transparent !important;
  font-size: 0.76rem !important;
  font-weight: 600 !important;
}

#settingsDialog.settings-dialog .settings-inner-tab.active,
#settingsDialog.settings-dialog .settings-inner-tab[aria-selected="true"] {
  background: #ffffff !important;
  color: #1d4ed8 !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08) !important;
}

#settingsDialog.settings-dialog .settings-subsection,
#settingsDialog.settings-dialog .settings-add-row,
#settingsDialog.settings-dialog .settings-list,
#settingsDialog.settings-dialog .audit-log,
#settingsDialog.settings-dialog .reference-settings,
#settingsDialog.settings-dialog .settings-share-tools,
#settingsDialog.settings-dialog .settings-file-actions,
#settingsDialog.settings-dialog .dashboard-builder-grid,
#settingsDialog.settings-dialog .widget-builder-grid,
#settingsDialog.settings-dialog .dashboard-list {
  border-radius: 10px !important;
  box-shadow: none !important;
}

#settingsDialog.settings-dialog .settings-subsection,
#settingsDialog.settings-dialog .settings-add-row,
#settingsDialog.settings-dialog .settings-list {
  padding: 8px !important;
}

#settingsDialog.settings-dialog .settings-collapse-toggle {
  justify-content: space-between !important;
  min-height: 34px !important;
  padding: 6px 8px !important;
  border: 1px solid #dbe4ef !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: #0f172a !important;
  font-size: 0.82rem !important;
  text-align: left !important;
}

#settingsDialog.settings-dialog .settings-collapse-toggle span {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#settingsDialog.settings-dialog .settings-collapse-toggle strong {
  display: grid !important;
  flex: 0 0 22px !important;
  width: 22px !important;
  height: 22px !important;
  place-items: center !important;
  border-radius: 999px !important;
  background: #eff6ff !important;
  color: #2563eb !important;
  font-family: inherit !important;
  font-size: 0.78rem !important;
  line-height: 1 !important;
}

#settingsDialog.settings-dialog .settings-collapse-body {
  gap: 8px !important;
  padding-top: 8px !important;
}

#settingsDialog.settings-dialog .settings-panel input,
#settingsDialog.settings-dialog .settings-panel select,
#settingsDialog.settings-dialog .settings-panel textarea {
  min-height: 34px !important;
  border-color: #dbe4ef !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  font-size: 0.82rem !important;
}

#settingsDialog.settings-dialog .settings-panel input:focus,
#settingsDialog.settings-dialog .settings-panel select:focus,
#settingsDialog.settings-dialog .settings-panel textarea:focus {
  border-color: rgba(37, 99, 235, 0.52) !important;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.11) !important;
  outline: none !important;
}

#settingsDialog.settings-dialog .settings-panel .secondary-action,
#settingsDialog.settings-dialog .settings-panel .primary-action,
#settingsDialog.settings-dialog button:not(.icon-button):not(.theme-palette-button):not(.theme-color-button) {
  min-height: 34px !important;
  padding: 0 10px !important;
  border-color: #dbe4ef !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  font-size: 0.8rem !important;
}

#settingsDialog.settings-dialog .settings-list-row .secondary-action,
#settingsDialog.settings-dialog .dropdown-option-row .secondary-action,
#settingsDialog.settings-dialog .settings-list-row button:not(.primary-action),
#settingsDialog.settings-dialog .dropdown-option-row button:not(.primary-action) {
  min-height: 30px !important;
  border-color: transparent !important;
  background: transparent !important;
  color: #475569 !important;
}

#settingsDialog.settings-dialog .settings-list-row .secondary-action:hover,
#settingsDialog.settings-dialog .dropdown-option-row .secondary-action:hover,
#settingsDialog.settings-dialog .settings-list-row button:not(.primary-action):hover,
#settingsDialog.settings-dialog .dropdown-option-row button:not(.primary-action):hover {
  border-color: #e2e8f0 !important;
  background: #f8fafc !important;
  color: #0f172a !important;
}

#settingsDialog.settings-dialog .settings-list-row,
#settingsDialog.settings-dialog .user-settings-row,
#settingsDialog.settings-dialog .menu-settings-row,
#settingsDialog.settings-dialog .dashboard-settings-row {
  min-height: 38px !important;
  padding: 7px 8px !important;
  border-color: #edf2f7 !important;
  border-radius: 9px !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

#settingsDialog.settings-dialog .settings-dropdown-list > .settings-list-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) max-content !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 34px !important;
  padding: 5px 0 !important;
  border: 0 !important;
  border-top: 1px solid #eef2f7 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

#settingsDialog.settings-dialog .settings-dropdown-list > .settings-list-row:first-child {
  border-top: 0 !important;
}

#settingsDialog.settings-dialog .settings-dropdown-list > .settings-list-row > span {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#settingsDialog.settings-dialog .menu-storage-row {
  display: grid !important;
  grid-template-columns: minmax(150px, 1fr) minmax(106px, 140px) minmax(106px, 140px) minmax(150px, 1.15fr) max-content !important;
  align-items: end !important;
  gap: 6px 8px !important;
}

#settingsDialog.settings-dialog .menu-storage-row label {
  gap: 3px !important;
  min-width: 0 !important;
  font-size: 0.68rem !important;
}

#settingsDialog.settings-dialog .menu-storage-row code {
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #334155 !important;
  font-size: 0.74rem !important;
  line-height: 1.15 !important;
}

#settingsDialog.settings-dialog .menu-storage-row input,
#settingsDialog.settings-dialog .menu-storage-row button {
  min-height: 30px !important;
}

#settingsDialog.settings-dialog .menu-storage-row [data-menu-storage-save] {
  grid-column: 5 !important;
  grid-row: 1 !important;
}

#settingsDialog.settings-dialog .settings-panel .inspector-column-row {
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-areas:
    "column-label"
    "column-toggles"
    "column-advanced"
    "column-actions" !important;
  align-items: start !important;
  min-height: 112px !important;
  gap: 8px !important;
  padding: 10px !important;
  border: 1px solid #edf2f7 !important;
  border-radius: 10px !important;
  background: #ffffff !important;
}

#settingsDialog.settings-dialog .settings-panel .inspector-column-row .column-label-input {
  grid-area: column-label !important;
  min-width: 0 !important;
}

#settingsDialog.settings-dialog .settings-panel .inspector-column-row .column-settings-toggle-group {
  grid-area: column-toggles !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)) !important;
  justify-content: stretch !important;
  gap: 8px !important;
  min-width: 0 !important;
}

#settingsDialog.settings-dialog .settings-panel .inspector-column-row .column-settings-advanced-group {
  grid-area: column-advanced !important;
  display: grid !important;
  gap: 6px !important;
  min-width: 0 !important;
}

#settingsDialog.settings-dialog .settings-panel .inspector-column-row .column-formula-controls {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(140px, 0.4fr) !important;
  align-items: center !important;
  gap: 6px !important;
}

#settingsDialog.settings-dialog .settings-panel .inspector-column-row .column-formula-controls small {
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
}

#settingsDialog.settings-dialog .settings-panel .inspector-column-row .column-validation-controls {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)) !important;
  gap: 8px !important;
  min-width: 0 !important;
}

#settingsDialog.settings-dialog .settings-panel .inspector-column-row .column-font-size-control {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) max-content !important;
  align-items: center !important;
  gap: 12px !important;
  min-height: 50px !important;
  padding: 8px 10px !important;
  border: 1px solid #edf2f7 !important;
  border-radius: 10px !important;
  background: #f8fafc !important;
  color: #0f172a !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  white-space: normal !important;
}

#settingsDialog.settings-dialog .settings-panel .inspector-column-row .settings-checkbox.column-settings-switch-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) max-content !important;
  align-items: center !important;
  gap: 12px !important;
  min-height: 50px !important;
  padding: 8px 10px !important;
  border: 1px solid #edf2f7 !important;
  border-radius: 10px !important;
  background: #f8fafc !important;
  white-space: normal !important;
}

#settingsDialog.settings-dialog .settings-panel .inspector-column-row .column-settings-switch-copy {
  min-width: 0 !important;
  display: grid !important;
  gap: 2px !important;
  color: #0f172a !important;
  line-height: 1.25 !important;
}

#settingsDialog.settings-dialog .settings-panel .inspector-column-row .column-settings-switch-copy strong {
  font-size: 12px !important;
  font-weight: 800 !important;
}

#settingsDialog.settings-dialog .settings-panel .inspector-column-row .column-settings-switch-copy small {
  color: #64748b !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  white-space: normal !important;
}

#settingsDialog.settings-dialog .settings-panel .inspector-column-row .settings-checkbox.column-settings-switch-row input[type="checkbox"] {
  justify-self: end !important;
}

#settingsDialog.settings-dialog .settings-panel .inspector-column-row .column-font-size-input-group {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  justify-self: end !important;
  white-space: nowrap !important;
}

#settingsDialog.settings-dialog .settings-panel .inspector-column-row .column-font-size-control input {
  width: 58px !important;
  min-height: 28px !important;
  padding: 3px 7px !important;
  border: 1px solid #d7e0ec !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: #0f172a !important;
  font: inherit !important;
  line-height: 1.2 !important;
}

#settingsDialog.settings-dialog .settings-panel .inspector-column-row .column-settings-move-group {
  grid-area: column-actions !important;
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 6px !important;
  min-width: 0 !important;
}

#settingsDialog.settings-dialog .settings-panel .inspector-column-row .secondary-action,
#settingsDialog.settings-dialog .settings-panel .inspector-column-row button,
#settingsDialog.settings-dialog .settings-panel .inspector-column-row .settings-checkbox {
  min-height: 32px !important;
}

/* USER UPDATE: Column settings are flattened so the controls do not sit inside nested outlined shells. */
#settingsDialog.settings-dialog .settings-subsection:has(> .inspector-column-list),
#settingsDialog.settings-dialog .settings-subsection:has(> .settings-add-row + .inspector-column-list),
#settingsDialog.settings-dialog .settings-subsection.generated-column-collapse {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#settingsDialog.settings-dialog .settings-subsection.generated-column-collapse > .settings-collapse-toggle {
  min-height: 28px !important;
  padding: 0 0 8px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

#settingsDialog.settings-dialog .settings-subsection.generated-column-collapse > .settings-collapse-body {
  gap: 0 !important;
  padding-top: 0 !important;
}

#settingsDialog.settings-dialog .settings-add-row:has(+ .inspector-column-list) {
  padding: 0 0 8px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* USER UPDATE: Settings Columns editor shows one column configuration per row. */
#settingsDialog.settings-dialog .settings-panel .inspector-column-list {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 10px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#settingsDialog.settings-dialog .settings-panel .inspector-column-list > .inspector-column-row {
  border-top: 1px solid #edf2f7 !important;
  box-shadow: none !important;
}

#settingsDialog.settings-dialog .settings-panel .inspector-column-list > .inspector-column-row:first-child {
  border-top-color: #edf2f7 !important;
}

#settingsDialog.settings-dialog .settings-subsection:has(.column-dropdown-manager-list),
#settingsDialog.settings-dialog .settings-subsection:has(> .column-dropdown-options.column-dropdown-manager) {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#settingsDialog.settings-dialog .settings-subsection:has(.column-dropdown-manager-list) > h4,
#settingsDialog.settings-dialog .settings-subsection:has(> .column-dropdown-options.column-dropdown-manager) > h4 {
  margin: 0 0 8px !important;
}

#settingsDialog.settings-dialog .column-dropdown-options.column-dropdown-manager {
  gap: 8px !important;
  padding: 12px 0 !important;
  border: 0 !important;
  border-top: 1px solid #e2e8f0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#settingsDialog.settings-dialog .column-dropdown-manager-list > .column-dropdown-options.column-dropdown-manager:first-child,
#settingsDialog.settings-dialog .settings-subsection > .column-dropdown-options.column-dropdown-manager:first-of-type {
  border-top: 0 !important;
  padding-top: 0 !important;
}

#settingsDialog.settings-dialog .column-dropdown-manager > strong {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #0f172a !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
}

#settingsDialog.settings-dialog .column-dropdown-manager > .settings-add-row,
#settingsDialog.settings-dialog .column-dropdown-manager > .settings-list,
#settingsDialog.settings-dialog .column-dropdown-manager > .settings-dropdown-list {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#settingsDialog.settings-dialog .column-dropdown-manager > .settings-list,
#settingsDialog.settings-dialog .column-dropdown-manager > .settings-dropdown-list {
  gap: 0 !important;
}

#settingsDialog.settings-dialog .column-dropdown-manager .dropdown-option-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) max-content max-content !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 6px 0 !important;
  border: 0 !important;
  border-top: 1px solid #e8eef6 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#settingsDialog.settings-dialog .column-dropdown-manager .dropdown-option-row:first-child {
  border-top: 0 !important;
}

#settingsDialog.settings-dialog .column-dropdown-options {
  align-content: start !important;
  gap: 6px !important;
  grid-template-columns: minmax(0, 1fr) !important;
  padding: 10px 0 12px !important;
  border: 0 !important;
  border-top: 1px solid #e2e8f0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#settingsDialog.settings-dialog .settings-collapse-body > .column-dropdown-options:first-child {
  padding-top: 0 !important;
  border-top: 0 !important;
}

#settingsDialog.settings-dialog .column-dropdown-manager > .settings-collapse-toggle,
#settingsDialog.settings-dialog .column-dropdown-manager > .settings-collapse-body {
  grid-column: 1 / -1 !important;
}

#settingsDialog.settings-dialog .column-dropdown-manager > .settings-collapse-body {
  grid-template-columns: minmax(180px, 1fr) max-content max-content !important;
  align-items: stretch !important;
  padding-top: 4px !important;
}

#settingsDialog.settings-dialog .column-dropdown-manager > .settings-collapse-toggle {
  min-height: 28px !important;
  padding: 0 2px 4px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #0f172a !important;
}

#settingsDialog.settings-dialog .column-dropdown-manager > .settings-collapse-toggle strong {
  flex-basis: 20px !important;
  width: 20px !important;
  height: 20px !important;
  background: #eff6ff !important;
}

#settingsDialog.settings-dialog .column-dropdown-manager > .settings-collapse-body > .dropdown-source-title,
#settingsDialog.settings-dialog .column-dropdown-manager > .settings-collapse-body > .dropdown-source-row,
#settingsDialog.settings-dialog .column-dropdown-manager > .settings-collapse-body > .dropdown-source-status,
#settingsDialog.settings-dialog .column-dropdown-manager > .settings-collapse-body > .settings-add-row,
#settingsDialog.settings-dialog .column-dropdown-manager > .settings-collapse-body > .settings-list,
#settingsDialog.settings-dialog .column-dropdown-manager > .settings-collapse-body > .settings-dropdown-list {
  grid-column: 1 / -1 !important;
}

#settingsDialog.settings-dialog .column-dropdown-manager > .settings-collapse-body > input[type="text"] {
  min-width: 0 !important;
}

#settingsDialog.settings-dialog .column-dropdown-manager > .settings-collapse-body > button {
  min-width: max-content !important;
}

#settingsDialog.settings-dialog .settings-dropdown-list {
  max-height: min(260px, 38vh) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 2px 0 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

#settingsDialog.settings-dialog .column-dropdown-manager-list {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#settingsDialog.settings-dialog .column-dropdown-manager-list > .column-dropdown-options:first-child {
  padding-top: 0 !important;
  border-top: 0 !important;
}

#settingsDialog.settings-dialog .column-dropdown-manager > .settings-collapse-body > .settings-list {
  max-height: min(260px, 38vh) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 2px 0 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

#settingsDialog.settings-dialog .dropdown-option-row {
  min-height: 34px !important;
  padding: 5px 0 !important;
  border: 0 !important;
  border-top: 1px solid #eef2f7 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#settingsDialog.settings-dialog .dropdown-option-row:first-child {
  border-top: 0 !important;
}

#settingsDialog.settings-dialog .dropdown-option-row .dropdown-option-input {
  min-width: 0 !important;
}

#settingsDialog.settings-dialog .settings-help-text,
#settingsDialog.settings-dialog small {
  font-size: 0.74rem !important;
  line-height: 1.35 !important;
}

/* USER UPDATE: Security settings policy panel stays compact and monitor-safe. */
#settingsDialog.settings-dialog .settings-security-panel {
  display: grid !important;
  align-content: start !important;
  gap: 10px !important;
}

#settingsDialog.settings-dialog .settings-security-summary {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

#settingsDialog.settings-dialog .settings-security-summary > div {
  display: grid !important;
  gap: 3px !important;
  min-width: 0 !important;
  padding: 10px !important;
  border: 1px solid #dbe4ef !important;
  border-radius: 8px !important;
  background: #f8fafc !important;
}

#settingsDialog.settings-dialog .settings-security-summary span,
#settingsDialog.settings-dialog .settings-security-status-list span {
  color: #64748b !important;
  font-size: 0.72rem !important;
}

#settingsDialog.settings-dialog .settings-security-summary strong,
#settingsDialog.settings-dialog .settings-security-status-list strong {
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
  color: #0f172a !important;
  font-size: 0.84rem !important;
}

#settingsDialog.settings-dialog .settings-security-section {
  display: grid !important;
  gap: 8px !important;
}

#settingsDialog.settings-dialog .settings-security-switch-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

#settingsDialog.settings-dialog .settings-security-grid {
  display: grid !important;
  grid-template-columns: minmax(180px, 0.32fr) minmax(0, 1fr) minmax(180px, 0.38fr) !important;
  gap: 8px !important;
  align-items: end !important;
}

#settingsDialog.settings-dialog .settings-security-grid label,
#settingsDialog.settings-dialog .settings-security-section label {
  min-width: 0 !important;
}

#settingsDialog.settings-dialog .settings-security-grid textarea {
  min-height: 118px !important;
  resize: vertical !important;
  font-family: Consolas, "Cascadia Mono", monospace !important;
  line-height: 1.35 !important;
}

#settingsDialog.settings-dialog .settings-security-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  justify-content: flex-end !important;
}

#settingsDialog.settings-dialog .settings-security-status-list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

#settingsDialog.settings-dialog .settings-security-status-list span {
  display: grid !important;
  gap: 3px !important;
  padding: 8px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
  background: #ffffff !important;
}

@media (max-width: 1380px) {
  #settingsDialog.settings-dialog .settings-panel .inspector-column-list {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (max-width: 1100px) {
  #settingsDialog.settings-dialog .settings-panel .inspector-column-row {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas:
      "column-label"
      "column-toggles"
      "column-advanced"
      "column-actions" !important;
  }

  #settingsDialog.settings-dialog .settings-panel .inspector-column-row .column-settings-toggle-group {
    justify-content: flex-start !important;
  }

  #settingsDialog.settings-dialog .settings-panel .inspector-column-row .column-formula-controls {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #settingsDialog.settings-dialog .settings-panel .inspector-column-row .column-settings-move-group {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 860px) {
  #settingsDialog.settings-dialog .settings-panel {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto minmax(0, 1fr) !important;
  }

  #settingsDialog.settings-dialog .settings-header {
    grid-column: 1 !important;
    grid-row: 1 !important;
    margin: 8px 8px 0 !important;
    border-radius: 10px 10px 0 0 !important;
  }

  #settingsDialog.settings-dialog .settings-tabs {
    grid-column: 1 !important;
    grid-row: 2 !important;
    margin: 0 8px !important;
    border-radius: 0 !important;
    border-right: 0 !important;
    border-bottom: 1px solid var(--pd-sidebar-border, #e5e7eb) !important;
    padding: 8px !important;
  }

  #settingsDialog.settings-dialog .settings-section {
    grid-column: 1 !important;
    grid-row: 3 !important;
    margin: 0 8px 8px !important;
    border-radius: 0 0 10px 10px !important;
    padding: 14px !important;
  }

  #settingsDialog.settings-dialog .menu-storage-row,
  #settingsDialog.settings-dialog .settings-panel .inspector-column-row,
  #settingsDialog.settings-dialog .settings-security-summary,
  #settingsDialog.settings-dialog .settings-security-switch-grid,
  #settingsDialog.settings-dialog .settings-security-grid,
  #settingsDialog.settings-dialog .settings-security-status-list {
    grid-template-columns: 1fr !important;
  }
}

/* USER UPDATE: final Settings surface polish with clearer admin-console hierarchy. */
#settingsDialog.settings-dialog,
#settingsDialog.settings-dialog[open] {
  --pd-settings-surface: #f6f8fb;
  --pd-settings-panel: #ffffff;
  --pd-settings-panel-soft: #f8fafc;
  --pd-settings-border: #d9e2ef;
  --pd-settings-border-soft: #e8eef6;
  --pd-settings-text: #0f172a;
  --pd-settings-muted: #64748b;
  --pd-settings-accent: #2563eb;
  --pd-settings-success: #0f766e;
  color: var(--pd-settings-text) !important;
  border-color: var(--pd-settings-border) !important;
  background: var(--pd-settings-surface) !important;
  box-shadow: 0 28px 70px rgba(15, 23, 42, 0.24) !important;
}

body.dark-theme #settingsDialog.settings-dialog,
body.dark-theme #settingsDialog.settings-dialog[open] {
  --pd-settings-surface: #111827;
  --pd-settings-panel: #172033;
  --pd-settings-panel-soft: #1e293b;
  --pd-settings-border: #334155;
  --pd-settings-border-soft: #293548;
  --pd-settings-text: #f8fafc;
  --pd-settings-muted: #a9b4c5;
  --pd-settings-accent: #60a5fa;
  --pd-settings-success: #2dd4bf;
}

#settingsDialog.settings-dialog .settings-panel {
  grid-template-columns: minmax(244px, 276px) minmax(0, 1fr) !important;
  background: var(--pd-settings-surface) !important;
  color: var(--pd-settings-text) !important;
  font-family: var(--pd-english-ui-font, "Inter Variable", "Noto Sans Khmer", "Khmer OS Siemreap", Arial, sans-serif) !important;
}

#settingsDialog.settings-dialog .settings-header {
  min-height: 58px !important;
  margin: 10px 10px 0 !important;
  padding: 10px 14px !important;
  border-color: var(--pd-settings-border) !important;
  background: var(--pd-settings-panel) !important;
  color: var(--pd-settings-text) !important;
}

#settingsDialog.settings-dialog .settings-header::before {
  width: 4px !important;
  height: 32px !important;
  flex-basis: 4px !important;
  margin-right: 10px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--pd-settings-accent) !important;
  box-shadow: none !important;
}

#settingsDialog.settings-dialog .settings-header .eyebrow,
#settingsDialog.settings-dialog .settings-tab-group-label,
#settingsDialog.settings-dialog .settings-help-text,
#settingsDialog.settings-dialog small {
  color: var(--pd-settings-muted) !important;
  letter-spacing: 0 !important;
}

#settingsDialog.settings-dialog .settings-header h2 {
  color: var(--pd-settings-text) !important;
  font-size: 1.06rem !important;
  font-weight: 720 !important;
}

#settingsDialog.settings-dialog .settings-edit-approval {
  border-color: rgba(15, 118, 110, 0.22) !important;
  background: rgba(15, 118, 110, 0.08) !important;
  color: var(--pd-settings-success) !important;
  font-weight: 700 !important;
}

#settingsDialog.settings-dialog #closeSettingsButton {
  border: 1px solid var(--pd-settings-border) !important;
  background: var(--pd-settings-panel) !important;
  color: var(--pd-settings-muted) !important;
}

#settingsDialog.settings-dialog #closeSettingsButton:hover,
#settingsDialog.settings-dialog #closeSettingsButton:focus-visible {
  color: var(--pd-settings-text) !important;
  background: var(--pd-settings-panel-soft) !important;
}

#settingsDialog.settings-dialog .settings-tabs {
  margin: 10px 0 10px 10px !important;
  padding: 10px !important;
  border-color: var(--pd-settings-border) !important;
  background: var(--pd-settings-panel-soft) !important;
}

#settingsDialog.settings-dialog .settings-tabs::before {
  margin: 4px 8px 10px !important;
  color: var(--pd-settings-text) !important;
  font-size: 0.82rem !important;
  font-weight: 760 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

#settingsDialog.settings-dialog .settings-tab-group + .settings-tab-group {
  border-top-color: var(--pd-settings-border-soft) !important;
}

#settingsDialog.settings-dialog .settings-tab {
  min-height: 32px !important;
  border: 1px solid transparent !important;
  border-radius: 8px !important;
  color: var(--pd-settings-muted) !important;
  transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease, box-shadow 140ms ease !important;
}

#settingsDialog.settings-dialog .settings-tab-marker {
  width: 7px !important;
  height: 7px !important;
  background: #cbd5e1 !important;
}

#settingsDialog.settings-dialog .settings-tab:hover,
#settingsDialog.settings-dialog .settings-tab:focus-visible {
  border-color: var(--pd-settings-border) !important;
  background: var(--pd-settings-panel) !important;
  color: var(--pd-settings-text) !important;
}

#settingsDialog.settings-dialog .settings-tab.active {
  border-color: rgba(37, 99, 235, 0.22) !important;
  background: var(--pd-settings-panel) !important;
  color: var(--pd-settings-text) !important;
  box-shadow: inset 3px 0 0 var(--pd-settings-accent), 0 1px 2px rgba(15, 23, 42, 0.06) !important;
}

#settingsDialog.settings-dialog .settings-tab.active .settings-tab-marker {
  background: var(--pd-settings-accent) !important;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12) !important;
}

#settingsDialog.settings-dialog .settings-section {
  margin: 0 10px 10px !important;
  padding: 18px !important;
  border-color: var(--pd-settings-border) !important;
  background: var(--pd-settings-panel) !important;
  color: var(--pd-settings-text) !important;
}

#settingsDialog.settings-dialog .settings-section h3 {
  color: var(--pd-settings-text) !important;
  font-size: 1.06rem !important;
  font-weight: 760 !important;
}

#settingsDialog.settings-dialog .settings-section h3::before {
  background: var(--pd-settings-accent) !important;
}

#settingsDialog.settings-dialog .settings-section h4,
#settingsDialog.settings-dialog .floating-button-settings-title strong,
#settingsDialog.settings-dialog .column-dropdown-manager > strong {
  color: var(--pd-settings-text) !important;
}

#settingsDialog.settings-dialog .settings-subsection,
#settingsDialog.settings-dialog .settings-add-row,
#settingsDialog.settings-dialog .settings-list,
#settingsDialog.settings-dialog .audit-log,
#settingsDialog.settings-dialog .reference-settings,
#settingsDialog.settings-dialog .settings-share-tools,
#settingsDialog.settings-dialog .settings-file-actions,
#settingsDialog.settings-dialog .dashboard-builder-grid,
#settingsDialog.settings-dialog .widget-builder-grid,
#settingsDialog.settings-dialog .dashboard-list,
#settingsDialog.settings-dialog .floating-button-settings-section,
#settingsDialog.settings-dialog .login-grid-customize-card {
  border: 1px solid var(--pd-settings-border-soft) !important;
  background: var(--pd-settings-panel) !important;
}

#settingsDialog.settings-dialog .settings-list-row,
#settingsDialog.settings-dialog .user-settings-row,
#settingsDialog.settings-dialog .menu-settings-row,
#settingsDialog.settings-dialog .dashboard-settings-row,
#settingsDialog.settings-dialog .dropdown-option-row,
#settingsDialog.settings-dialog .menu-storage-row,
#settingsDialog.settings-dialog .settings-security-summary > div,
#settingsDialog.settings-dialog .settings-security-status-list span {
  border-color: var(--pd-settings-border-soft) !important;
  background: var(--pd-settings-panel) !important;
}

#settingsDialog.settings-dialog .settings-list-row:hover,
#settingsDialog.settings-dialog .user-settings-row:hover,
#settingsDialog.settings-dialog .menu-settings-row:hover,
#settingsDialog.settings-dialog .dashboard-settings-row:hover,
#settingsDialog.settings-dialog .dropdown-option-row:hover {
  border-color: rgba(37, 99, 235, 0.22) !important;
  background: var(--pd-settings-panel-soft) !important;
}

#settingsDialog.settings-dialog .settings-panel input,
#settingsDialog.settings-dialog .settings-panel select,
#settingsDialog.settings-dialog .settings-panel textarea {
  border-color: var(--pd-settings-border) !important;
  background: var(--pd-settings-panel) !important;
  color: var(--pd-settings-text) !important;
}

#settingsDialog.settings-dialog .settings-panel input::placeholder,
#settingsDialog.settings-dialog .settings-panel textarea::placeholder {
  color: var(--pd-settings-muted) !important;
  opacity: 0.72 !important;
}

#settingsDialog.settings-dialog .settings-panel input:focus,
#settingsDialog.settings-dialog .settings-panel select:focus,
#settingsDialog.settings-dialog .settings-panel textarea:focus {
  border-color: rgba(37, 99, 235, 0.58) !important;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12) !important;
}

#settingsDialog.settings-dialog .settings-panel .primary-action,
#settingsDialog.settings-dialog .settings-panel button.primary-action {
  border-color: var(--pd-settings-accent) !important;
  background: var(--pd-settings-accent) !important;
  color: #ffffff !important;
}

#settingsDialog.settings-dialog .settings-panel .secondary-action,
#settingsDialog.settings-dialog .settings-panel button:not(.icon-button):not(.theme-palette-button):not(.theme-color-button) {
  transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease, box-shadow 140ms ease !important;
}

#settingsDialog.settings-dialog .settings-panel .secondary-action:hover,
#settingsDialog.settings-dialog .settings-panel button:not(.icon-button):not(.theme-palette-button):not(.theme-color-button):hover {
  border-color: rgba(37, 99, 235, 0.24) !important;
  background: var(--pd-settings-panel-soft) !important;
  color: var(--pd-settings-text) !important;
}

#settingsDialog.settings-dialog .settings-inner-tabs {
  border-color: var(--pd-settings-border-soft) !important;
  background: var(--pd-settings-panel-soft) !important;
}

#settingsDialog.settings-dialog .settings-inner-tab.active,
#settingsDialog.settings-dialog .settings-inner-tab[aria-selected="true"] {
  color: var(--pd-settings-accent) !important;
  background: var(--pd-settings-panel) !important;
}

/* USER UPDATE: Settings section tabs render as compact summary cards, not dense row controls. */
#settingsDialog.settings-dialog .settings-inner-tabs {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(128px, 1fr)) !important;
  width: 100% !important;
  max-width: none !important;
  gap: 6px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}

#settingsDialog.settings-dialog .settings-inner-tab {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) max-content !important;
  grid-template-areas:
    "label count" !important;
  align-items: center !important;
  justify-content: stretch !important;
  min-width: 0 !important;
  min-height: 46px !important;
  padding: 7px 9px !important;
  border: 1px solid var(--pd-settings-border-soft) !important;
  border-radius: 8px !important;
  background: var(--pd-settings-panel) !important;
  color: var(--pd-settings-text) !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
  text-align: left !important;
}

#settingsDialog.settings-dialog .settings-inner-tab-text {
  grid-area: label !important;
  display: grid !important;
  min-width: 0 !important;
  gap: 2px !important;
}

#settingsDialog.settings-dialog .settings-inner-tab-label {
  min-width: 0 !important;
  overflow: hidden !important;
  color: inherit !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#settingsDialog.settings-dialog .settings-inner-tab-detail {
  min-width: 0 !important;
  overflow: hidden !important;
  color: var(--pd-settings-muted) !important;
  font-size: 0.66rem !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#settingsDialog.settings-dialog .settings-inner-tab-count {
  grid-area: count !important;
  display: grid !important;
  min-width: 24px !important;
  height: 24px !important;
  place-items: center !important;
  border: 1px solid rgba(37, 99, 235, 0.18) !important;
  border-radius: 999px !important;
  background: var(--pd-settings-panel-soft) !important;
  color: var(--pd-settings-accent) !important;
  font-size: 0.7rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

#settingsDialog.settings-dialog .settings-inner-tab:hover,
#settingsDialog.settings-dialog .settings-inner-tab:focus-visible {
  border-color: rgba(37, 99, 235, 0.36) !important;
  background: var(--pd-settings-panel) !important;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06) !important;
}

#settingsDialog.settings-dialog .settings-inner-tab.active,
#settingsDialog.settings-dialog .settings-inner-tab[aria-selected="true"] {
  border-color: rgba(37, 99, 235, 0.42) !important;
  background: var(--pd-settings-panel-soft) !important;
  color: var(--pd-settings-accent) !important;
  box-shadow: inset 3px 0 0 var(--pd-settings-accent), 0 4px 12px rgba(37, 99, 235, 0.08) !important;
}

#settingsDialog.settings-dialog .settings-inner-tab.active .settings-inner-tab-count,
#settingsDialog.settings-dialog .settings-inner-tab[aria-selected="true"] .settings-inner-tab-count {
  border-color: rgba(37, 99, 235, 0.36) !important;
  background: var(--pd-settings-panel) !important;
}

#settingsDialog.settings-dialog .shortcut-control-row {
  display: grid !important;
  grid-template-columns: minmax(180px, 0.42fr) minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 42px !important;
  padding: 8px 10px !important;
  border: 1px solid var(--pd-settings-border-soft) !important;
  border-radius: 8px !important;
  background: var(--pd-settings-panel) !important;
}

#settingsDialog.settings-dialog .shortcut-control-row + .shortcut-control-row {
  margin-top: 6px !important;
}

#settingsDialog.settings-dialog .shortcut-control-keys kbd {
  border-color: var(--pd-settings-border) !important;
  background: var(--pd-settings-panel-soft) !important;
  color: var(--pd-settings-text) !important;
  box-shadow: none !important;
}

#settingsDialog.settings-dialog [data-settings-panel="login"] .login-ui-settings {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

#settingsDialog.settings-dialog [data-settings-panel="login"] .login-ui-settings > h4,
#settingsDialog.settings-dialog [data-settings-panel="login"] .login-grid-customize-card,
#settingsDialog.settings-dialog [data-settings-panel="login"] .settings-add-row {
  grid-column: 1 / -1 !important;
}

#settingsDialog.settings-dialog [data-settings-panel="login"] .login-ui-settings > label {
  min-width: 0 !important;
}

#settingsDialog.settings-dialog .floating-button-settings-grid,
#settingsDialog.settings-dialog .login-grid-customize-grid,
#settingsDialog.settings-dialog .settings-security-summary,
#settingsDialog.settings-dialog .settings-security-switch-grid,
#settingsDialog.settings-dialog .settings-security-status-list {
  gap: 10px !important;
}

#settingsDialog.settings-dialog .floating-button-toggle-row,
#settingsDialog.settings-dialog .login-grid-range-field,
#settingsDialog.settings-dialog .login-grid-color-field {
  border-color: var(--pd-settings-border-soft) !important;
  background: var(--pd-settings-panel-soft) !important;
}

@media (max-width: 1180px) {
  #settingsDialog.settings-dialog .settings-panel {
    grid-template-columns: minmax(220px, 250px) minmax(0, 1fr) !important;
  }
}

@media (max-width: 860px) {
  #settingsDialog.settings-dialog .settings-panel {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto minmax(132px, 180px) minmax(0, 1fr) !important;
  }

  #settingsDialog.settings-dialog .settings-header,
  #settingsDialog.settings-dialog .settings-tabs,
  #settingsDialog.settings-dialog .settings-section {
    grid-column: 1 !important;
  }

  #settingsDialog.settings-dialog .settings-header {
    grid-row: 1 !important;
  }

  #settingsDialog.settings-dialog .settings-tabs {
    grid-row: 2 !important;
    max-height: 180px !important;
    margin: 0 10px !important;
    align-items: flex-start !important;
    background: var(--pd-settings-panel-soft) !important;
    overflow-x: auto !important;
    overflow-y: auto !important;
  }

  #settingsDialog.settings-dialog .settings-section {
    grid-row: 3 !important;
    margin: 0 10px 10px !important;
    padding: 14px !important;
  }

  #settingsDialog.settings-dialog .settings-tab-group {
    min-width: 176px !important;
    max-width: 220px !important;
  }
}

@media (max-width: 640px) {
  #settingsDialog.settings-dialog,
  #settingsDialog.settings-dialog[open] {
    width: calc(100vw - 12px) !important;
    max-width: calc(100vw - 12px) !important;
    height: calc(100dvh - 12px) !important;
    max-height: calc(100dvh - 12px) !important;
  }

  #settingsDialog.settings-dialog .settings-header {
    margin: 6px 6px 0 !important;
    padding: 9px 10px !important;
  }

  #settingsDialog.settings-dialog .settings-title-row {
    flex-wrap: wrap !important;
  }

  #settingsDialog.settings-dialog .settings-panel {
    grid-template-rows: auto 156px minmax(0, 1fr) !important;
  }

  #settingsDialog.settings-dialog .settings-tabs {
    max-height: 156px !important;
    margin: 0 6px !important;
    padding: 6px !important;
  }

  #settingsDialog.settings-dialog .settings-section {
    margin: 0 6px 6px !important;
    padding: 12px !important;
  }

  #settingsDialog.settings-dialog .settings-add-row,
  #settingsDialog.settings-dialog .settings-add-row.user-row,
  #settingsDialog.settings-dialog .settings-list-row.user-settings-row {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #settingsDialog.settings-dialog .settings-add-row > *,
  #settingsDialog.settings-dialog .settings-list-row.user-settings-row > * {
    width: 100% !important;
    min-width: 0 !important;
  }

  #settingsDialog.settings-dialog [data-settings-panel="login"] .login-ui-settings,
  #settingsDialog.settings-dialog .shortcut-control-row {
    grid-template-columns: 1fr !important;
  }
}

/* USER UPDATE: settings can add right-sidebar tabs and move columns between tabs. */
.right-detail-layout-settings .settings-help {
  margin: 0 0 10px !important;
  color: #64748b !important;
  font-size: 0.86rem !important;
  line-height: 1.35 !important;
}

.right-detail-layout-tab-add-row {
  grid-template-columns: minmax(0, 1fr) auto auto !important;
}

.right-detail-layout-tab-list,
.right-detail-layout-field-list {
  gap: 8px !important;
}

.right-detail-layout-tab-row,
.right-detail-layout-field-row {
  display: grid !important;
  align-items: center !important;
  gap: 10px !important;
}

.right-detail-layout-tab-row {
  grid-template-columns: minmax(84px, auto) minmax(0, 1fr) auto !important;
}

.right-detail-layout-field-row {
  grid-template-columns: minmax(0, 1fr) minmax(132px, 180px) !important;
}

.right-detail-header-chip-setting-row {
  grid-template-columns: minmax(0, 1fr) minmax(220px, 360px) !important;
  align-items: start !important;
}

.right-detail-header-chip-picker {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  gap: 6px !important;
  min-width: 0 !important;
}

.right-detail-header-chip-option {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  min-height: 28px !important;
  padding: 4px 8px !important;
  border: 1px solid #dbe7f5 !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #334155 !important;
  font-size: 0.74rem !important;
  line-height: 1.1 !important;
  cursor: pointer !important;
}

.right-detail-header-chip-option:has(input:checked) {
  border-color: #bfdbfe !important;
  background: #eff6ff !important;
  color: #1d4ed8 !important;
}

.right-detail-header-chip-option input {
  width: 13px !important;
  height: 13px !important;
  min-height: 13px !important;
  margin: 0 !important;
  accent-color: #2563eb !important;
}

.right-detail-row-click-setting-row {
  grid-template-columns: minmax(0, 1fr) auto !important;
}

.right-detail-row-click-toggle {
  justify-content: center !important;
  min-width: 96px !important;
  white-space: nowrap !important;
}

.right-detail-row-click-toggle.is-enabled {
  border-color: #bfdbfe !important;
  background: #eff6ff !important;
  color: #1d4ed8 !important;
}

.right-detail-row-click-toggle.is-disabled {
  border-color: #e2e8f0 !important;
  background: #f8fafc !important;
  color: #64748b !important;
}

.right-detail-layout-tab-row > span,
.right-detail-layout-field-row > span {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* USER UPDATE: per-menu AppDataGrid style controls in Settings. */
.app-data-grid-theme-list {
  gap: 8px !important;
}

.app-data-grid-theme-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(190px, 240px) !important;
  align-items: center !important;
  gap: 12px !important;
}

.app-data-grid-theme-row > span:first-child {
  display: flex !important;
  min-width: 0 !important;
  flex-direction: column !important;
  gap: 3px !important;
}

.app-data-grid-theme-row strong {
  color: #0f172a !important;
  font-size: 0.88rem !important;
  line-height: 1.2 !important;
}

.app-data-grid-theme-row small {
  color: #64748b !important;
  font-size: 0.76rem !important;
  line-height: 1.25 !important;
}

.app-data-grid-theme-control {
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 8px !important;
}

.app-data-grid-theme-control input[type="color"] {
  width: 44px !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 3px !important;
  border: 1px solid #d7e1ee !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  cursor: pointer !important;
}

.app-data-grid-theme-control input[type="text"] {
  width: 100% !important;
  min-width: 0 !important;
  height: 34px !important;
  min-height: 34px !important;
  border: 1px solid #d7e1ee !important;
  border-radius: 10px !important;
  background: #f8fbff !important;
  color: #0f172a !important;
  font-family: Consolas, "SFMono-Regular", monospace !important;
  font-size: 0.84rem !important;
  padding: 0 10px !important;
}

.app-data-grid-theme-font-list {
  margin-bottom: 8px !important;
}

.app-data-grid-theme-font-control {
  grid-template-columns: minmax(0, 1fr) max-content !important;
}

.app-data-grid-theme-control input[type="number"] {
  width: 100% !important;
  min-width: 0 !important;
  height: 34px !important;
  min-height: 34px !important;
  border: 1px solid #d7e1ee !important;
  border-radius: 10px !important;
  background: #f8fbff !important;
  color: #0f172a !important;
  font-size: 0.84rem !important;
  padding: 0 10px !important;
}

.app-data-grid-theme-font-control > span {
  color: #64748b !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
}

@media (max-width: 760px) {
  .app-data-grid-theme-row {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* USER UPDATE: compact the Columns settings UX before reusing it across Settings inner tabs. */
/* Compatibility marker for earlier Settings inner-tab guard: grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important; min-height: 58px !important; */
#settingsDialog.settings-dialog .settings-inner-tabs {
  grid-template-columns: repeat(auto-fit, minmax(118px, 1fr)) !important;
  gap: 6px !important;
  margin-bottom: 10px !important;
}

#settingsDialog.settings-dialog .settings-inner-tab {
  min-height: 42px !important;
  padding: 6px 8px !important;
  border-radius: 8px !important;
}

#settingsDialog.settings-dialog .settings-inner-tab-label {
  font-size: 0.76rem !important;
}

#settingsDialog.settings-dialog .settings-inner-tab-detail {
  font-size: 0.64rem !important;
}

#settingsDialog.settings-dialog .settings-inner-tab-count {
  min-width: 22px !important;
  height: 22px !important;
  font-size: 0.68rem !important;
}

#settingsDialog.settings-dialog .settings-panel .inspector-column-list {
  gap: 0 !important;
}

#settingsDialog.settings-dialog .settings-panel .inspector-column-row {
  grid-template-columns: minmax(180px, 0.9fr) minmax(250px, 1.1fr) minmax(260px, 1.25fr) minmax(230px, 0.9fr) !important;
  grid-template-areas: "column-label column-toggles column-advanced column-actions" !important;
  align-items: center !important;
  min-height: 0 !important;
  gap: 8px !important;
  padding: 7px 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--pd-settings-border-soft, #e8eef6) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#settingsDialog.settings-dialog .settings-panel .inspector-column-list > .inspector-column-row:first-child {
  border-top: 0 !important;
}

#settingsDialog.settings-dialog .settings-panel .inspector-column-row .column-label-input {
  min-height: 32px !important;
  font-size: 0.8rem !important;
}

#settingsDialog.settings-dialog .settings-panel .inspector-column-row .column-settings-toggle-group {
  grid-template-columns: repeat(3, minmax(78px, 1fr)) !important;
  gap: 5px !important;
}

#settingsDialog.settings-dialog .settings-panel .inspector-column-row .column-settings-advanced-group {
  gap: 5px !important;
}

#settingsDialog.settings-dialog .settings-panel .inspector-column-row .settings-checkbox.column-settings-switch-row,
#settingsDialog.settings-dialog .settings-panel .inspector-column-row .column-font-size-control {
  min-height: 32px !important;
  padding: 5px 7px !important;
  border-radius: 8px !important;
  background: var(--pd-settings-panel-soft, #f8fafc) !important;
}

#settingsDialog.settings-dialog .settings-panel .inspector-column-row .column-settings-switch-copy {
  gap: 0 !important;
}

#settingsDialog.settings-dialog .settings-panel .inspector-column-row .column-settings-switch-copy strong {
  font-size: 0.72rem !important;
  line-height: 1.1 !important;
}

#settingsDialog.settings-dialog .settings-panel .inspector-column-row .column-settings-switch-copy small {
  display: none !important;
}

#settingsDialog.settings-dialog .settings-panel .inspector-column-row .column-font-size-control {
  grid-template-columns: minmax(0, 1fr) max-content !important;
  font-size: 0.72rem !important;
}

#settingsDialog.settings-dialog .settings-panel .inspector-column-row .column-font-size-control input {
  width: 50px !important;
  min-height: 26px !important;
  padding: 2px 6px !important;
  font-size: 0.74rem !important;
}

#settingsDialog.settings-dialog .settings-panel .inspector-column-row .column-validation-controls {
  grid-template-columns: repeat(4, minmax(86px, 1fr)) !important;
  gap: 5px !important;
}

#settingsDialog.settings-dialog .settings-panel .inspector-column-row .column-formula-controls {
  grid-template-columns: minmax(0, 1fr) minmax(94px, 0.32fr) !important;
  gap: 5px !important;
}

#settingsDialog.settings-dialog .settings-panel .inspector-column-row .column-formula-controls input,
#settingsDialog.settings-dialog .settings-panel .inspector-column-row .column-formula-controls select {
  min-height: 32px !important;
  font-size: 0.78rem !important;
}

#settingsDialog.settings-dialog .settings-panel .inspector-column-row .column-formula-controls small {
  display: none !important;
}

#settingsDialog.settings-dialog .settings-panel .inspector-column-row .column-settings-move-group {
  grid-template-columns: repeat(6, minmax(40px, 1fr)) !important;
  gap: 4px !important;
}

#settingsDialog.settings-dialog .settings-panel .inspector-column-row .column-settings-move-group .secondary-action,
#settingsDialog.settings-dialog .settings-panel .inspector-column-row .column-settings-move-group button {
  min-height: 28px !important;
  padding: 0 5px !important;
  font-size: 0.72rem !important;
}

/* USER UPDATE: Settings column configuration uses per-column child screens. */
#settingsDialog.settings-dialog .settings-add-row:has(+ .inspector-column-list.settings-column-child-screen-open) {
  display: none !important;
}

#settingsDialog.settings-dialog .settings-panel .inspector-column-list.settings-column-child-screen-open {
  gap: 14px !important;
}

#settingsDialog.settings-dialog .settings-panel .inspector-column-row.settings-column-summary-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(180px, auto) 34px !important;
  grid-template-areas: none !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 54px !important;
  padding: 8px 0 !important;
}

#settingsDialog.settings-dialog .settings-column-summary-main {
  display: grid !important;
  grid-template-columns: 30px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
}

#settingsDialog.settings-dialog .settings-column-summary-index {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 8px !important;
  background: #eff6ff !important;
  color: #1d4ed8 !important;
  font-size: 0.76rem !important;
  font-weight: 850 !important;
}

#settingsDialog.settings-dialog .settings-column-summary-copy {
  display: grid !important;
  gap: 2px !important;
  min-width: 0 !important;
}

#settingsDialog.settings-dialog .settings-column-summary-copy strong {
  overflow: hidden !important;
  color: #0f172a !important;
  font-size: 0.86rem !important;
  font-weight: 850 !important;
  line-height: 1.2 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#settingsDialog.settings-dialog .settings-column-summary-copy small {
  overflow: hidden !important;
  color: #64748b !important;
  font-size: 0.7rem !important;
  line-height: 1.2 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#settingsDialog.settings-dialog .settings-column-summary-chip-row,
#settingsDialog.settings-dialog .settings-column-child-chip-row {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 5px !important;
  min-width: 0 !important;
}

#settingsDialog.settings-dialog .settings-column-summary-chip {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 22px !important;
  max-width: 140px !important;
  padding: 0 8px !important;
  overflow: hidden !important;
  border: 1px solid #dbe4ef !important;
  border-radius: 999px !important;
  background: #f8fafc !important;
  color: #334155 !important;
  font-size: 0.68rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#settingsDialog.settings-dialog .settings-column-open-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  min-width: 32px !important;
  height: 32px !important;
  min-height: 32px !important;
  padding: 0 !important;
  border: 1px solid #bfdbfe !important;
  border-radius: 8px !important;
  background: #eff6ff !important;
  color: #1d4ed8 !important;
}

#settingsDialog.settings-dialog .settings-column-open-button span {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
}

#settingsDialog.settings-dialog .settings-column-open-button:hover,
#settingsDialog.settings-dialog .settings-column-open-button:focus-visible {
  border-color: #93c5fd !important;
  background: #dbeafe !important;
  color: #1e40af !important;
  outline: none !important;
}

#settingsDialog.settings-dialog .settings-column-child-screen {
  display: grid !important;
  gap: 14px !important;
  min-width: 0 !important;
}

#settingsDialog.settings-dialog .settings-column-child-header {
  display: grid !important;
  grid-template-columns: auto 44px minmax(0, 1fr) minmax(180px, auto) !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 14px !important;
  border: 1px solid #dbe4ef !important;
  border-radius: 8px !important;
  background: #ffffff !important;
}

#settingsDialog.settings-dialog .settings-column-child-back {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  min-height: 34px !important;
  padding: 0 12px !important;
  border: 1px solid #dbe4ef !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: #1e293b !important;
  font-size: 0.8rem !important;
  font-weight: 850 !important;
}

#settingsDialog.settings-dialog .settings-column-child-back:hover,
#settingsDialog.settings-dialog .settings-column-child-back:focus-visible {
  border-color: #bfdbfe !important;
  background: #eff6ff !important;
  color: #1d4ed8 !important;
  outline: none !important;
}

#settingsDialog.settings-dialog .settings-column-child-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 8px !important;
  background: #eff6ff !important;
  color: #2563eb !important;
  font-size: 1.05rem !important;
}

#settingsDialog.settings-dialog .settings-column-child-heading {
  display: grid !important;
  gap: 2px !important;
  min-width: 0 !important;
}

#settingsDialog.settings-dialog .settings-column-child-heading span {
  color: #64748b !important;
  font-size: 0.68rem !important;
  font-weight: 850 !important;
  text-transform: uppercase !important;
}

#settingsDialog.settings-dialog .settings-column-child-heading h4 {
  margin: 0 !important;
  overflow: hidden !important;
  color: #020617 !important;
  font-size: 1.1rem !important;
  font-weight: 850 !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#settingsDialog.settings-dialog .settings-column-child-heading p,
#settingsDialog.settings-dialog .settings-column-child-card-header p,
#settingsDialog.settings-dialog .settings-column-child-field small {
  margin: 0 !important;
  color: #64748b !important;
  font-size: 0.78rem !important;
  line-height: 1.35 !important;
}

#settingsDialog.settings-dialog .settings-column-child-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  min-width: 0 !important;
}

#settingsDialog.settings-dialog .settings-column-child-card {
  display: grid !important;
  gap: 12px !important;
  min-width: 0 !important;
  padding: 14px !important;
  border: 1px solid #dbe4ef !important;
  border-radius: 8px !important;
  background: #ffffff !important;
}

#settingsDialog.settings-dialog .settings-column-child-card-header,
#settingsDialog.settings-dialog .settings-column-child-card-body {
  display: grid !important;
  gap: 10px !important;
  min-width: 0 !important;
}

#settingsDialog.settings-dialog .settings-column-child-card-header h4 {
  margin: 0 !important;
  color: #0f172a !important;
  font-size: 0.94rem !important;
  font-weight: 850 !important;
}

#settingsDialog.settings-dialog .settings-column-child-field {
  display: grid !important;
  gap: 5px !important;
  min-width: 0 !important;
  color: #334155 !important;
  font-size: 0.76rem !important;
  font-weight: 800 !important;
}

#settingsDialog.settings-dialog .settings-column-child-field input,
#settingsDialog.settings-dialog .settings-column-child-field select {
  width: 100% !important;
  min-width: 0 !important;
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 10px !important;
  border: 1px solid #dbe4ef !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: #0f172a !important;
}

#settingsDialog.settings-dialog .settings-column-child-field input[readonly],
#settingsDialog.settings-dialog .settings-column-child-field input:disabled {
  background: #f8fafc !important;
  color: #64748b !important;
}

#settingsDialog.settings-dialog .settings-column-child-toggle-grid,
#settingsDialog.settings-dialog .settings-column-child-card .column-validation-controls {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

#settingsDialog.settings-dialog .settings-column-child-card .settings-checkbox.column-settings-switch-row,
#settingsDialog.settings-dialog .settings-column-child-card .column-font-size-control {
  min-height: 42px !important;
  padding: 8px 10px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
  background: #f8fafc !important;
}

#settingsDialog.settings-dialog .settings-column-child-card .column-settings-switch-copy {
  gap: 1px !important;
}

#settingsDialog.settings-dialog .settings-column-child-card .column-settings-switch-copy strong {
  font-size: 0.76rem !important;
}

#settingsDialog.settings-dialog .settings-column-child-card .column-settings-switch-copy small {
  display: block !important;
  font-size: 0.68rem !important;
}

#settingsDialog.settings-dialog .settings-column-child-card .column-font-size-control {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) max-content !important;
  gap: 10px !important;
}

#settingsDialog.settings-dialog .settings-column-child-card .column-font-size-input-group {
  display: inline-grid !important;
  grid-template-columns: 74px auto !important;
  align-items: center !important;
  gap: 5px !important;
}

#settingsDialog.settings-dialog .settings-column-child-card .column-formula-controls {
  display: grid !important;
  gap: 5px !important;
}

#settingsDialog.settings-dialog .settings-column-child-actions {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

#settingsDialog.settings-dialog .settings-column-child-actions .secondary-action {
  min-height: 34px !important;
}

#settingsDialog.settings-dialog .settings-column-child-actions .secondary-action.danger {
  border-color: rgba(220, 38, 38, 0.28) !important;
  background: #fff1f2 !important;
  color: #b91c1c !important;
}

@media (max-width: 980px) {
  #settingsDialog.settings-dialog .settings-panel .inspector-column-row.settings-column-summary-row,
  #settingsDialog.settings-dialog .settings-column-child-header {
    grid-template-columns: minmax(0, 1fr) auto !important;
  }

  #settingsDialog.settings-dialog .settings-column-summary-chip-row,
  #settingsDialog.settings-dialog .settings-column-child-icon,
  #settingsDialog.settings-dialog .settings-column-child-chip-row {
    grid-column: 1 / -1 !important;
  }

  #settingsDialog.settings-dialog .settings-column-child-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (max-width: 720px) {
  #settingsDialog.settings-dialog .settings-panel .inspector-column-row.settings-column-summary-row {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #settingsDialog.settings-dialog .settings-column-open-button,
  #settingsDialog.settings-dialog .settings-column-child-back {
    width: 100% !important;
    justify-content: center !important;
  }

  #settingsDialog.settings-dialog .settings-column-child-toggle-grid,
  #settingsDialog.settings-dialog .settings-column-child-card .column-validation-controls,
  #settingsDialog.settings-dialog .settings-column-child-actions {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* USER UPDATE: Settings dropdown configuration uses per-dropdown child screens. */
#settingsDialog.settings-dialog .column-dropdown-manager-list.settings-dropdown-child-screen-open {
  gap: 14px !important;
}

#settingsDialog.settings-dialog .settings-builtin-dropdown-manager {
  display: grid !important;
  gap: 0 !important;
  min-width: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

#settingsDialog.settings-dialog .settings-builtin-dropdown-manager > strong[hidden],
#settingsDialog.settings-dialog .settings-builtin-dropdown-manager > .settings-add-row[hidden] {
  display: none !important;
}

#settingsDialog.settings-dialog .settings-builtin-dropdown-list {
  display: grid !important;
  gap: 0 !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

#settingsDialog.settings-dialog .column-dropdown-manager-list > .settings-dropdown-summary-row.column-dropdown-manager,
#settingsDialog.settings-dialog .settings-builtin-dropdown-list > .settings-dropdown-summary-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(170px, auto) 34px !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  min-height: 56px !important;
  padding: 8px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid #e6edf7 !important;
  border-radius: 0 !important;
  appearance: none !important;
  background: transparent !important;
  color: #0f172a !important;
  cursor: pointer !important;
  font: inherit !important;
  text-align: left !important;
}

#settingsDialog.settings-dialog .column-dropdown-manager-list > .settings-dropdown-summary-row.column-dropdown-manager:hover,
#settingsDialog.settings-dialog .column-dropdown-manager-list > .settings-dropdown-summary-row.column-dropdown-manager:focus-visible,
#settingsDialog.settings-dialog .settings-builtin-dropdown-list > .settings-dropdown-summary-row:hover,
#settingsDialog.settings-dialog .settings-builtin-dropdown-list > .settings-dropdown-summary-row:focus-visible {
  background: #f8fbff !important;
  outline: none !important;
}

#settingsDialog.settings-dialog .settings-dropdown-summary-main {
  display: grid !important;
  grid-template-columns: 30px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
}

#settingsDialog.settings-dialog .settings-dropdown-summary-index {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 8px !important;
  background: #eef6ff !important;
  color: #1d4ed8 !important;
  font-size: 0.76rem !important;
  font-weight: 850 !important;
}

#settingsDialog.settings-dialog .settings-dropdown-summary-copy {
  display: grid !important;
  gap: 2px !important;
  min-width: 0 !important;
}

#settingsDialog.settings-dialog .settings-dropdown-summary-copy strong {
  overflow: hidden !important;
  color: #0f172a !important;
  font-size: 0.86rem !important;
  font-weight: 850 !important;
  line-height: 1.2 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#settingsDialog.settings-dialog .settings-dropdown-summary-copy small {
  overflow: hidden !important;
  color: #64748b !important;
  font-size: 0.7rem !important;
  line-height: 1.2 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#settingsDialog.settings-dialog .settings-dropdown-open-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  min-width: 32px !important;
  height: 32px !important;
  min-height: 32px !important;
  border: 1px solid #bfdbfe !important;
  border-radius: 8px !important;
  background: #eff6ff !important;
  color: #1d4ed8 !important;
}

#settingsDialog.settings-dialog .settings-dropdown-open-button span {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
}

#settingsDialog.settings-dialog .settings-dropdown-child-screen {
  display: grid !important;
  gap: 14px !important;
  min-width: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

#settingsDialog.settings-dialog .settings-dropdown-child-header {
  display: grid !important;
  grid-template-columns: auto 44px minmax(0, 1fr) minmax(170px, auto) !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 14px !important;
  border: 1px solid #dbe4ef !important;
  border-radius: 8px !important;
  background: #ffffff !important;
}

#settingsDialog.settings-dialog .settings-dropdown-child-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 8px !important;
  background: #eff6ff !important;
  color: #2563eb !important;
  font-size: 1.05rem !important;
}

#settingsDialog.settings-dialog .settings-dropdown-child-heading {
  display: grid !important;
  gap: 2px !important;
  min-width: 0 !important;
}

#settingsDialog.settings-dialog .settings-dropdown-child-heading span {
  color: #64748b !important;
  font-size: 0.68rem !important;
  font-weight: 850 !important;
  text-transform: uppercase !important;
}

#settingsDialog.settings-dialog .settings-dropdown-child-heading h4 {
  margin: 0 !important;
  overflow: hidden !important;
  color: #020617 !important;
  font-size: 1.05rem !important;
  font-weight: 850 !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#settingsDialog.settings-dialog .settings-dropdown-child-heading p {
  margin: 0 !important;
  color: #64748b !important;
  font-size: 0.78rem !important;
  line-height: 1.35 !important;
}

#settingsDialog.settings-dialog .settings-dropdown-child-grid {
  display: grid !important;
  grid-template-columns: minmax(260px, 0.72fr) minmax(0, 1.28fr) !important;
  gap: 14px !important;
  min-width: 0 !important;
}

#settingsDialog.settings-dialog .settings-builtin-dropdown-child-grid {
  grid-template-columns: minmax(0, 1fr) !important;
}

#settingsDialog.settings-dialog .settings-dropdown-child-card {
  align-content: start !important;
}

#settingsDialog.settings-dialog .settings-dropdown-child-card .dropdown-source-title {
  color: #334155 !important;
  font-size: 0.78rem !important;
  font-weight: 800 !important;
}

#settingsDialog.settings-dialog .settings-dropdown-child-card .dropdown-source-row,
#settingsDialog.settings-dialog .settings-dropdown-value-add-row {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

#settingsDialog.settings-dialog .settings-dropdown-value-add-row {
  grid-template-columns: minmax(0, 1fr) max-content max-content !important;
}

#settingsDialog.settings-dialog .settings-dropdown-child-card .dropdown-source-status,
#settingsDialog.settings-dialog .settings-dropdown-empty-values {
  color: #64748b !important;
  font-size: 0.76rem !important;
}

#settingsDialog.settings-dialog .settings-dropdown-child-values {
  display: grid !important;
  gap: 0 !important;
  max-height: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}

#settingsDialog.settings-dialog .settings-dropdown-child-values .dropdown-option-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) max-content max-content !important;
  gap: 10px !important;
  align-items: center !important;
  min-height: 48px !important;
  padding: 8px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid #e6edf7 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

#settingsDialog.settings-dialog .settings-dropdown-child-values .settings-builtin-dropdown-value-row {
  grid-template-columns: minmax(0, 1fr) max-content !important;
}

#settingsDialog.settings-dialog .settings-dropdown-child-values .dropdown-option-row:hover {
  background: #f8fbff !important;
}

#settingsDialog.settings-dialog .settings-dropdown-child-values .dropdown-option-input {
  width: 100% !important;
  min-width: 0 !important;
}

#settingsDialog.settings-dialog .settings-dropdown-empty-values {
  margin: 0 !important;
  padding: 16px !important;
  border: 1px dashed #cbd5e1 !important;
  border-radius: 8px !important;
  background: #f8fafc !important;
}

@media (max-width: 980px) {
  #settingsDialog.settings-dialog .column-dropdown-manager-list > .settings-dropdown-summary-row.column-dropdown-manager,
  #settingsDialog.settings-dialog .settings-builtin-dropdown-list > .settings-dropdown-summary-row,
  #settingsDialog.settings-dialog .settings-dropdown-child-header,
  #settingsDialog.settings-dialog .settings-dropdown-child-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #settingsDialog.settings-dialog .settings-dropdown-child-icon,
  #settingsDialog.settings-dialog .settings-dropdown-child-chip-row {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 720px) {
  #settingsDialog.settings-dialog .settings-dropdown-value-add-row,
  #settingsDialog.settings-dialog .settings-dropdown-child-card .dropdown-source-row,
  #settingsDialog.settings-dialog .settings-dropdown-child-values .dropdown-option-row {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #settingsDialog.settings-dialog .settings-dropdown-open-button,
  #settingsDialog.settings-dialog .settings-dropdown-child-back {
    width: 100% !important;
    justify-content: center !important;
  }
}

/* USER UPDATE: reuse the compact Columns list rhythm across Settings inner tabs. */
#settingsDialog.settings-dialog .settings-inner-tab-pane .settings-subsection,
#settingsDialog.settings-dialog .settings-inner-tab-pane .settings-list,
#settingsDialog.settings-dialog .settings-inner-tab-pane .settings-add-row,
#settingsDialog.settings-dialog .settings-inner-tab-pane .right-detail-header-settings,
#settingsDialog.settings-dialog .settings-inner-tab-pane .right-detail-layout-tab-list,
#settingsDialog.settings-dialog .settings-inner-tab-pane .right-detail-layout-field-list,
#settingsDialog.settings-dialog .settings-inner-tab-pane .column-dropdown-manager-list,
#settingsDialog.settings-dialog .settings-inner-tab-pane .column-dropdown-options,
#settingsDialog.settings-dialog .settings-inner-tab-pane .app-data-grid-theme-settings {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#settingsDialog.settings-dialog .settings-inner-tab-pane .settings-row,
#settingsDialog.settings-dialog .settings-inner-tab-pane .settings-list-row,
#settingsDialog.settings-dialog .settings-inner-tab-pane .dropdown-option-row,
#settingsDialog.settings-dialog .settings-inner-tab-pane .right-detail-layout-tab-row,
#settingsDialog.settings-dialog .settings-inner-tab-pane .right-detail-layout-field-row,
#settingsDialog.settings-dialog .settings-inner-tab-pane .app-data-grid-theme-row,
#settingsDialog.settings-dialog .settings-inner-tab-pane .menu3-document-form-row,
#settingsDialog.settings-dialog .settings-inner-tab-pane .operation-point-settings-row,
#settingsDialog.settings-dialog .settings-inner-tab-pane .storage-file-row {
  min-height: 34px !important;
  padding: 6px 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--pd-settings-border-soft, #e8eef6) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#settingsDialog.settings-dialog .settings-inner-tab-pane .settings-row:first-child,
#settingsDialog.settings-dialog .settings-inner-tab-pane .settings-list-row:first-child,
#settingsDialog.settings-dialog .settings-inner-tab-pane .dropdown-option-row:first-child,
#settingsDialog.settings-dialog .settings-inner-tab-pane .right-detail-layout-tab-row:first-child,
#settingsDialog.settings-dialog .settings-inner-tab-pane .right-detail-layout-field-row:first-child,
#settingsDialog.settings-dialog .settings-inner-tab-pane .app-data-grid-theme-row:first-child,
#settingsDialog.settings-dialog .settings-inner-tab-pane .menu3-document-form-row:first-child,
#settingsDialog.settings-dialog .settings-inner-tab-pane .operation-point-settings-row:first-child,
#settingsDialog.settings-dialog .settings-inner-tab-pane .storage-file-row:first-child {
  border-top: 0 !important;
}

#settingsDialog.settings-dialog .settings-inner-tab-pane .app-data-grid-theme-row {
  grid-template-columns: minmax(0, 1fr) minmax(150px, 210px) !important;
  gap: 8px !important;
}

#settingsDialog.settings-dialog .settings-inner-tab-pane .app-data-grid-theme-row strong,
#settingsDialog.settings-dialog .settings-inner-tab-pane .right-detail-layout-tab-row span,
#settingsDialog.settings-dialog .settings-inner-tab-pane .right-detail-layout-field-row span {
  font-size: 0.8rem !important;
}

#settingsDialog.settings-dialog .settings-inner-tab-pane .app-data-grid-theme-row small {
  font-size: 0.68rem !important;
}

#settingsDialog.settings-dialog .settings-inner-tab-pane .right-detail-layout-tab-row {
  grid-template-columns: minmax(64px, auto) minmax(0, 1fr) max-content !important;
  gap: 8px !important;
}

#settingsDialog.settings-dialog .settings-inner-tab-pane .right-detail-layout-field-row {
  grid-template-columns: minmax(0, 1fr) minmax(140px, 190px) !important;
  gap: 8px !important;
}

#settingsDialog.settings-dialog .settings-inner-tab-pane .settings-row input,
#settingsDialog.settings-dialog .settings-inner-tab-pane .settings-row select,
#settingsDialog.settings-dialog .settings-inner-tab-pane .settings-list-row input,
#settingsDialog.settings-dialog .settings-inner-tab-pane .settings-list-row select {
  min-height: 32px !important;
}

@media (max-width: 1280px) {
  #settingsDialog.settings-dialog .settings-panel .inspector-column-row {
    grid-template-columns: minmax(0, 1fr) minmax(260px, 1fr) !important;
    grid-template-areas:
      "column-label column-toggles"
      "column-advanced column-actions" !important;
  }
}

@media (max-width: 900px) {
  #settingsDialog.settings-dialog .settings-panel .inspector-column-row {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas:
      "column-label"
      "column-toggles"
      "column-advanced"
      "column-actions" !important;
  }
}

/* USER UPDATE: Users / Password follows the Mantine users-table rhythm. */
#settingsDialog.settings-dialog .settings-panel [data-settings-panel="users"] {
  --pd-user-table-border: #e5edf6;
  --pd-user-table-muted: #64748b;
  --pd-user-table-ink: #0f172a;
  --pd-user-table-blue: #228be6;
  --pd-user-table-red: #fa5252;
}

#settingsDialog.settings-dialog .settings-panel [data-settings-panel="users"] > h3 {
  margin-bottom: 10px !important;
}

#settingsDialog.settings-dialog .settings-panel .settings-add-row.user-row {
  display: grid !important;
  grid-template-columns:
    minmax(130px, 1fr)
    minmax(130px, 1fr)
    minmax(150px, 1fr)
    minmax(120px, 0.8fr)
    minmax(214px, 1.15fr)
    minmax(150px, 0.85fr)
    max-content !important;
  align-items: center !important;
  gap: 8px !important;
  margin-bottom: 10px !important;
  border: 1px solid var(--pd-user-table-border) !important;
  border-radius: 8px !important;
  background: #ffffff !important;
}

#settingsDialog.settings-dialog .settings-users-table-list {
  display: block !important;
  padding: 0 !important;
  border: 1px solid var(--pd-user-table-border) !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  overflow: hidden !important;
}

#settingsDialog.settings-dialog .settings-users-table-card {
  min-width: 0 !important;
  background: #ffffff !important;
}

#settingsDialog.settings-dialog .settings-users-table-scroll {
  width: 100% !important;
  overflow-x: auto !important;
}

#settingsDialog.settings-dialog .settings-users-table {
  width: 100% !important;
  min-width: 900px !important;
  border-collapse: collapse !important;
  color: var(--pd-user-table-ink) !important;
  font-family: "Khmer OS Siemreap", "PaperDesk Inter Latin", Arial, sans-serif !important;
}

#settingsDialog.settings-dialog .settings-users-table thead th {
  padding: 10px 12px !important;
  border-bottom: 1px solid var(--pd-user-table-border) !important;
  background: #ffffff !important;
  color: #111827 !important;
  font-size: 0.78rem !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-align: left !important;
}

#settingsDialog.settings-dialog .settings-users-table thead th:last-child {
  text-align: right !important;
}

#settingsDialog.settings-dialog .settings-users-table .settings-user-table-row {
  display: table-row !important;
  min-height: unset !important;
  padding: 0 !important;
  border: 0 !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

#settingsDialog.settings-dialog .settings-users-table td {
  padding: 9px 12px !important;
  border-bottom: 1px solid var(--pd-user-table-border) !important;
  vertical-align: middle !important;
}

#settingsDialog.settings-dialog .settings-users-table tbody tr:last-child td {
  border-bottom: 0 !important;
}

#settingsDialog.settings-dialog .settings-user-employee-cell {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 250px !important;
}

#settingsDialog.settings-dialog .settings-users-table .user-avatar-settings-control {
  display: inline-grid !important;
  grid-template-columns: 30px 84px 30px 34px 28px !important;
  align-items: center !important;
  gap: 5px !important;
  width: auto !important;
  min-width: 0 !important;
}

#settingsDialog.settings-dialog .settings-users-table .user-avatar-settings-preview,
#settingsDialog.settings-dialog .settings-add-row.user-row .user-avatar-settings-preview {
  width: 30px !important;
  min-width: 30px !important;
  height: 30px !important;
}

#settingsDialog.settings-dialog .settings-users-table .user-avatar-icon-select {
  width: 84px !important;
  min-width: 84px !important;
}

#settingsDialog.settings-dialog .settings-users-table .user-avatar-color-input {
  width: 30px !important;
  min-width: 30px !important;
  max-width: 30px !important;
  height: 30px !important;
  min-height: 30px !important;
}

#settingsDialog.settings-dialog .settings-users-table .user-avatar-photo-button {
  min-width: 34px !important;
  width: 34px !important;
  height: 30px !important;
  min-height: 30px !important;
  padding: 0 !important;
  overflow: hidden !important;
  color: transparent !important;
}

#settingsDialog.settings-dialog .settings-users-table .user-avatar-photo-button::before {
  color: #475569 !important;
  content: "Pic" !important;
  font-size: 0.68rem !important;
  font-weight: 800 !important;
}

#settingsDialog.settings-dialog .settings-users-table .user-avatar-photo-clear {
  width: 28px !important;
  min-width: 28px !important;
  height: 30px !important;
  min-height: 30px !important;
  color: #ef4444 !important;
}

#settingsDialog.settings-dialog .settings-user-identity {
  display: grid !important;
  gap: 1px !important;
  min-width: 0 !important;
}

#settingsDialog.settings-dialog .settings-user-identity strong {
  overflow: hidden !important;
  color: #0f172a !important;
  font-size: 0.84rem !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#settingsDialog.settings-dialog .settings-user-identity span {
  overflow: hidden !important;
  color: var(--pd-user-table-muted) !important;
  font-size: 0.7rem !important;
  line-height: 1.2 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#settingsDialog.settings-dialog .settings-user-role-select {
  width: auto !important;
  min-width: 116px !important;
  min-height: 24px !important;
  padding: 0 24px 0 10px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background-color: #e7f5ff !important;
  color: #1971c2 !important;
  font-size: 0.68rem !important;
  font-weight: 900 !important;
  letter-spacing: 0.03em !important;
  text-transform: uppercase !important;
}

#settingsDialog.settings-dialog .settings-user-table-row[data-user-role="top-admin"] .settings-user-role-select,
#settingsDialog.settings-dialog .settings-user-table-row[data-user-role="data-admin"] .settings-user-role-select {
  background-color: #e7f5ff !important;
  color: #1971c2 !important;
}

#settingsDialog.settings-dialog .settings-user-table-row[data-user-role="finance-admin"] .settings-user-role-select,
#settingsDialog.settings-dialog .settings-user-table-row[data-user-role="finance-user"] .settings-user-role-select {
  background-color: #e3fafc !important;
  color: #0c8599 !important;
}

#settingsDialog.settings-dialog .settings-user-table-row[data-user-role="department-admin"] .settings-user-role-select,
#settingsDialog.settings-dialog .settings-user-table-row[data-user-role="data-entry-user"] .settings-user-role-select {
  background-color: #fff3bf !important;
  color: #e67700 !important;
}

#settingsDialog.settings-dialog .settings-user-table-row[data-user-role="auditor"] .settings-user-role-select,
#settingsDialog.settings-dialog .settings-user-table-row[data-user-role="viewer"] .settings-user-role-select,
#settingsDialog.settings-dialog .settings-user-table-row[data-user-role="normal-admin"] .settings-user-role-select {
  background-color: #f3f0ff !important;
  color: #7048e8 !important;
}

#settingsDialog.settings-dialog .settings-user-table-input {
  width: 100% !important;
  min-width: 124px !important;
  border: 0 !important;
  background: transparent !important;
  color: #111827 !important;
  box-shadow: none !important;
}

#settingsDialog.settings-dialog .settings-user-email-input {
  color: #1c7ed6 !important;
}

#settingsDialog.settings-dialog .settings-user-action-cell {
  text-align: right !important;
  width: 88px !important;
}

#settingsDialog.settings-dialog .settings-user-action-group {
  display: inline-flex !important;
  justify-content: flex-end !important;
  gap: 2px !important;
}

#settingsDialog.settings-dialog .settings-user-action-button {
  display: inline-grid !important;
  place-items: center !important;
  width: 30px !important;
  min-width: 30px !important;
  height: 30px !important;
  min-height: 30px !important;
  padding: 0 !important;
  border: 1px solid transparent !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: #495057 !important;
  cursor: pointer !important;
}

#settingsDialog.settings-dialog .settings-user-action-button span {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
}

#settingsDialog.settings-dialog .settings-user-delete-button {
  color: var(--pd-user-table-red) !important;
}

#settingsDialog.settings-dialog .settings-user-action-button:hover,
#settingsDialog.settings-dialog .settings-user-action-button:focus-visible {
  border-color: #e9ecef !important;
  background: #f8f9fa !important;
  outline: none !important;
}

#settingsDialog.settings-dialog .settings-users-empty {
  padding: 18px 12px !important;
  color: var(--pd-user-table-muted) !important;
  text-align: center !important;
}

@media (max-width: 1180px) {
  #settingsDialog.settings-dialog .settings-panel .settings-add-row.user-row {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  }
}

@media (max-width: 720px) {
  #settingsDialog.settings-dialog .settings-panel .settings-add-row.user-row {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* USER UPDATE: enterprise Settings command center polish. */
#settingsDialog.settings-dialog,
#settingsDialog.settings-dialog[open] {
  --pd-settings-surface: #f5f7fb;
  --pd-settings-panel: #ffffff;
  --pd-settings-panel-soft: #f8fafc;
  --pd-settings-border: #d9e2ef;
  --pd-settings-border-soft: #e8eef6;
  --pd-settings-text: #0f172a;
  --pd-settings-muted: #64748b;
  --pd-settings-accent: #2563eb;
  --pd-settings-accent-soft: #eff6ff;
  --pd-settings-danger: #dc2626;
  --pd-settings-shell-shadow: 0 24px 64px rgba(15, 23, 42, 0.22);
  width: calc(100vw - 18px) !important;
  max-width: calc(100vw - 18px) !important;
  height: calc(100vh - 18px) !important;
  max-height: calc(100vh - 18px) !important;
  padding: 0 !important;
  border: 1px solid var(--pd-settings-border) !important;
  border-radius: 12px !important;
  background: var(--pd-settings-surface) !important;
  color: var(--pd-settings-text) !important;
  box-shadow: var(--pd-settings-shell-shadow) !important;
  overflow: hidden !important;
}

body.dark-theme #settingsDialog.settings-dialog,
body.dark-theme #settingsDialog.settings-dialog[open] {
  --pd-settings-surface: #111827;
  --pd-settings-panel: #172033;
  --pd-settings-panel-soft: #1e293b;
  --pd-settings-border: #334155;
  --pd-settings-border-soft: #293548;
  --pd-settings-text: #f8fafc;
  --pd-settings-muted: #a9b4c5;
  --pd-settings-accent: #60a5fa;
  --pd-settings-accent-soft: rgba(96, 165, 250, 0.14);
  --pd-settings-danger: #f87171;
}

#settingsDialog.settings-dialog .settings-panel {
  display: grid !important;
  grid-template-columns: minmax(254px, 286px) minmax(0, 1fr) !important;
  grid-template-rows: 62px minmax(0, 1fr) !important;
  gap: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  background: var(--pd-settings-surface) !important;
  color: var(--pd-settings-text) !important;
  font-family: var(--pd-english-ui-font, "Inter Variable", "Noto Sans Khmer", "Khmer OS Siemreap", Arial, sans-serif) !important;
}

#settingsDialog.settings-dialog .settings-header {
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-width: 0 !important;
  min-height: 62px !important;
  margin: 0 !important;
  padding: 0 18px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--pd-settings-border) !important;
  border-radius: 0 !important;
  background: var(--pd-settings-panel) !important;
  box-shadow: none !important;
}

#settingsDialog.settings-dialog .settings-header::before {
  width: 4px !important;
  height: 32px !important;
  flex: 0 0 4px !important;
  margin-right: 14px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--pd-settings-accent) !important;
  box-shadow: none !important;
}

#settingsDialog.settings-dialog .settings-header > div {
  min-width: 0 !important;
}

#settingsDialog.settings-dialog .settings-header .eyebrow {
  margin: 0 0 4px !important;
  color: var(--pd-settings-muted) !important;
  font-size: 0.68rem !important;
  font-weight: 760 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

#settingsDialog.settings-dialog .settings-title-row {
  display: flex !important;
  align-items: center !important;
  min-width: 0 !important;
  gap: 10px !important;
}

#settingsDialog.settings-dialog .settings-header h2 {
  min-width: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  color: var(--pd-settings-text) !important;
  font-size: 1.03rem !important;
  font-weight: 760 !important;
  line-height: 1.2 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#settingsDialog.settings-dialog .settings-edit-approval {
  min-height: 28px !important;
  padding: 0 10px !important;
  border: 1px solid rgba(15, 118, 110, 0.2) !important;
  border-radius: 7px !important;
  background: rgba(15, 118, 110, 0.08) !important;
  color: #0f766e !important;
  font-size: 0.72rem !important;
  font-weight: 760 !important;
  letter-spacing: 0 !important;
}

#settingsDialog.settings-dialog #closeSettingsButton {
  width: 34px !important;
  min-width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  border: 1px solid var(--pd-settings-border) !important;
  border-radius: 8px !important;
  background: var(--pd-settings-panel) !important;
  color: var(--pd-settings-muted) !important;
  box-shadow: 0 1px 1px rgba(15, 23, 42, 0.04) !important;
}

#settingsDialog.settings-dialog #closeSettingsButton:hover,
#settingsDialog.settings-dialog #closeSettingsButton:focus-visible {
  border-color: rgba(37, 99, 235, 0.28) !important;
  background: var(--pd-settings-accent-soft) !important;
  color: var(--pd-settings-accent) !important;
  outline: none !important;
}

#settingsDialog.settings-dialog .settings-tabs {
  grid-column: 1 !important;
  grid-row: 1 / -1 !important;
  align-content: start !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 14px 10px 12px !important;
  border: 0 !important;
  border-right: 1px solid var(--pd-settings-border) !important;
  border-radius: 0 !important;
  background: var(--pd-settings-panel-soft) !important;
  box-shadow: none !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  scrollbar-width: thin !important;
  scrollbar-color: #cbd5e1 transparent !important;
}

#settingsDialog.settings-dialog .settings-tabs::-webkit-scrollbar {
  width: 7px !important;
}

#settingsDialog.settings-dialog .settings-tabs::-webkit-scrollbar-thumb {
  border-radius: 999px !important;
  background: #cbd5e1 !important;
}

#settingsDialog.settings-dialog .settings-tabs::before {
  display: block !important;
  margin: 2px 8px 14px !important;
  color: var(--pd-settings-text) !important;
  content: "Settings" !important;
  font-size: 0.9rem !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
  text-transform: none !important;
}

#settingsDialog.settings-dialog .settings-tab-group {
  display: grid !important;
  gap: 4px !important;
  padding: 0 0 12px !important;
  border-top: 0 !important;
}

#settingsDialog.settings-dialog .settings-tab-group + .settings-tab-group {
  padding-top: 10px !important;
  border-top: 1px solid var(--pd-settings-border-soft) !important;
}

#settingsDialog.settings-dialog .settings-tab-group-label {
  padding: 0 8px 4px !important;
  color: var(--pd-settings-muted) !important;
  font-size: 0.67rem !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}

#settingsDialog.settings-dialog .settings-tab-group-list {
  display: grid !important;
  gap: 4px !important;
}

#settingsDialog.settings-dialog .settings-tab {
  display: grid !important;
  grid-template-columns: 12px minmax(0, 1fr) !important;
  align-items: center !important;
  min-height: 36px !important;
  padding: 0 9px !important;
  border: 1px solid transparent !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: var(--pd-settings-muted) !important;
  box-shadow: none !important;
  gap: 8px !important;
  letter-spacing: 0 !important;
}

#settingsDialog.settings-dialog .settings-tab-marker {
  width: 7px !important;
  height: 7px !important;
  border-radius: 999px !important;
  background: #cbd5e1 !important;
  box-shadow: none !important;
}

#settingsDialog.settings-dialog .settings-tab-label {
  min-width: 0 !important;
  overflow: hidden !important;
  color: inherit !important;
  font-size: 0.78rem !important;
  font-weight: 650 !important;
  line-height: 1.2 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#settingsDialog.settings-dialog .settings-tab:hover,
#settingsDialog.settings-dialog .settings-tab:focus-visible {
  border-color: var(--pd-settings-border) !important;
  background: var(--pd-settings-panel) !important;
  color: var(--pd-settings-text) !important;
  outline: none !important;
}

#settingsDialog.settings-dialog .settings-tab.active {
  border-color: rgba(37, 99, 235, 0.24) !important;
  background: var(--pd-settings-panel) !important;
  color: var(--pd-settings-text) !important;
  box-shadow: inset 3px 0 0 var(--pd-settings-accent), 0 1px 2px rgba(15, 23, 42, 0.05) !important;
}

#settingsDialog.settings-dialog .settings-tab.active .settings-tab-marker {
  background: var(--pd-settings-accent) !important;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12) !important;
}

#settingsDialog.settings-dialog .settings-section {
  grid-column: 2 !important;
  grid-row: 2 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 18px 20px 24px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--pd-settings-panel) !important;
  color: var(--pd-settings-text) !important;
  box-shadow: none !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

#settingsDialog.settings-dialog .settings-section > h3 {
  display: flex !important;
  align-items: center !important;
  min-width: 0 !important;
  gap: 10px !important;
  margin: 0 0 14px !important;
  padding: 0 0 12px !important;
  border-bottom: 1px solid var(--pd-settings-border-soft) !important;
  color: var(--pd-settings-text) !important;
  font-size: 1.08rem !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
}

#settingsDialog.settings-dialog .settings-section > h3::before {
  display: block !important;
  width: 4px !important;
  height: 22px !important;
  flex: 0 0 4px !important;
  border-radius: 999px !important;
  background: var(--pd-settings-accent) !important;
  content: "" !important;
}

#settingsDialog.settings-dialog .settings-section h4,
#settingsDialog.settings-dialog .settings-section strong,
#settingsDialog.settings-dialog .settings-section label {
  color: var(--pd-settings-text) !important;
  letter-spacing: 0 !important;
}

#settingsDialog.settings-dialog .settings-help-text,
#settingsDialog.settings-dialog .settings-section small,
#settingsDialog.settings-dialog .settings-section p,
#settingsDialog.settings-dialog .settings-section span:not(.settings-inner-tab-count):not(.settings-tab-marker):not(.settings-switch-slider) {
  letter-spacing: 0 !important;
}

#settingsDialog.settings-dialog .settings-inner-tabs {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(166px, 1fr)) !important;
  gap: 8px !important;
  width: 100% !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}

#settingsDialog.settings-dialog .settings-inner-tab {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) max-content !important;
  align-items: center !important;
  min-height: 52px !important;
  padding: 9px 10px !important;
  border: 1px solid var(--pd-settings-border) !important;
  border-radius: 8px !important;
  background: var(--pd-settings-panel-soft) !important;
  color: var(--pd-settings-text) !important;
  box-shadow: none !important;
  gap: 8px !important;
  letter-spacing: 0 !important;
}

#settingsDialog.settings-dialog .settings-inner-tab-label {
  color: inherit !important;
  font-size: 0.78rem !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
}

#settingsDialog.settings-dialog .settings-inner-tab-detail {
  color: var(--pd-settings-muted) !important;
  font-size: 0.66rem !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
}

#settingsDialog.settings-dialog .settings-inner-tab-count {
  min-width: 24px !important;
  height: 24px !important;
  border: 1px solid rgba(37, 99, 235, 0.2) !important;
  border-radius: 999px !important;
  background: var(--pd-settings-panel) !important;
  color: var(--pd-settings-accent) !important;
  font-size: 0.68rem !important;
  font-weight: 850 !important;
  letter-spacing: 0 !important;
}

#settingsDialog.settings-dialog .settings-inner-tab:hover,
#settingsDialog.settings-dialog .settings-inner-tab:focus-visible {
  border-color: rgba(37, 99, 235, 0.36) !important;
  background: var(--pd-settings-panel) !important;
  outline: none !important;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06) !important;
}

#settingsDialog.settings-dialog .settings-inner-tab.active,
#settingsDialog.settings-dialog .settings-inner-tab[aria-selected="true"] {
  border-color: rgba(37, 99, 235, 0.42) !important;
  background: var(--pd-settings-accent-soft) !important;
  color: var(--pd-settings-accent) !important;
  box-shadow: inset 3px 0 0 var(--pd-settings-accent), 0 4px 14px rgba(37, 99, 235, 0.08) !important;
}

#settingsDialog.settings-dialog .settings-subsection,
#settingsDialog.settings-dialog .settings-add-row,
#settingsDialog.settings-dialog .settings-list,
#settingsDialog.settings-dialog .audit-log,
#settingsDialog.settings-dialog .reference-settings,
#settingsDialog.settings-dialog .settings-share-tools,
#settingsDialog.settings-dialog .settings-file-actions,
#settingsDialog.settings-dialog .dashboard-builder-grid,
#settingsDialog.settings-dialog .widget-builder-grid,
#settingsDialog.settings-dialog .dashboard-list,
#settingsDialog.settings-dialog .floating-button-settings-section,
#settingsDialog.settings-dialog .login-grid-customize-card {
  border-color: var(--pd-settings-border-soft) !important;
  border-radius: 8px !important;
  background: var(--pd-settings-panel) !important;
  box-shadow: none !important;
}

#settingsDialog.settings-dialog .settings-inner-tab-pane .settings-subsection,
#settingsDialog.settings-dialog .settings-inner-tab-pane .settings-list,
#settingsDialog.settings-dialog .settings-inner-tab-pane .settings-add-row,
#settingsDialog.settings-dialog .settings-inner-tab-pane .right-detail-header-settings,
#settingsDialog.settings-dialog .settings-inner-tab-pane .right-detail-layout-tab-list,
#settingsDialog.settings-dialog .settings-inner-tab-pane .right-detail-layout-field-list,
#settingsDialog.settings-dialog .settings-inner-tab-pane .column-dropdown-manager-list,
#settingsDialog.settings-dialog .settings-inner-tab-pane .column-dropdown-options,
#settingsDialog.settings-dialog .settings-inner-tab-pane .app-data-grid-theme-settings {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#settingsDialog.settings-dialog .settings-list-row,
#settingsDialog.settings-dialog .user-settings-row,
#settingsDialog.settings-dialog .menu-settings-row,
#settingsDialog.settings-dialog .dashboard-settings-row,
#settingsDialog.settings-dialog .dropdown-option-row,
#settingsDialog.settings-dialog .menu-storage-row,
#settingsDialog.settings-dialog .settings-security-summary > div,
#settingsDialog.settings-dialog .settings-security-status-list span {
  border-color: var(--pd-settings-border-soft) !important;
  background: var(--pd-settings-panel) !important;
}

#settingsDialog.settings-dialog .settings-inner-tab-pane .settings-row,
#settingsDialog.settings-dialog .settings-inner-tab-pane .settings-list-row,
#settingsDialog.settings-dialog .settings-inner-tab-pane .dropdown-option-row,
#settingsDialog.settings-dialog .settings-inner-tab-pane .right-detail-layout-tab-row,
#settingsDialog.settings-dialog .settings-inner-tab-pane .right-detail-layout-field-row,
#settingsDialog.settings-dialog .settings-inner-tab-pane .app-data-grid-theme-row,
#settingsDialog.settings-dialog .settings-inner-tab-pane .menu3-document-form-row,
#settingsDialog.settings-dialog .settings-inner-tab-pane .operation-point-settings-row,
#settingsDialog.settings-dialog .settings-inner-tab-pane .storage-file-row {
  min-height: 36px !important;
  padding: 7px 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--pd-settings-border-soft) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#settingsDialog.settings-dialog .settings-panel input,
#settingsDialog.settings-dialog .settings-panel select,
#settingsDialog.settings-dialog .settings-panel textarea {
  min-height: 36px !important;
  border: 1px solid var(--pd-settings-border) !important;
  border-radius: 7px !important;
  background: #fbfdff !important;
  color: var(--pd-settings-text) !important;
  font-size: 0.82rem !important;
  letter-spacing: 0 !important;
}

body.dark-theme #settingsDialog.settings-dialog .settings-panel input,
body.dark-theme #settingsDialog.settings-dialog .settings-panel select,
body.dark-theme #settingsDialog.settings-dialog .settings-panel textarea {
  background: #111827 !important;
}

#settingsDialog.settings-dialog .settings-panel input::placeholder,
#settingsDialog.settings-dialog .settings-panel textarea::placeholder {
  color: var(--pd-settings-muted) !important;
  opacity: 0.74 !important;
}

#settingsDialog.settings-dialog .settings-panel input:focus,
#settingsDialog.settings-dialog .settings-panel select:focus,
#settingsDialog.settings-dialog .settings-panel textarea:focus {
  border-color: rgba(37, 99, 235, 0.56) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12) !important;
}

#settingsDialog.settings-dialog .settings-panel .secondary-action,
#settingsDialog.settings-dialog .settings-panel .primary-action,
#settingsDialog.settings-dialog .settings-panel button:not(.icon-button):not(.theme-palette-button):not(.theme-color-button) {
  min-height: 34px !important;
  border-radius: 7px !important;
  font-size: 0.78rem !important;
  font-weight: 720 !important;
  letter-spacing: 0 !important;
}

#settingsDialog.settings-dialog .settings-panel .secondary-action,
#settingsDialog.settings-dialog .settings-panel button:not(.icon-button):not(.theme-palette-button):not(.theme-color-button):not(.primary-action) {
  border-color: var(--pd-settings-border) !important;
  background: var(--pd-settings-panel) !important;
  color: var(--pd-settings-text) !important;
}

#settingsDialog.settings-dialog .settings-panel .secondary-action:hover,
#settingsDialog.settings-dialog .settings-panel button:not(.icon-button):not(.theme-palette-button):not(.theme-color-button):not(.primary-action):hover {
  border-color: rgba(37, 99, 235, 0.32) !important;
  background: var(--pd-settings-accent-soft) !important;
  color: var(--pd-settings-accent) !important;
}

#settingsDialog.settings-dialog .settings-panel .primary-action,
#settingsDialog.settings-dialog .settings-panel button.primary-action {
  border-color: var(--pd-settings-accent) !important;
  background: var(--pd-settings-accent) !important;
  color: #ffffff !important;
}

#settingsDialog.settings-dialog .settings-checkbox,
#settingsDialog.settings-dialog .floating-button-toggle-row,
#settingsDialog.settings-dialog .settings-security-switch-grid label {
  border-color: var(--pd-settings-border-soft) !important;
  border-radius: 8px !important;
  background: var(--pd-settings-panel-soft) !important;
}

#settingsDialog.settings-dialog .settings-users-table,
#settingsDialog.settings-dialog .settings-users-table-card,
#settingsDialog.settings-dialog .settings-users-table-list {
  border-color: var(--pd-settings-border-soft) !important;
}

@media (max-width: 980px) {
  #settingsDialog.settings-dialog,
  #settingsDialog.settings-dialog[open] {
    width: calc(100vw - 12px) !important;
    max-width: calc(100vw - 12px) !important;
    height: calc(100vh - 12px) !important;
    max-height: calc(100vh - 12px) !important;
  }

  #settingsDialog.settings-dialog .settings-panel {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: 60px minmax(120px, 180px) minmax(0, 1fr) !important;
  }

  #settingsDialog.settings-dialog .settings-header {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-height: 60px !important;
  }

  #settingsDialog.settings-dialog .settings-tabs {
    grid-column: 1 !important;
    grid-row: 2 !important;
    display: grid !important;
    max-height: 180px !important;
    padding: 10px !important;
    border-right: 0 !important;
    border-bottom: 1px solid var(--pd-settings-border) !important;
    overflow-y: auto !important;
  }

  #settingsDialog.settings-dialog .settings-tabs::before {
    display: none !important;
  }

  #settingsDialog.settings-dialog .settings-tab-group-list {
    grid-template-columns: repeat(auto-fit, minmax(152px, 1fr)) !important;
  }

  #settingsDialog.settings-dialog .settings-section {
    grid-column: 1 !important;
    grid-row: 3 !important;
    padding: 14px !important;
  }
}

@media (max-width: 620px) {
  #settingsDialog.settings-dialog .settings-header {
    padding: 0 12px !important;
  }

  #settingsDialog.settings-dialog .settings-edit-approval {
    max-width: 124px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  #settingsDialog.settings-dialog .settings-inner-tabs {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #settingsDialog.settings-dialog .settings-section {
    padding: 12px !important;
  }
}

/* USER UPDATE: preserve compact avatar upload controls inside enterprise Settings shell. */
#settingsDialog.settings-dialog .settings-users-table .user-avatar-photo-button {
  width: 34px !important;
  min-width: 34px !important;
  height: 30px !important;
  min-height: 30px !important;
  padding: 0 !important;
  overflow: hidden !important;
  color: transparent !important;
  font-size: 0 !important;
}

#settingsDialog.settings-dialog .settings-users-table .user-avatar-photo-button:hover,
#settingsDialog.settings-dialog .settings-users-table .user-avatar-photo-button:focus-visible {
  color: transparent !important;
}

#settingsDialog.settings-dialog .settings-users-table .user-avatar-photo-button::before {
  color: #475569 !important;
  content: "Pic" !important;
  font-size: 0.68rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

#settingsDialog.settings-dialog .settings-users-table .user-avatar-photo-clear {
  width: 28px !important;
  min-width: 28px !important;
  height: 30px !important;
  min-height: 30px !important;
  padding: 0 !important;
  color: var(--pd-settings-danger, #dc2626) !important;
  font-size: 0.76rem !important;
  line-height: 1 !important;
}

/* USER UPDATE: Users / Password enterprise directory redesign. */
#settingsDialog.settings-dialog .settings-panel [data-settings-panel="users"] {
  --pd-users-card-border: #dbe4ef;
  --pd-users-card-soft: #f8fafc;
  --pd-users-card-muted: #64748b;
  --pd-users-card-ink: #0f172a;
  --pd-users-card-blue: #2563eb;
}

#settingsDialog.settings-dialog .settings-panel [data-settings-panel="users"] .app-password-tools {
  min-height: 48px !important;
  margin-bottom: 10px !important;
  padding: 8px 10px !important;
  border: 1px solid var(--pd-users-card-border) !important;
  border-radius: 8px !important;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
}

#settingsDialog.settings-dialog .settings-panel [data-settings-panel="users"] .app-password-tools h4 {
  color: var(--pd-users-card-ink) !important;
  font-size: 0.78rem !important;
  font-weight: 850 !important;
}

#settingsDialog.settings-dialog .settings-panel [data-settings-panel="users"] .app-password-actions .secondary-action {
  min-height: 32px !important;
  padding: 0 12px !important;
  border-radius: 7px !important;
  font-size: 0.75rem !important;
  font-weight: 800 !important;
}

#settingsDialog.settings-dialog .settings-panel .settings-add-row.user-row {
  grid-template-columns:
    minmax(150px, 1fr)
    minmax(150px, 1fr)
    minmax(170px, 1fr)
    minmax(140px, 0.8fr)
    minmax(236px, 1.1fr)
    minmax(180px, 0.9fr)
    max-content !important;
  align-items: center !important;
  gap: 8px !important;
  margin-bottom: 12px !important;
  padding: 9px !important;
  border: 1px solid var(--pd-users-card-border) !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

#settingsDialog.settings-dialog .settings-panel .settings-add-row.user-row > input,
#settingsDialog.settings-dialog .settings-panel .settings-add-row.user-row > select {
  min-height: 34px !important;
  border-color: var(--pd-users-card-border) !important;
  background: #fbfdff !important;
  font-size: 0.78rem !important;
}

#settingsDialog.settings-dialog .settings-panel .settings-add-row.user-row .secondary-action {
  min-height: 34px !important;
  padding: 0 14px !important;
  border-color: #111827 !important;
  background: #111827 !important;
  color: #ffffff !important;
}

#settingsDialog.settings-dialog .settings-panel .settings-add-row.user-row .user-avatar-settings-control {
  grid-template-columns: 32px minmax(76px, 1fr) 32px auto auto !important;
  gap: 5px !important;
  padding: 0 !important;
}

#settingsDialog.settings-dialog .settings-users-table-list {
  border: 1px solid var(--pd-users-card-border) !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

#settingsDialog.settings-dialog .settings-users-table-scroll {
  overflow-x: auto !important;
  scrollbar-width: thin !important;
}

#settingsDialog.settings-dialog .settings-users-table {
  min-width: 1180px !important;
  table-layout: fixed !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  color: var(--pd-users-card-ink) !important;
}

#settingsDialog.settings-dialog .settings-users-table th:nth-child(1),
#settingsDialog.settings-dialog .settings-users-table td:nth-child(1) {
  width: 35% !important;
}

#settingsDialog.settings-dialog .settings-users-table th:nth-child(2),
#settingsDialog.settings-dialog .settings-users-table td:nth-child(2) {
  width: 15% !important;
}

#settingsDialog.settings-dialog .settings-users-table th:nth-child(3),
#settingsDialog.settings-dialog .settings-users-table td:nth-child(3) {
  width: 17% !important;
}

#settingsDialog.settings-dialog .settings-users-table th:nth-child(4),
#settingsDialog.settings-dialog .settings-users-table td:nth-child(4) {
  width: 14% !important;
}

#settingsDialog.settings-dialog .settings-users-table th:nth-child(5),
#settingsDialog.settings-dialog .settings-users-table td:nth-child(5) {
  width: 13% !important;
}

#settingsDialog.settings-dialog .settings-users-table th:nth-child(6),
#settingsDialog.settings-dialog .settings-users-table td:nth-child(6) {
  width: 72px !important;
}

#settingsDialog.settings-dialog .settings-users-table thead th {
  height: 38px !important;
  padding: 8px 10px !important;
  border-bottom: 1px solid var(--pd-users-card-border) !important;
  background: #ffffff !important;
  color: #334155 !important;
  font-size: 0.74rem !important;
  font-weight: 800 !important;
}

#settingsDialog.settings-dialog .settings-users-table td {
  height: 64px !important;
  padding: 7px 10px !important;
  border-bottom: 1px solid #e9eef5 !important;
  background: #ffffff !important;
}

#settingsDialog.settings-dialog .settings-users-table tbody tr:hover td {
  background: #f8fafc !important;
}

#settingsDialog.settings-dialog .settings-user-employee-cell {
  display: grid !important;
  grid-template-columns: 158px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
}

#settingsDialog.settings-dialog .settings-users-table .user-avatar-settings-control {
  display: grid !important;
  grid-template-columns: 34px 78px 30px !important;
  grid-template-rows: 28px 28px !important;
  align-items: center !important;
  gap: 4px !important;
  width: 150px !important;
}

#settingsDialog.settings-dialog .settings-users-table .user-avatar-settings-preview {
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  width: 34px !important;
  min-width: 34px !important;
  height: 34px !important;
}

#settingsDialog.settings-dialog .settings-users-table .user-avatar-icon-select {
  grid-column: 2 !important;
  grid-row: 1 !important;
  width: 78px !important;
  min-width: 78px !important;
  height: 28px !important;
  min-height: 28px !important;
  padding: 0 22px 0 8px !important;
  font-size: 0.72rem !important;
}

#settingsDialog.settings-dialog .settings-users-table .user-avatar-color-input {
  grid-column: 3 !important;
  grid-row: 1 !important;
  width: 30px !important;
  min-width: 30px !important;
  height: 28px !important;
  min-height: 28px !important;
}

#settingsDialog.settings-dialog .settings-users-table .user-avatar-photo-button {
  grid-column: 2 !important;
  grid-row: 2 !important;
  width: 78px !important;
  min-width: 78px !important;
  height: 28px !important;
  min-height: 28px !important;
  color: transparent !important;
  font-size: 0 !important;
}

#settingsDialog.settings-dialog .settings-users-table .user-avatar-photo-button::before {
  content: "Photo" !important;
  color: #475569 !important;
  font-size: 0.68rem !important;
  font-weight: 850 !important;
}

#settingsDialog.settings-dialog .settings-users-table .user-avatar-photo-clear {
  grid-column: 3 !important;
  grid-row: 2 !important;
  width: 30px !important;
  min-width: 30px !important;
  height: 28px !important;
  min-height: 28px !important;
}

#settingsDialog.settings-dialog .settings-user-identity {
  min-width: 0 !important;
  align-self: center !important;
}

#settingsDialog.settings-dialog .settings-user-identity strong,
#settingsDialog.settings-dialog .settings-user-identity span {
  max-width: 100% !important;
}

#settingsDialog.settings-dialog .settings-user-role-select {
  width: 100% !important;
  max-width: 210px !important;
  min-height: 30px !important;
  border: 1px solid rgba(37, 99, 235, 0.16) !important;
  border-radius: 7px !important;
  background-color: #eff6ff !important;
  text-overflow: ellipsis !important;
}

#settingsDialog.settings-dialog .settings-user-table-input {
  height: 34px !important;
  min-height: 34px !important;
  min-width: 0 !important;
  padding: 0 9px !important;
  border: 1px solid var(--pd-users-card-border) !important;
  border-radius: 7px !important;
  background: #fbfdff !important;
  color: var(--pd-users-card-ink) !important;
}

#settingsDialog.settings-dialog .settings-user-table-input:focus {
  border-color: rgba(37, 99, 235, 0.56) !important;
  background: #ffffff !important;
}

#settingsDialog.settings-dialog .settings-user-action-cell {
  width: 72px !important;
  padding-right: 10px !important;
}

#settingsDialog.settings-dialog .settings-user-action-group {
  gap: 4px !important;
}

#settingsDialog.settings-dialog .settings-user-action-button {
  width: 28px !important;
  min-width: 28px !important;
  height: 28px !important;
  min-height: 28px !important;
  border: 1px solid var(--pd-users-card-border) !important;
  background: #ffffff !important;
}

#settingsDialog.settings-dialog .settings-user-delete-button:hover,
#settingsDialog.settings-dialog .settings-user-delete-button:focus-visible {
  border-color: rgba(220, 38, 38, 0.24) !important;
  background: #fff1f2 !important;
}

@media (max-width: 1200px) {
  #settingsDialog.settings-dialog .settings-panel .settings-add-row.user-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #settingsDialog.settings-dialog .settings-panel .settings-add-row.user-row .secondary-action {
    width: 100% !important;
  }
}

/* Settings: per-menu audit log */
#settingsDialog.settings-dialog .audit-table-header,
#settingsDialog.settings-dialog .audit-table-row {
  grid-template-columns: 150px 160px minmax(96px, 150px) minmax(220px, 1fr) 110px !important;
}

#settingsDialog.settings-dialog .audit-menu-cell {
  min-width: 0 !important;
  overflow: hidden !important;
  color: #475569 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#settingsDialog.settings-dialog .menu-audit-log-section {
  display: grid !important;
  gap: 10px !important;
  padding: 10px !important;
  border: 1px solid #dbe4ef !important;
  border-radius: 10px !important;
  background: #ffffff !important;
}

#settingsDialog.settings-dialog .menu-audit-log-header {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 12px !important;
}

#settingsDialog.settings-dialog .menu-audit-log-header h4 {
  margin: 0 !important;
  color: #0f172a !important;
  font-size: 0.9rem !important;
  font-weight: 800 !important;
}

#settingsDialog.settings-dialog .menu-audit-log-header p {
  margin: 3px 0 0 !important;
  color: #64748b !important;
  font-size: 0.76rem !important;
  line-height: 1.35 !important;
}

#settingsDialog.settings-dialog .menu-audit-summary-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

#settingsDialog.settings-dialog .menu-audit-summary-grid > div {
  min-height: 48px !important;
  padding: 8px 10px !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 8px !important;
  background: #f8fafc !important;
}

#settingsDialog.settings-dialog .menu-audit-summary-grid span {
  display: block !important;
  color: #64748b !important;
  font-size: 0.68rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
}

#settingsDialog.settings-dialog .menu-audit-summary-grid strong {
  display: block !important;
  min-width: 0 !important;
  margin-top: 4px !important;
  overflow: hidden !important;
  color: #0f172a !important;
  font-size: 0.82rem !important;
  font-weight: 800 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#settingsDialog.settings-dialog .menu-audit-table {
  overflow: hidden !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 9px !important;
  background: #ffffff !important;
}

#settingsDialog.settings-dialog .menu-audit-table-row {
  display: grid !important;
  grid-template-columns: 140px 150px minmax(180px, 1fr) 100px !important;
  gap: 8px !important;
  align-items: center !important;
  min-height: 36px !important;
  padding: 7px 10px !important;
  border-bottom: 1px solid #eef2f7 !important;
}

#settingsDialog.settings-dialog .menu-audit-table-head {
  min-height: 32px !important;
  color: #475569 !important;
  background: #f1f5f9 !important;
  font-size: 0.68rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
}

#settingsDialog.settings-dialog .menu-audit-table-body {
  max-height: 220px !important;
  overflow: auto !important;
}

#settingsDialog.settings-dialog .menu-audit-table-row time,
#settingsDialog.settings-dialog .menu-audit-table-row span,
#settingsDialog.settings-dialog .menu-audit-table-row strong {
  min-width: 0 !important;
  overflow: hidden !important;
  font-size: 0.74rem !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#settingsDialog.settings-dialog .menu-audit-table-row time,
#settingsDialog.settings-dialog .menu-audit-table-row span {
  color: #475569 !important;
}

#settingsDialog.settings-dialog .menu-audit-table-row strong {
  width: fit-content !important;
  max-width: 100% !important;
  padding: 3px 7px !important;
  border: 1px solid rgba(37, 99, 235, 0.18) !important;
  border-radius: 999px !important;
  color: #1d4ed8 !important;
  background: #eff6ff !important;
  font-weight: 800 !important;
}

#settingsDialog.settings-dialog .menu-audit-empty-state {
  display: grid !important;
  gap: 4px !important;
  padding: 12px !important;
  border: 1px dashed #cbd5e1 !important;
  border-radius: 9px !important;
  background: #f8fafc !important;
  color: #64748b !important;
  font-size: 0.78rem !important;
}

#settingsDialog.settings-dialog .menu-audit-empty-state strong {
  color: #0f172a !important;
}

@media (max-width: 980px) {
  #settingsDialog.settings-dialog .menu-audit-summary-grid {
    grid-template-columns: 1fr !important;
  }

  #settingsDialog.settings-dialog .menu-audit-table-row {
    grid-template-columns: 120px 130px minmax(160px, 1fr) 90px !important;
  }
}

/* Settings: account data visibility level */
#settingsDialog.settings-dialog .settings-panel .settings-add-row.user-row {
  grid-template-columns:
    minmax(140px, 1fr)
    minmax(140px, 1fr)
    minmax(160px, 1fr)
    minmax(130px, 0.8fr)
    minmax(220px, 1.1fr)
    minmax(170px, 0.9fr)
    minmax(150px, 0.9fr)
    max-content !important;
}

#settingsDialog.settings-dialog .settings-users-table {
  min-width: 1420px !important;
}

#settingsDialog.settings-dialog .settings-users-table th:nth-child(1),
#settingsDialog.settings-dialog .settings-users-table td:nth-child(1) {
  width: 27% !important;
}

#settingsDialog.settings-dialog .settings-users-table th:nth-child(2),
#settingsDialog.settings-dialog .settings-users-table td:nth-child(2) {
  width: 13% !important;
}

#settingsDialog.settings-dialog .settings-users-table th:nth-child(3),
#settingsDialog.settings-dialog .settings-users-table td:nth-child(3) {
  width: 18% !important;
}

#settingsDialog.settings-dialog .settings-users-table th:nth-child(4),
#settingsDialog.settings-dialog .settings-users-table td:nth-child(4) {
  width: 15% !important;
}

#settingsDialog.settings-dialog .settings-users-table th:nth-child(5),
#settingsDialog.settings-dialog .settings-users-table td:nth-child(5) {
  width: 13% !important;
}

#settingsDialog.settings-dialog .settings-users-table th:nth-child(6),
#settingsDialog.settings-dialog .settings-users-table td:nth-child(6) {
  width: 13% !important;
}

#settingsDialog.settings-dialog .settings-users-table th:nth-child(7),
#settingsDialog.settings-dialog .settings-users-table td:nth-child(7) {
  width: 72px !important;
}

#settingsDialog.settings-dialog .settings-user-visibility-select {
  max-width: 240px !important;
  background-color: #f8fafc !important;
  color: #1e293b !important;
}

#settingsDialog.settings-dialog .settings-user-table-row[data-user-visibility-scope="self"] .settings-user-visibility-select {
  border-color: rgba(37, 99, 235, 0.26) !important;
  background: #eff6ff !important;
}

#settingsDialog.settings-dialog .settings-user-table-row[data-user-visibility-scope="team"] .settings-user-visibility-select {
  border-color: rgba(20, 184, 166, 0.24) !important;
  background: #f0fdfa !important;
}

#settingsDialog.settings-dialog .settings-user-table-row[data-user-visibility-scope="all"] .settings-user-visibility-select {
  border-color: rgba(15, 23, 42, 0.16) !important;
  background: #f8fafc !important;
}

/* USER UPDATE: Users / Password Mantine roles-table refresh. */
#settingsDialog.settings-dialog .settings-panel [data-settings-panel="users"] {
  --pd-users-roles-border: #dee2e6;
  --pd-users-roles-muted: #748094;
  --pd-users-roles-ink: #111827;
  --pd-users-roles-blue: #1c7ed6;
  --pd-users-roles-blue-soft: #d0ebff;
  --pd-users-roles-disabled: #eef0f2;
}

#settingsDialog.settings-dialog .settings-panel [data-settings-panel="users"] .settings-add-row.user-row,
#settingsDialog.settings-dialog .settings-users-table-list {
  width: min(100%, 1040px) !important;
  margin-inline: auto !important;
}

#settingsDialog.settings-dialog .settings-panel [data-settings-panel="users"] .settings-add-row.user-row {
  grid-template-columns: repeat(4, minmax(0, 1fr)) auto !important;
  align-items: center !important;
  padding: 10px !important;
  border-color: #edf2f7 !important;
  background: #ffffff !important;
}

#settingsDialog.settings-dialog .settings-panel [data-settings-panel="users"] .settings-add-row.user-row > input,
#settingsDialog.settings-dialog .settings-panel [data-settings-panel="users"] .settings-add-row.user-row > select {
  height: 36px !important;
  border-color: #dbe4ef !important;
  border-radius: 6px !important;
  background: #ffffff !important;
}

#settingsDialog.settings-dialog .settings-panel [data-settings-panel="users"] .settings-add-row.user-row .user-avatar-add-control,
#settingsDialog.settings-dialog .settings-panel [data-settings-panel="users"] .settings-add-row.user-row #newUserOfficialInput,
#settingsDialog.settings-dialog .settings-panel [data-settings-panel="users"] .settings-add-row.user-row #newUserVisibilityInput {
  grid-column: span 2 !important;
}

#settingsDialog.settings-dialog .settings-users-table-list {
  border: 1px solid #edf2f7 !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  overflow: hidden !important;
}

#settingsDialog.settings-dialog .settings-users-table-card {
  padding: 22px 24px 26px !important;
  border-radius: 8px !important;
  background: #ffffff !important;
}

#settingsDialog.settings-dialog .settings-users-table-scroll {
  overflow-x: auto !important;
}

#settingsDialog.settings-dialog .settings-users-table {
  width: 100% !important;
  min-width: 820px !important;
  table-layout: fixed !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  color: var(--pd-users-roles-ink) !important;
  font-family: "Khmer OS Siemreap", "PaperDesk Inter Latin", Arial, sans-serif !important;
}

#settingsDialog.settings-dialog .settings-users-table th:nth-child(1),
#settingsDialog.settings-dialog .settings-users-table td:nth-child(1) {
  width: 34% !important;
}

#settingsDialog.settings-dialog .settings-users-table th:nth-child(2),
#settingsDialog.settings-dialog .settings-users-table td:nth-child(2) {
  width: 17% !important;
}

#settingsDialog.settings-dialog .settings-users-table th:nth-child(3),
#settingsDialog.settings-dialog .settings-users-table td:nth-child(3) {
  width: 18% !important;
}

#settingsDialog.settings-dialog .settings-users-table th:nth-child(4),
#settingsDialog.settings-dialog .settings-users-table td:nth-child(4) {
  width: 15% !important;
}

#settingsDialog.settings-dialog .settings-users-table th:nth-child(5),
#settingsDialog.settings-dialog .settings-users-table td:nth-child(5) {
  width: 10% !important;
}

#settingsDialog.settings-dialog .settings-users-table th:nth-child(6),
#settingsDialog.settings-dialog .settings-users-table td:nth-child(6) {
  width: 6% !important;
}

#settingsDialog.settings-dialog .settings-users-table thead th {
  height: 38px !important;
  padding: 0 12px 12px !important;
  border-bottom: 1px solid var(--pd-users-roles-border) !important;
  background: #ffffff !important;
  color: #0f172a !important;
  font-size: 0.82rem !important;
  font-weight: 850 !important;
  text-align: left !important;
  text-transform: none !important;
}

#settingsDialog.settings-dialog .settings-users-table td {
  height: 64px !important;
  padding: 10px 12px !important;
  border-bottom: 1px solid var(--pd-users-roles-border) !important;
  background: #ffffff !important;
  vertical-align: middle !important;
}

#settingsDialog.settings-dialog .settings-users-table tbody tr:last-child td {
  border-bottom: 0 !important;
}

#settingsDialog.settings-dialog .settings-users-table tbody tr:hover td {
  background: #fbfdff !important;
}

#settingsDialog.settings-dialog .settings-user-employee-cell {
  display: grid !important;
  grid-template-columns: 40px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 12px !important;
  min-width: 0 !important;
}

#settingsDialog.settings-dialog .settings-users-table .user-avatar-settings-control {
  position: relative !important;
  display: block !important;
  width: 40px !important;
  min-width: 40px !important;
  height: 40px !important;
}

#settingsDialog.settings-dialog .settings-users-table .user-avatar-settings-preview {
  width: 40px !important;
  min-width: 40px !important;
  height: 40px !important;
  border-radius: 999px !important;
  box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.08) !important;
}

#settingsDialog.settings-dialog .settings-users-table .user-avatar-icon-select,
#settingsDialog.settings-dialog .settings-users-table .user-avatar-color-input,
#settingsDialog.settings-dialog .settings-users-table .user-avatar-photo-button,
#settingsDialog.settings-dialog .settings-users-table .user-avatar-photo-clear {
  position: absolute !important;
  left: 46px !important;
  z-index: 4 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity 120ms ease !important;
}

#settingsDialog.settings-dialog .settings-users-table .user-avatar-icon-select {
  top: -2px !important;
  width: 92px !important;
}

#settingsDialog.settings-dialog .settings-users-table .user-avatar-color-input {
  top: -2px !important;
  left: 142px !important;
  width: 30px !important;
}

#settingsDialog.settings-dialog .settings-users-table .user-avatar-photo-button {
  top: 30px !important;
  width: 92px !important;
}

#settingsDialog.settings-dialog .settings-users-table .user-avatar-photo-clear {
  top: 30px !important;
  left: 142px !important;
  width: 30px !important;
}

#settingsDialog.settings-dialog .settings-users-table .user-avatar-settings-control:hover .user-avatar-icon-select,
#settingsDialog.settings-dialog .settings-users-table .user-avatar-settings-control:hover .user-avatar-color-input,
#settingsDialog.settings-dialog .settings-users-table .user-avatar-settings-control:hover .user-avatar-photo-button,
#settingsDialog.settings-dialog .settings-users-table .user-avatar-settings-control:hover .user-avatar-photo-clear,
#settingsDialog.settings-dialog .settings-users-table .user-avatar-settings-control:focus-within .user-avatar-icon-select,
#settingsDialog.settings-dialog .settings-users-table .user-avatar-settings-control:focus-within .user-avatar-color-input,
#settingsDialog.settings-dialog .settings-users-table .user-avatar-settings-control:focus-within .user-avatar-photo-button,
#settingsDialog.settings-dialog .settings-users-table .user-avatar-settings-control:focus-within .user-avatar-photo-clear {
  opacity: 1 !important;
  pointer-events: auto !important;
}

#settingsDialog.settings-dialog .settings-user-identity {
  display: grid !important;
  gap: 2px !important;
  min-width: 0 !important;
}

#settingsDialog.settings-dialog .settings-user-identity strong {
  overflow: hidden !important;
  color: #0f172a !important;
  font-size: 0.9rem !important;
  font-weight: 850 !important;
  line-height: 1.25 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#settingsDialog.settings-dialog .settings-user-identity span {
  overflow: hidden !important;
  color: var(--pd-users-roles-muted) !important;
  font-size: 0.74rem !important;
  line-height: 1.25 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#settingsDialog.settings-dialog .settings-user-role-select,
#settingsDialog.settings-dialog .settings-user-visibility-select {
  width: 100% !important;
  max-width: none !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 28px 0 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #111827 !important;
  font-size: 0.82rem !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  box-shadow: none !important;
}

#settingsDialog.settings-dialog .settings-user-role-select:disabled {
  color: #111827 !important;
  opacity: 1 !important;
}

#settingsDialog.settings-dialog .settings-user-last-active-cell {
  color: #111827 !important;
  font-size: 0.82rem !important;
  font-weight: 500 !important;
}

#settingsDialog.settings-dialog .settings-user-status-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 72px !important;
  min-height: 20px !important;
  padding: 2px 10px !important;
  border-radius: 999px !important;
  font-size: 0.68rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

#settingsDialog.settings-dialog .settings-user-status-badge.is-active {
  background: var(--pd-users-roles-blue-soft) !important;
  color: #1864ab !important;
}

#settingsDialog.settings-dialog .settings-user-status-badge.is-disabled {
  background: var(--pd-users-roles-disabled) !important;
  color: #111827 !important;
}

#settingsDialog.settings-dialog .settings-user-action-cell {
  text-align: right !important;
}

#settingsDialog.settings-dialog .settings-user-action-group {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 4px !important;
}

#settingsDialog.settings-dialog .settings-user-action-button {
  width: 28px !important;
  min-width: 28px !important;
  height: 28px !important;
  min-height: 28px !important;
  padding: 0 !important;
  border: 1px solid transparent !important;
  border-radius: 6px !important;
  background: transparent !important;
  color: #475569 !important;
}

#settingsDialog.settings-dialog .settings-user-action-button span {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
}

#settingsDialog.settings-dialog .settings-user-action-button:hover,
#settingsDialog.settings-dialog .settings-user-action-button:focus-visible {
  border-color: #dbe4ef !important;
  background: #f8fafc !important;
  color: #111827 !important;
}

/* USER UPDATE: Users / Password per-account child screen. */
#settingsDialog.settings-dialog .settings-users-table th:nth-child(6),
#settingsDialog.settings-dialog .settings-users-table td:nth-child(6) {
  width: 150px !important;
}

#settingsDialog.settings-dialog .settings-user-action-cell {
  width: 150px !important;
}

#settingsDialog.settings-dialog .settings-user-action-group {
  gap: 6px !important;
}

#settingsDialog.settings-dialog .settings-user-config-button {
  border-color: #bfdbfe !important;
  background: #eff6ff !important;
  color: #1d4ed8 !important;
}

#settingsDialog.settings-dialog .settings-panel [data-settings-panel="users"].settings-user-child-screen-open .app-password-tools,
#settingsDialog.settings-dialog .settings-panel [data-settings-panel="users"].settings-user-child-screen-open .settings-add-row.user-row {
  display: none !important;
}

#settingsDialog.settings-dialog .settings-panel [data-settings-panel="users"].settings-user-child-screen-open .settings-users-table-list {
  width: min(100%, 1100px) !important;
  max-width: 1100px !important;
  border: 0 !important;
  background: transparent !important;
  overflow: visible !important;
  box-shadow: none !important;
}

#settingsDialog.settings-dialog .settings-user-child-screen {
  display: grid !important;
  gap: 14px !important;
  min-width: 0 !important;
}

#settingsDialog.settings-dialog .settings-user-child-header {
  display: grid !important;
  grid-template-columns: auto 48px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 14px !important;
  border: 1px solid #dbe4ef !important;
  border-radius: 8px !important;
  background: #ffffff !important;
}

#settingsDialog.settings-dialog .settings-user-child-back {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  min-height: 34px !important;
  padding: 0 12px !important;
  border: 1px solid #dbe4ef !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: #1e293b !important;
  font-size: 0.8rem !important;
  font-weight: 800 !important;
}

#settingsDialog.settings-dialog .settings-user-child-back:hover,
#settingsDialog.settings-dialog .settings-user-child-back:focus-visible {
  border-color: #bfdbfe !important;
  background: #eff6ff !important;
  color: #1d4ed8 !important;
  outline: none !important;
}

#settingsDialog.settings-dialog .settings-user-child-avatar,
#settingsDialog.settings-dialog .settings-user-child-avatar .user-avatar-settings-preview {
  width: 48px !important;
  min-width: 48px !important;
  height: 48px !important;
  min-height: 48px !important;
  border-radius: 999px !important;
}

#settingsDialog.settings-dialog .settings-user-child-heading {
  display: grid !important;
  gap: 2px !important;
  min-width: 0 !important;
}

#settingsDialog.settings-dialog .settings-user-child-heading span {
  color: #64748b !important;
  font-size: 0.68rem !important;
  font-weight: 850 !important;
  text-transform: uppercase !important;
}

#settingsDialog.settings-dialog .settings-user-child-heading h4 {
  margin: 0 !important;
  overflow: hidden !important;
  color: #020617 !important;
  font-size: 1.16rem !important;
  font-weight: 850 !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#settingsDialog.settings-dialog .settings-user-child-heading p,
#settingsDialog.settings-dialog .settings-user-child-status,
#settingsDialog.settings-dialog .settings-user-child-card-header p,
#settingsDialog.settings-dialog .settings-user-child-field small {
  margin: 0 !important;
  color: #64748b !important;
  font-size: 0.78rem !important;
  line-height: 1.35 !important;
}

#settingsDialog.settings-dialog .settings-user-child-status {
  padding: 9px 12px !important;
  border: 1px solid #dbe4ef !important;
  border-radius: 8px !important;
  background: #f8fafc !important;
}

#settingsDialog.settings-dialog .settings-user-child-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  min-width: 0 !important;
}

#settingsDialog.settings-dialog .settings-user-child-card {
  display: grid !important;
  gap: 12px !important;
  min-width: 0 !important;
  padding: 14px !important;
  border: 1px solid #dbe4ef !important;
  border-radius: 8px !important;
  background: #ffffff !important;
}

#settingsDialog.settings-dialog .settings-user-child-card-header,
#settingsDialog.settings-dialog .settings-user-child-card-body {
  display: grid !important;
  gap: 10px !important;
  min-width: 0 !important;
}

#settingsDialog.settings-dialog .settings-user-child-card-header h4 {
  margin: 0 !important;
  color: #0f172a !important;
  font-size: 0.94rem !important;
  font-weight: 850 !important;
}

#settingsDialog.settings-dialog .settings-user-child-field {
  display: grid !important;
  gap: 5px !important;
  min-width: 0 !important;
  color: #334155 !important;
  font-size: 0.76rem !important;
  font-weight: 800 !important;
}

#settingsDialog.settings-dialog .settings-user-child-field input,
#settingsDialog.settings-dialog .settings-user-child-field select {
  width: 100% !important;
  min-width: 0 !important;
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 10px !important;
  border: 1px solid #dbe4ef !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: #0f172a !important;
}

#settingsDialog.settings-dialog .settings-user-child-field input[readonly],
#settingsDialog.settings-dialog .settings-user-child-field select:disabled {
  background: #f8fafc !important;
  color: #64748b !important;
}

#settingsDialog.settings-dialog .settings-user-child-save {
  justify-self: start !important;
  min-height: 34px !important;
}

#settingsDialog.settings-dialog .settings-user-child-avatar-control {
  display: grid !important;
  grid-template-columns: 48px minmax(120px, 1fr) 42px auto auto !important;
  align-items: center !important;
  gap: 8px !important;
  min-width: 0 !important;
}

#settingsDialog.settings-dialog .settings-user-child-avatar-control .user-avatar-settings-preview {
  width: 48px !important;
  min-width: 48px !important;
  height: 48px !important;
  min-height: 48px !important;
}

#settingsDialog.settings-dialog .settings-user-child-avatar-control select,
#settingsDialog.settings-dialog .settings-user-child-avatar-control button,
#settingsDialog.settings-dialog .settings-user-child-avatar-control input {
  min-height: 34px !important;
  border-radius: 8px !important;
}

#settingsDialog.settings-dialog .settings-user-child-remove {
  justify-self: start !important;
  min-height: 34px !important;
  padding: 0 12px !important;
  border: 1px solid rgba(220, 38, 38, 0.28) !important;
  border-radius: 8px !important;
  background: #fff1f2 !important;
  color: #be123c !important;
  font-weight: 850 !important;
}

#settingsDialog.settings-dialog .settings-user-child-remove:disabled {
  border-color: #dbe4ef !important;
  background: #f8fafc !important;
  color: #64748b !important;
}

@media (max-width: 1024px) {
  #settingsDialog.settings-dialog .settings-user-child-grid {
    grid-template-columns: 1fr !important;
  }

  #settingsDialog.settings-dialog .settings-user-child-header {
    grid-template-columns: auto 44px minmax(0, 1fr) !important;
  }
}

@media (max-width: 720px) {
  #settingsDialog.settings-dialog .settings-user-child-header {
    grid-template-columns: 1fr auto !important;
  }

  #settingsDialog.settings-dialog .settings-user-child-back {
    grid-column: 1 / -1 !important;
    justify-self: start !important;
  }

  #settingsDialog.settings-dialog .settings-user-child-avatar {
    grid-column: 1 !important;
  }

  #settingsDialog.settings-dialog .settings-user-child-status-badge {
    grid-column: 2 !important;
  }

  #settingsDialog.settings-dialog .settings-user-child-heading {
    grid-column: 1 / -1 !important;
  }

  #settingsDialog.settings-dialog .settings-user-child-avatar-control {
    grid-template-columns: 48px minmax(0, 1fr) !important;
  }
}

#settingsDialog.settings-dialog .settings-user-password-button:hover,
#settingsDialog.settings-dialog .settings-user-password-button:focus-visible {
  border-color: rgba(28, 126, 214, 0.22) !important;
  background: #e7f5ff !important;
  color: #1864ab !important;
}

#settingsDialog.settings-dialog .settings-user-delete-button:hover,
#settingsDialog.settings-dialog .settings-user-delete-button:focus-visible {
  border-color: rgba(250, 82, 82, 0.24) !important;
  background: #fff5f5 !important;
  color: #e03131 !important;
}

#settingsDialog.settings-dialog .settings-user-access-summary {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 4px !important;
  margin-top: 6px !important;
  min-width: 0 !important;
}

#settingsDialog.settings-dialog .settings-user-access-summary span {
  max-width: 100% !important;
  padding: 2px 6px !important;
  border: 1px solid #dbeafe !important;
  border-radius: 6px !important;
  background: #eff6ff !important;
  color: #1d4ed8 !important;
  font-size: 0.68rem !important;
  font-weight: 750 !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.settings-user-access-dialog {
  width: min(980px, calc(100vw - 32px)) !important;
  max-width: min(980px, calc(100vw - 32px)) !important;
  max-height: min(820px, calc(100vh - 32px)) !important;
  padding: 0 !important;
  border: 1px solid #dbe4ef !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  color: #0f172a !important;
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.22) !important;
}

.settings-user-access-dialog::backdrop {
  background: rgba(15, 23, 42, 0.42) !important;
  backdrop-filter: blur(2px) !important;
}

.settings-user-access-panel {
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) auto !important;
  max-height: min(820px, calc(100vh - 32px)) !important;
  min-width: 0 !important;
}

.settings-user-access-header,
.settings-user-access-footer {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  padding: 16px 18px !important;
  border-bottom: 1px solid #e2e8f0 !important;
}

.settings-user-access-footer {
  border-top: 1px solid #e2e8f0 !important;
  border-bottom: 0 !important;
  background: #f8fafc !important;
}

.settings-user-access-eyebrow {
  display: block !important;
  color: #64748b !important;
  font-size: 0.7rem !important;
  font-weight: 850 !important;
  text-transform: uppercase !important;
}

.settings-user-access-header h3 {
  margin: 2px 0 0 !important;
  color: #020617 !important;
  font-size: 1.05rem !important;
  font-weight: 850 !important;
  letter-spacing: 0 !important;
}

.settings-user-access-header p,
.settings-user-access-section-heading small,
.settings-user-feature-toggle small,
.settings-user-access-status {
  color: #64748b !important;
  font-size: 0.78rem !important;
  line-height: 1.35 !important;
}

.settings-user-access-header p {
  margin: 4px 0 0 !important;
}

.settings-user-access-close {
  width: 32px !important;
  min-width: 32px !important;
  height: 32px !important;
  min-height: 32px !important;
  padding: 0 !important;
  border: 1px solid #dbe4ef !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: #475569 !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
}

.settings-user-access-body {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  min-width: 0 !important;
  padding: 16px 18px !important;
  overflow: auto !important;
  background: #f8fafc !important;
}

.settings-user-access-section {
  display: flex !important;
  min-width: 0 !important;
  min-height: 0 !important;
  flex-direction: column !important;
  gap: 10px !important;
  padding: 14px !important;
  border: 1px solid #dbe4ef !important;
  border-radius: 10px !important;
  background: #ffffff !important;
}

.settings-user-feature-section {
  grid-column: 1 / -1 !important;
}

.settings-user-access-section-heading {
  display: grid !important;
  gap: 3px !important;
}

.settings-user-access-section-heading strong {
  color: #0f172a !important;
  font-size: 0.92rem !important;
  font-weight: 850 !important;
}

.settings-user-access-all,
.settings-user-access-option,
.settings-user-feature-toggle {
  display: flex !important;
  align-items: flex-start !important;
  gap: 8px !important;
  min-width: 0 !important;
  color: #0f172a !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
}

.settings-user-access-all input,
.settings-user-access-option input,
.settings-user-feature-toggle input {
  width: 16px !important;
  min-width: 16px !important;
  height: 16px !important;
  min-height: 16px !important;
  margin-top: 1px !important;
  accent-color: #2563eb !important;
}

.settings-user-access-option-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px 10px !important;
  min-height: 0 !important;
  max-height: 260px !important;
  overflow: auto !important;
  padding: 10px !important;
  border: 1px solid #edf2f7 !important;
  border-radius: 8px !important;
  background: #fbfdff !important;
}

.settings-user-access-option span,
.settings-user-feature-toggle span {
  min-width: 0 !important;
}

.settings-user-access-option span {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.settings-user-feature-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

.settings-user-feature-toggle {
  padding: 10px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
  background: #ffffff !important;
}

.settings-user-feature-toggle strong {
  display: block !important;
  margin-bottom: 2px !important;
  color: #0f172a !important;
}

.settings-user-access-empty {
  grid-column: 1 / -1 !important;
  margin: 0 !important;
  color: #64748b !important;
  font-size: 0.8rem !important;
}

.settings-user-access-footer-actions {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
}

@media (max-width: 760px) {
  .settings-user-access-body,
  .settings-user-feature-list,
  .settings-user-access-option-list {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .settings-user-access-header,
  .settings-user-access-footer {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
}

@media (max-width: 900px) {
  #settingsDialog.settings-dialog .settings-panel [data-settings-panel="users"] .settings-add-row.user-row {
    grid-template-columns: 1fr !important;
  }

  #settingsDialog.settings-dialog .settings-panel [data-settings-panel="users"] .settings-add-row.user-row .user-avatar-add-control,
  #settingsDialog.settings-dialog .settings-panel [data-settings-panel="users"] .settings-add-row.user-row #newUserOfficialInput,
  #settingsDialog.settings-dialog .settings-panel [data-settings-panel="users"] .settings-add-row.user-row #newUserVisibilityInput {
    grid-column: auto !important;
  }
}

/* USER UPDATE: Settings command center readability refresh. */
#settingsDialog.settings-dialog,
#settingsDialog.settings-dialog[open] {
  width: calc(100vw - 28px) !important;
  max-width: calc(100vw - 28px) !important;
  height: calc(100vh - 28px) !important;
  max-height: calc(100vh - 28px) !important;
  border-radius: 14px !important;
  background: #f8fafc !important;
}

#settingsDialog.settings-dialog .settings-panel {
  grid-template-columns: 270px minmax(0, 1fr) !important;
  grid-template-rows: 66px minmax(0, 1fr) !important;
  gap: 0 !important;
  background: #f8fafc !important;
}

#settingsDialog.settings-dialog .settings-header {
  min-width: 0 !important;
  min-height: 58px !important;
  margin: 10px 12px 0 0 !important;
  padding: 10px 16px !important;
  border: 1px solid #e2e8f0 !important;
  border-bottom: 0 !important;
  border-radius: 12px 12px 0 0 !important;
  background: #ffffff !important;
}

#settingsDialog.settings-dialog .settings-header::before {
  display: none !important;
  content: none !important;
}

#settingsDialog.settings-dialog .settings-header .eyebrow {
  color: #64748b !important;
  font-size: 0.66rem !important;
  letter-spacing: 0.12em !important;
}

#settingsDialog.settings-dialog .settings-header h2 {
  color: #0f172a !important;
  font-size: 1.05rem !important;
  font-weight: 850 !important;
}

#settingsDialog.settings-dialog .settings-edit-approval {
  border-color: #e2e8f0 !important;
  background: #f8fafc !important;
  color: #64748b !important;
}

#settingsDialog.settings-dialog #closeSettingsButton {
  border: 1px solid #dbe4ef !important;
  background: #ffffff !important;
  color: #334155 !important;
}

#settingsDialog.settings-dialog .settings-tabs {
  margin: 10px 0 10px 10px !important;
  padding: 12px 10px !important;
  border: 1px solid #e2e8f0 !important;
  border-right: 0 !important;
  border-radius: 12px 0 0 12px !important;
  background: #f8fafc !important;
}

#settingsDialog.settings-dialog .settings-tabs::before {
  margin: 3px 10px 10px !important;
  color: #475569 !important;
  font-size: 11px !important;
}

#settingsDialog.settings-dialog .settings-tab-group + .settings-tab-group {
  margin-top: 10px !important;
  padding-top: 10px !important;
}

#settingsDialog.settings-dialog .settings-tab {
  min-height: 34px !important;
  padding: 7px 10px !important;
  border-radius: 8px !important;
  color: #475569 !important;
  font-size: 13px !important;
}

#settingsDialog.settings-dialog .settings-tab-marker {
  width: 7px !important;
  height: 7px !important;
  background: #cbd5e1 !important;
}

#settingsDialog.settings-dialog .settings-tab.active {
  background: #ffffff !important;
  color: #0f172a !important;
  box-shadow: inset 3px 0 0 #2563eb, 0 1px 2px rgba(15, 23, 42, 0.06) !important;
}

#settingsDialog.settings-dialog .settings-section {
  min-width: 0 !important;
  margin: 0 12px 12px 0 !important;
  padding: 22px 24px 24px !important;
  border: 1px solid #e2e8f0 !important;
  border-top: 0 !important;
  border-radius: 0 0 12px 12px !important;
  background: #ffffff !important;
}

#settingsDialog.settings-dialog .settings-section h3 {
  margin: 0 0 4px !important;
  color: #0f172a !important;
  font-size: 1.08rem !important;
  font-weight: 850 !important;
}

#settingsDialog.settings-dialog .settings-panel [data-settings-panel="users"] {
  gap: 14px !important;
  --pd-settings-command-border: #dbe4ef;
  --pd-settings-command-muted: #64748b;
  --pd-settings-command-soft: #f8fafc;
  --pd-settings-command-ink: #0f172a;
}

#settingsDialog.settings-dialog .settings-panel [data-settings-panel="users"] .app-password-tools,
#settingsDialog.settings-dialog .settings-panel [data-settings-panel="users"] .settings-add-row.user-row,
#settingsDialog.settings-dialog .settings-users-table-list {
  width: 100% !important;
  max-width: 1240px !important;
  margin-inline: auto !important;
}

#settingsDialog.settings-dialog .settings-panel [data-settings-panel="users"] .app-password-tools {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  min-height: 58px !important;
  padding: 12px 14px !important;
  border: 1px solid var(--pd-settings-command-border) !important;
  border-radius: 10px !important;
  background: #ffffff !important;
}

#settingsDialog.settings-dialog .settings-panel [data-settings-panel="users"] .app-password-tools h4 {
  color: var(--pd-settings-command-ink) !important;
  font-size: 0.86rem !important;
  font-weight: 850 !important;
}

#settingsDialog.settings-dialog .settings-panel [data-settings-panel="users"] .app-password-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  gap: 8px !important;
}

#settingsDialog.settings-dialog .settings-panel [data-settings-panel="users"] .app-password-actions .secondary-action {
  min-width: 112px !important;
  min-height: 36px !important;
  border-color: #dbe4ef !important;
  background: #ffffff !important;
  color: #0f172a !important;
}

#settingsDialog.settings-dialog .settings-panel [data-settings-panel="users"] .settings-add-row.user-row {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(150px, 1fr)) !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 14px !important;
  border: 1px solid var(--pd-settings-command-border) !important;
  border-radius: 10px !important;
  background: var(--pd-settings-command-soft) !important;
}

#settingsDialog.settings-dialog .settings-panel [data-settings-panel="users"] .settings-add-row.user-row > input,
#settingsDialog.settings-dialog .settings-panel [data-settings-panel="users"] .settings-add-row.user-row > select {
  min-width: 0 !important;
  min-height: 38px !important;
  border: 1px solid #dbe4ef !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: #0f172a !important;
  font-size: 0.82rem !important;
}

#settingsDialog.settings-dialog .settings-panel [data-settings-panel="users"] .settings-add-row.user-row .user-avatar-add-control {
  grid-column: span 2 !important;
  min-width: 0 !important;
  padding: 2px !important;
}

#settingsDialog.settings-dialog .settings-panel [data-settings-panel="users"] .settings-add-row.user-row #addUserButton {
  justify-self: end !important;
  min-width: 94px !important;
  min-height: 38px !important;
  border-color: #0f172a !important;
  background: #0f172a !important;
  color: #ffffff !important;
  font-weight: 850 !important;
}

#settingsDialog.settings-dialog .settings-users-table-list {
  border: 1px solid var(--pd-settings-command-border) !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
}

#settingsDialog.settings-dialog .settings-users-table-card {
  padding: 18px 18px 20px !important;
  background: #ffffff !important;
}

#settingsDialog.settings-dialog .settings-users-table-scroll {
  overflow-x: auto !important;
  scrollbar-width: thin !important;
}

#settingsDialog.settings-dialog .settings-users-table {
  width: 100% !important;
  min-width: 940px !important;
  table-layout: fixed !important;
  border-collapse: collapse !important;
}

#settingsDialog.settings-dialog .settings-users-table th:nth-child(1),
#settingsDialog.settings-dialog .settings-users-table td:nth-child(1) {
  width: 32% !important;
}

#settingsDialog.settings-dialog .settings-users-table th:nth-child(2),
#settingsDialog.settings-dialog .settings-users-table td:nth-child(2) {
  width: 19% !important;
}

#settingsDialog.settings-dialog .settings-users-table th:nth-child(3),
#settingsDialog.settings-dialog .settings-users-table td:nth-child(3) {
  width: 20% !important;
}

#settingsDialog.settings-dialog .settings-users-table th:nth-child(4),
#settingsDialog.settings-dialog .settings-users-table td:nth-child(4) {
  width: 12% !important;
}

#settingsDialog.settings-dialog .settings-users-table th:nth-child(5),
#settingsDialog.settings-dialog .settings-users-table td:nth-child(5) {
  width: 10% !important;
}

#settingsDialog.settings-dialog .settings-users-table th:nth-child(6),
#settingsDialog.settings-dialog .settings-users-table td:nth-child(6) {
  width: 7% !important;
}

#settingsDialog.settings-dialog .settings-users-table thead th {
  height: 42px !important;
  padding: 0 12px 12px !important;
  border-bottom: 1px solid #dbe4ef !important;
  color: #334155 !important;
  font-size: 0.78rem !important;
  font-weight: 850 !important;
}

#settingsDialog.settings-dialog .settings-users-table td {
  height: 66px !important;
  padding: 10px 12px !important;
  border-bottom: 1px solid #edf2f7 !important;
  color: #0f172a !important;
}

#settingsDialog.settings-dialog .settings-user-employee-cell {
  grid-template-columns: 44px minmax(0, 1fr) auto !important;
  gap: 12px !important;
}

#settingsDialog.settings-dialog .settings-user-row-open-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 30px !important;
  min-width: 30px !important;
  height: 30px !important;
  min-height: 30px !important;
  border: 1px solid #bfdbfe !important;
  border-radius: 8px !important;
  background: #eff6ff !important;
  color: #1d4ed8 !important;
}

#settingsDialog.settings-dialog .settings-user-row-open-button span {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
}

#settingsDialog.settings-dialog .settings-user-row-open-button:hover,
#settingsDialog.settings-dialog .settings-user-row-open-button:focus-visible {
  border-color: #93c5fd !important;
  background: #dbeafe !important;
  color: #1e40af !important;
  outline: none !important;
}

#settingsDialog.settings-dialog .settings-users-table .user-avatar-settings-control,
#settingsDialog.settings-dialog .settings-users-table .user-avatar-settings-preview {
  width: 42px !important;
  min-width: 42px !important;
  height: 42px !important;
}

#settingsDialog.settings-dialog .settings-user-identity strong {
  color: #0f172a !important;
  font-size: 0.92rem !important;
}

#settingsDialog.settings-dialog .settings-user-identity span,
#settingsDialog.settings-dialog .settings-user-last-active-cell {
  color: var(--pd-settings-command-muted) !important;
}

#settingsDialog.settings-dialog .settings-user-role-select,
#settingsDialog.settings-dialog .settings-user-visibility-select {
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 30px 0 10px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: #0f172a !important;
}

#settingsDialog.settings-dialog .settings-user-role-select:focus,
#settingsDialog.settings-dialog .settings-user-visibility-select:focus {
  border-color: rgba(37, 99, 235, 0.5) !important;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1) !important;
}

#settingsDialog.settings-dialog .settings-user-status-badge {
  min-width: 78px !important;
  min-height: 22px !important;
}

#settingsDialog.settings-dialog .settings-user-action-button {
  width: 30px !important;
  min-width: 30px !important;
  height: 30px !important;
  min-height: 30px !important;
}

@media (max-width: 1024px) {
  #settingsDialog.settings-dialog,
  #settingsDialog.settings-dialog[open] {
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
    height: calc(100vh - 16px) !important;
    max-height: calc(100vh - 16px) !important;
  }

  #settingsDialog.settings-dialog .settings-panel {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto auto minmax(0, 1fr) !important;
  }

  #settingsDialog.settings-dialog .settings-header {
    grid-column: 1 !important;
    grid-row: 1 !important;
    margin: 8px 8px 0 !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px 12px 0 0 !important;
  }

  #settingsDialog.settings-dialog .settings-tabs {
    grid-column: 1 !important;
    grid-row: 2 !important;
    display: flex !important;
    gap: 8px !important;
    margin: 0 8px !important;
    padding: 8px !important;
    overflow-x: auto !important;
    border: 1px solid #e2e8f0 !important;
    border-top: 0 !important;
    border-radius: 0 !important;
    scrollbar-width: thin !important;
  }

  #settingsDialog.settings-dialog .settings-tabs::before,
  #settingsDialog.settings-dialog .settings-tab-group-label {
    display: none !important;
  }

  #settingsDialog.settings-dialog .settings-tab-group,
  #settingsDialog.settings-dialog .settings-tab-group-list {
    display: contents !important;
  }

  #settingsDialog.settings-dialog .settings-tab {
    flex: 0 0 auto !important;
    min-width: 132px !important;
  }

  #settingsDialog.settings-dialog .settings-section {
    grid-column: 1 !important;
    grid-row: 3 !important;
    margin: 0 8px 8px !important;
    border-top: 0 !important;
  }
}

@media (max-width: 720px) {
  #settingsDialog.settings-dialog,
  #settingsDialog.settings-dialog[open] {
    width: 100vw !important;
    max-width: 100vw !important;
    height: 100vh !important;
    max-height: 100vh !important;
    border-radius: 0 !important;
  }

  #settingsDialog.settings-dialog .settings-header {
    margin: 0 !important;
    border-radius: 0 !important;
  }

  #settingsDialog.settings-dialog .settings-tabs,
  #settingsDialog.settings-dialog .settings-section {
    margin-inline: 0 !important;
  }

  #settingsDialog.settings-dialog .settings-section {
    padding: 16px !important;
    border-radius: 0 !important;
  }

  #settingsDialog.settings-dialog .settings-panel [data-settings-panel="users"] .app-password-tools {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  #settingsDialog.settings-dialog .settings-panel [data-settings-panel="users"] .app-password-actions {
    justify-content: stretch !important;
  }

  #settingsDialog.settings-dialog .settings-panel [data-settings-panel="users"] .app-password-actions .secondary-action {
    flex: 1 1 160px !important;
  }

  #settingsDialog.settings-dialog .settings-panel [data-settings-panel="users"] .settings-add-row.user-row {
    grid-template-columns: 1fr !important;
  }

  #settingsDialog.settings-dialog .settings-panel [data-settings-panel="users"] .settings-add-row.user-row .user-avatar-add-control,
  #settingsDialog.settings-dialog .settings-panel [data-settings-panel="users"] .settings-add-row.user-row #addUserButton {
    grid-column: auto !important;
    width: 100% !important;
    justify-self: stretch !important;
  }

  #settingsDialog.settings-dialog .settings-users-table {
    min-width: 760px !important;
  }
}


/* Settings Mantine shell final override. */
/* USER UPDATE: Settings Mantine shell top UX refresh removes the legacy chrome from the mounted path. */
#settingsDialog.settings-dialog.settings-mantine-shell-mounted {
  border: 1px solid #dce4ee !important;
  border-radius: 12px !important;
  background: #f6f8fb !important;
  box-shadow: 0 24px 64px rgba(15, 23, 42, 0.22) !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .settings-panel {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #f6f8fb !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .settings-header,
#settingsDialog.settings-dialog.settings-mantine-shell-mounted .settings-tabs {
  display: none !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted #paperdesk-settings-shell-root {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-shell {
  grid-template-columns: minmax(248px, 292px) minmax(0, 1fr) !important;
  background: #f6f8fb !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-shell button,
#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-shell input {
  font-family: "Khmer OS Siemreap", "Inter Variable", Arial, sans-serif !important;
  letter-spacing: 0 !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-brand {
  border-bottom: 1px solid #dce4ee !important;
  background: #ffffff !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-brand-metrics .mantine-Badge-root,
#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-section-count.mantine-Badge-root {
  height: 22px !important;
  max-width: 100% !important;
  border-radius: 6px !important;
  text-transform: none !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-nav-link.mantine-NavLink-root {
  justify-content: flex-start !important;
  min-height: 40px !important;
  padding: 5px 8px !important;
  border-radius: 8px !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-nav-link.mantine-NavLink-root[data-active] {
  background: #e7f5ff !important;
  color: #0f172a !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-empty-search {
  border-radius: 8px !important;
  background: #f8fafc !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-shell-header {
  border-bottom: 1px solid #dce4ee !important;
  background: #ffffff !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-inner-tabs {
  border-bottom: 1px solid #dce4ee !important;
  background: #ffffff !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-inner-tabs .mantine-Tabs-tab {
  min-height: 46px !important;
  padding: 8px 10px !important;
  border: 1px solid #dce4ee !important;
  border-radius: 8px !important;
  background: #f8fafc !important;
  color: #0f172a !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-inner-tabs .mantine-Tabs-tab[data-active] {
  border-color: rgba(34, 139, 230, 0.38) !important;
  background: #e7f5ff !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-close.mantine-ActionIcon-root {
  width: 34px !important;
  min-width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  border: 1px solid #dce4ee !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: #475569 !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-tab-panel[hidden] {
  display: none !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-section {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-section > h3,
#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-inner-tabs {
  display: none !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host :is(.settings-subsection, .settings-add-row, .settings-list, .settings-list-row, .dashboard-builder-grid, .widget-builder-grid, .dashboard-list, .settings-row) {
  border-color: #dce4ee !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host :is(input, select, textarea) {
  border-radius: 8px !important;
  border-color: #cbd5e1 !important;
  background: #ffffff !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host :is(.primary-action, .secondary-action, button) {
  border-radius: 8px !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-section.settings-menu-block:not([hidden]) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 340px) !important;
  gap: 16px !important;
  align-items: start !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-section.settings-menu-block:not([hidden]) .settings-inner-tab-pane {
  grid-column: 1 !important;
  min-width: 0 !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-section.settings-menu-block:not([hidden]) .menu-audit-log-section {
  grid-column: 2 !important;
  grid-row: 1 / span 6 !important;
  position: sticky !important;
  top: 0 !important;
  min-width: 0 !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-section:not(.settings-menu-block) > * {
  max-width: 1280px !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

@media (max-width: 1120px) {
  #settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-section.settings-menu-block:not([hidden]) {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-section.settings-menu-block:not([hidden]) .menu-audit-log-section {
    grid-column: 1 !important;
    grid-row: auto !important;
    position: static !important;
  }
}

@media (max-width: 980px) {
  #settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-shell {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}


/* USER UPDATE: top-level Settings workbench rebuild. */
#settingsDialog.settings-dialog.settings-mantine-shell-mounted,
#settingsDialog.settings-dialog.settings-mantine-shell-mounted[open] {
  width: calc(100vw - 12px) !important;
  max-width: calc(100vw - 12px) !important;
  height: calc(100vh - 12px) !important;
  max-height: calc(100vh - 12px) !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 10px !important;
  background: #eef3f8 !important;
  box-shadow: 0 28px 78px rgba(15, 23, 42, 0.24) !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .settings-panel {
  background: #eef3f8 !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-shell {
  grid-template-columns: minmax(286px, 326px) minmax(0, 1fr) !important;
  background: #eef3f8 !important;
  color: #0f172a !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-shell-nav {
  border-right: 1px solid #cbd5e1 !important;
  background: #f8fafc !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-brand {
  padding: 16px 14px 14px !important;
  border-bottom: 1px solid #d6e0ec !important;
  background: #ffffff !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-brand .mantine-ThemeIcon-root {
  border-radius: 8px !important;
  box-shadow: 0 8px 18px rgba(37, 99, 235, 0.16) !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-brand-title {
  color: #111827 !important;
  font-size: 18px !important;
  font-weight: 850 !important;
  letter-spacing: 0 !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-kicker {
  color: #64748b !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-search .mantine-Input-input {
  min-height: 36px !important;
  border-color: #d6e0ec !important;
  border-radius: 8px !important;
  background: #f8fafc !important;
  color: #0f172a !important;
  box-shadow: inset 0 1px 0 rgba(15, 23, 42, 0.02) !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-search .mantine-Input-input:focus,
#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host :is(input, select, textarea):focus {
  border-color: rgba(37, 99, 235, 0.5) !important;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1) !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-brand-metrics {
  gap: 7px !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-brand-metrics .mantine-Badge-root,
#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-section-count.mantine-Badge-root {
  min-height: 22px !important;
  border: 1px solid #dbeafe !important;
  border-radius: 6px !important;
  background: #eff6ff !important;
  color: #2563eb !important;
  font-weight: 750 !important;
  letter-spacing: 0 !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-nav-scroll {
  background: #f8fafc !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-nav-group {
  padding-inline: 12px !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-nav-group:first-child {
  padding-top: 14px !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-nav-group-label {
  min-height: 22px !important;
  padding: 0 5px 6px !important;
  color: #64748b !important;
  font-size: 10px !important;
  font-weight: 850 !important;
  letter-spacing: 0 !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-nav-link.mantine-NavLink-root {
  min-height: 39px !important;
  padding: 5px 8px !important;
  border: 1px solid transparent !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: #334155 !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-nav-link.mantine-NavLink-root:hover {
  border-color: #e2e8f0 !important;
  background: #ffffff !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-nav-link.mantine-NavLink-root[data-active] {
  border-color: rgba(37, 99, 235, 0.28) !important;
  background: #eff6ff !important;
  color: #0f172a !important;
  box-shadow: inset 3px 0 0 #2563eb, 0 1px 2px rgba(15, 23, 42, 0.05) !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-shell-main {
  background: #eef3f8 !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-shell-header {
  min-height: 74px !important;
  padding: 14px 22px !important;
  border-bottom: 1px solid #d6e0ec !important;
  background: #ffffff !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-title {
  color: #0f172a !important;
  font-size: 20px !important;
  font-weight: 850 !important;
  letter-spacing: 0 !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-header-actions .mantine-Badge-root {
  min-height: 24px !important;
  border: 1px solid #dbeafe !important;
  border-radius: 6px !important;
  background: #eff6ff !important;
  color: #2563eb !important;
  font-weight: 750 !important;
  letter-spacing: 0 !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-close.mantine-ActionIcon-root {
  width: 34px !important;
  min-width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  border-color: #d6e0ec !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: #334155 !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-inner-tabs {
  padding: 10px 20px 9px !important;
  border-bottom: 1px solid #d6e0ec !important;
  background: #ffffff !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-inner-tabs .mantine-Tabs-list {
  gap: 8px !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-inner-tabs .mantine-Tabs-tab {
  min-height: 42px !important;
  padding: 7px 10px !important;
  border: 1px solid #d6e0ec !important;
  border-radius: 8px !important;
  background: #f8fafc !important;
  color: #334155 !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-inner-tabs .mantine-Tabs-tab[data-active] {
  border-color: rgba(37, 99, 235, 0.34) !important;
  background: #eff6ff !important;
  color: #0f172a !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host {
  min-height: 100% !important;
  padding: 18px 22px 24px !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-section {
  width: 100% !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-section:not(.settings-menu-block) > * {
  width: 100% !important;
  max-width: none !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host :is(.settings-subsection, .settings-add-row, .settings-list, .settings-list-row, .dashboard-builder-grid, .widget-builder-grid, .dashboard-list, .settings-row) {
  border-color: #d6e0ec !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host :is(input, select, textarea) {
  min-height: 38px !important;
  border-color: #d6e0ec !important;
  border-radius: 8px !important;
  background-color: #ffffff !important;
  color: #0f172a !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host [data-settings-panel="users"] {
  display: grid !important;
  grid-template-rows: auto auto minmax(0, 1fr) !important;
  align-content: start !important;
  gap: 14px !important;
  --pd-settings-command-border: #d6e0ec;
  --pd-settings-command-muted: #64748b;
  --pd-settings-command-soft: #f8fafc;
  --pd-settings-command-ink: #0f172a;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host [data-settings-panel="users"] .app-password-tools,
#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host [data-settings-panel="users"] .settings-add-row.user-row,
#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-users-table-list {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host [data-settings-panel="users"] .app-password-tools {
  min-height: 58px !important;
  padding: 12px 14px !important;
  border: 1px solid #d6e0ec !important;
  border-radius: 8px !important;
  background: #ffffff !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host [data-settings-panel="users"] .app-password-tools h4 {
  color: #0f172a !important;
  font-size: 0.9rem !important;
  font-weight: 850 !important;
  letter-spacing: 0 !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host [data-settings-panel="users"] .app-password-actions .secondary-action {
  min-height: 36px !important;
  border-color: #d6e0ec !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: #0f172a !important;
  font-weight: 750 !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host [data-settings-panel="users"] .settings-add-row.user-row {
  display: grid !important;
  grid-template-columns: repeat(12, minmax(72px, 1fr)) !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 14px !important;
  border: 1px solid #d6e0ec !important;
  border-radius: 8px !important;
  background: #f8fafc !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host [data-settings-panel="users"] .settings-add-row.user-row > input,
#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host [data-settings-panel="users"] .settings-add-row.user-row > select {
  width: 100% !important;
  min-width: 0 !important;
  color: #0f172a !important;
  font-size: 0.82rem !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host [data-settings-panel="users"] .settings-add-row.user-row #newUserNameInput,
#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host [data-settings-panel="users"] .settings-add-row.user-row #newUserPasswordInput,
#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host [data-settings-panel="users"] .settings-add-row.user-row #newUserEmailInput,
#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host [data-settings-panel="users"] .settings-add-row.user-row #newUserPhoneInput {
  grid-column: span 2 !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host [data-settings-panel="users"] .settings-add-row.user-row #newUserOfficialInput,
#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host [data-settings-panel="users"] .settings-add-row.user-row #newUserVisibilityInput {
  grid-column: span 4 !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host [data-settings-panel="users"] .settings-add-row.user-row .user-avatar-add-control,
#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host [data-settings-panel="users"] .settings-add-row.user-row #newUserRoleInput {
  grid-column: span 3 !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host [data-settings-panel="users"] .settings-add-row.user-row #addUserButton {
  grid-column: span 2 !important;
  justify-self: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 38px !important;
  border-color: #111827 !important;
  border-radius: 8px !important;
  background: #111827 !important;
  color: #ffffff !important;
  font-weight: 850 !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-users-table-list {
  border: 1px solid #d6e0ec !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  overflow: hidden !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06) !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-users-table-card {
  padding: 0 !important;
  background: #ffffff !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-users-table-scroll {
  max-width: 100% !important;
  overflow-x: auto !important;
  scrollbar-color: #cbd5e1 transparent !important;
  scrollbar-width: thin !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-users-table {
  width: 100% !important;
  min-width: 1120px !important;
  table-layout: fixed !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-users-table th:nth-child(1),
#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-users-table td:nth-child(1) {
  width: 28% !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-users-table th:nth-child(2),
#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-users-table td:nth-child(2) {
  width: 18% !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-users-table th:nth-child(3),
#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-users-table td:nth-child(3) {
  width: 25% !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-users-table th:nth-child(4),
#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-users-table td:nth-child(4) {
  width: 12% !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-users-table th:nth-child(5),
#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-users-table td:nth-child(5) {
  width: 9% !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-users-table th:nth-child(6),
#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-users-table td:nth-child(6) {
  width: 170px !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-users-table thead th {
  position: sticky !important;
  top: 0 !important;
  z-index: 1 !important;
  height: 46px !important;
  padding: 0 14px !important;
  border-bottom: 1px solid #d6e0ec !important;
  background: #f8fafc !important;
  color: #475569 !important;
  font-size: 0.76rem !important;
  font-weight: 850 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-users-table td {
  height: 70px !important;
  padding: 11px 14px !important;
  border-bottom: 1px solid #edf2f7 !important;
  color: #0f172a !important;
  vertical-align: middle !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-users-table tbody tr:hover td {
  background: #f8fbff !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-user-employee-cell {
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) 30px !important;
  align-items: center !important;
  gap: 12px !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-user-identity {
  min-width: 0 !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-user-identity strong,
#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-user-identity span {
  display: block !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-user-identity strong {
  color: #0f172a !important;
  font-size: 0.92rem !important;
  font-weight: 850 !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-user-identity span,
#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-user-last-active-cell {
  color: #64748b !important;
  font-size: 0.76rem !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-user-role-select,
#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-user-visibility-select {
  width: 100% !important;
  max-width: 100% !important;
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 30px 0 10px !important;
  border: 1px solid #d6e0ec !important;
  border-radius: 8px !important;
  background-color: #ffffff !important;
  color: #0f172a !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-user-access-summary {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
  margin-top: 7px !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-user-access-summary span {
  min-height: 19px !important;
  padding: 2px 7px !important;
  border: 1px solid #dbeafe !important;
  border-radius: 6px !important;
  background: #eff6ff !important;
  color: #2563eb !important;
  font-size: 0.68rem !important;
  font-weight: 750 !important;
  line-height: 1.2 !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-user-status-badge {
  display: inline-flex !important;
  min-width: 78px !important;
  min-height: 23px !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  font-size: 0.68rem !important;
  font-weight: 850 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-user-status-badge.is-active {
  border: 1px solid #bfdbfe !important;
  background: #dbeafe !important;
  color: #2563eb !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-user-status-badge.is-disabled {
  border: 1px solid #fde68a !important;
  background: #fef3c7 !important;
  color: #92400e !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-user-action-cell {
  text-align: right !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-user-action-group {
  display: inline-flex !important;
  justify-content: flex-end !important;
  gap: 6px !important;
  white-space: nowrap !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-user-action-button,
#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-user-row-open-button {
  width: 30px !important;
  min-width: 30px !important;
  height: 30px !important;
  min-height: 30px !important;
  border: 1px solid #d6e0ec !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: #475569 !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-user-row-open-button,
#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-user-config-button {
  border-color: #bfdbfe !important;
  background: #eff6ff !important;
  color: #2563eb !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-user-delete-button {
  color: #b91c1c !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-user-action-button:hover,
#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-user-row-open-button:hover,
#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-user-action-button:focus-visible,
#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-user-row-open-button:focus-visible {
  border-color: #93c5fd !important;
  background: #dbeafe !important;
  color: #1d4ed8 !important;
  outline: none !important;
}

@media (max-width: 1180px) {
  #settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host [data-settings-panel="users"] .settings-add-row.user-row {
    grid-template-columns: repeat(6, minmax(82px, 1fr)) !important;
  }

  #settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host [data-settings-panel="users"] .settings-add-row.user-row #newUserOfficialInput,
  #settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host [data-settings-panel="users"] .settings-add-row.user-row #newUserVisibilityInput {
    grid-column: span 3 !important;
  }
}

@media (max-width: 980px) {
  #settingsDialog.settings-dialog.settings-mantine-shell-mounted,
  #settingsDialog.settings-dialog.settings-mantine-shell-mounted[open] {
    width: calc(100vw - 8px) !important;
    max-width: calc(100vw - 8px) !important;
    height: calc(100vh - 8px) !important;
    max-height: calc(100vh - 8px) !important;
    border-radius: 8px !important;
  }

  #settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-shell {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: minmax(148px, 26vh) minmax(0, 1fr) !important;
  }

  #settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-shell-nav {
    border-right: 0 !important;
    border-bottom: 1px solid #d6e0ec !important;
  }

  #settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host {
    padding: 14px !important;
  }
}

@media (max-width: 720px) {
  #settingsDialog.settings-dialog.settings-mantine-shell-mounted,
  #settingsDialog.settings-dialog.settings-mantine-shell-mounted[open] {
    width: 100vw !important;
    max-width: 100vw !important;
    height: 100vh !important;
    max-height: 100vh !important;
    border-radius: 0 !important;
  }

  #settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-brand {
    padding: 10px !important;
  }

  #settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-shell-header {
    min-height: 60px !important;
    padding: 10px 12px !important;
  }

  #settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-inner-tabs {
    padding: 8px 10px !important;
  }

  #settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host {
    padding: 10px !important;
  }

  #settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host [data-settings-panel="users"] .app-password-tools {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  #settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host [data-settings-panel="users"] .settings-add-row.user-row {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host [data-settings-panel="users"] .settings-add-row.user-row > *,
  #settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host [data-settings-panel="users"] .settings-add-row.user-row #newUserNameInput,
  #settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host [data-settings-panel="users"] .settings-add-row.user-row #newUserOfficialInput,
  #settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host [data-settings-panel="users"] .settings-add-row.user-row #newUserPasswordInput,
  #settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host [data-settings-panel="users"] .settings-add-row.user-row #newUserEmailInput,
  #settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host [data-settings-panel="users"] .settings-add-row.user-row #newUserPhoneInput,
  #settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host [data-settings-panel="users"] .settings-add-row.user-row #newUserRoleInput,
  #settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host [data-settings-panel="users"] .settings-add-row.user-row #newUserVisibilityInput,
  #settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host [data-settings-panel="users"] .settings-add-row.user-row .user-avatar-add-control,
  #settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host [data-settings-panel="users"] .settings-add-row.user-row #addUserButton {
    grid-column: 1 !important;
    width: 100% !important;
  }

  #settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-users-table {
    min-width: 920px !important;
  }
}

/* USER UPDATE: Users / Password professional admin-form and action-toolbar polish. */
#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host [data-settings-panel="users"] .settings-add-row.user-row {
  grid-template-areas:
    "name official official password email phone"
    "avatar avatar role role visibility add" !important;
  grid-template-columns:
    minmax(142px, 1fr)
    minmax(128px, 0.85fr)
    minmax(128px, 0.85fr)
    minmax(142px, 1fr)
    minmax(142px, 1fr)
    minmax(142px, 1fr) !important;
  gap: 10px !important;
  padding: 16px !important;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host [data-settings-panel="users"] .settings-add-row.user-row #newUserNameInput {
  grid-area: name !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host [data-settings-panel="users"] .settings-add-row.user-row #newUserOfficialInput {
  grid-area: official !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host [data-settings-panel="users"] .settings-add-row.user-row #newUserPasswordInput {
  grid-area: password !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host [data-settings-panel="users"] .settings-add-row.user-row #newUserEmailInput {
  grid-area: email !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host [data-settings-panel="users"] .settings-add-row.user-row #newUserPhoneInput {
  grid-area: phone !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host [data-settings-panel="users"] .settings-add-row.user-row .user-avatar-add-control {
  grid-area: avatar !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host [data-settings-panel="users"] .settings-add-row.user-row #newUserRoleInput {
  grid-area: role !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host [data-settings-panel="users"] .settings-add-row.user-row #newUserVisibilityInput {
  grid-area: visibility !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host [data-settings-panel="users"] .settings-add-row.user-row #addUserButton {
  grid-area: add !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host [data-settings-panel="users"] .settings-add-row.user-row > input,
#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host [data-settings-panel="users"] .settings-add-row.user-row > select,
#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host [data-settings-panel="users"] .settings-add-row.user-row .user-avatar-add-control,
#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host [data-settings-panel="users"] .settings-add-row.user-row #addUserButton {
  min-height: 40px !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host [data-settings-panel="users"] .settings-add-row.user-row .user-avatar-add-control {
  display: grid !important;
  grid-template-columns: 36px 40px minmax(68px, auto) 28px !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 2px 8px !important;
  border: 1px solid #d6e0ec !important;
  border-radius: 8px !important;
  background: #ffffff !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host [data-settings-panel="users"] .settings-add-row.user-row .user-avatar-settings-preview {
  width: 30px !important;
  min-width: 30px !important;
  height: 30px !important;
  min-height: 30px !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host [data-settings-panel="users"] .settings-add-row.user-row .user-avatar-color-input {
  width: 32px !important;
  min-width: 32px !important;
  height: 30px !important;
  min-height: 30px !important;
  padding: 2px !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host [data-settings-panel="users"] .settings-add-row.user-row .user-avatar-photo-button {
  min-width: 62px !important;
  min-height: 30px !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host [data-settings-panel="users"] .settings-add-row.user-row .user-avatar-photo-clear {
  width: 28px !important;
  min-width: 28px !important;
  height: 28px !important;
  min-height: 28px !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-users-table {
  min-width: 980px !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-users-table th:nth-child(1),
#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-users-table td:nth-child(1) {
  width: 25% !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-users-table th:nth-child(2),
#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-users-table td:nth-child(2) {
  width: 16% !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-users-table th:nth-child(3),
#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-users-table td:nth-child(3) {
  width: 29% !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-users-table th:nth-child(4),
#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-users-table td:nth-child(4) {
  width: 11% !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-users-table th:nth-child(5),
#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-users-table td:nth-child(5) {
  width: 8% !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-users-table th:nth-child(6),
#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-users-table td:nth-child(6) {
  width: 142px !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-user-action-cell {
  padding-right: 12px !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-user-action-group {
  gap: 0 !important;
  padding: 2px !important;
  border: 1px solid #d6e0ec !important;
  border-radius: 10px !important;
  background: #f8fafc !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82) !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-user-action-button {
  width: 26px !important;
  min-width: 26px !important;
  height: 26px !important;
  min-height: 26px !important;
  border: 0 !important;
  border-radius: 7px !important;
  background: transparent !important;
  color: #475569 !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-user-action-button + .settings-user-action-button {
  margin-left: 2px !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-user-config-button {
  background: #e0f2fe !important;
  color: #0369a1 !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-user-password-button {
  color: #6d28d9 !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-user-access-button {
  color: #047857 !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-user-delete-button {
  color: #b91c1c !important;
}

#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-user-action-button:hover,
#settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-user-action-button:focus-visible {
  background: #e2e8f0 !important;
  color: #0f172a !important;
}

@media (max-width: 1180px) {
  #settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host [data-settings-panel="users"] .settings-add-row.user-row {
    grid-template-areas:
      "name official"
      "password email"
      "phone role"
      "avatar visibility"
      "add add" !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 720px) {
  #settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host [data-settings-panel="users"] .settings-add-row.user-row {
    grid-template-areas:
      "name"
      "official"
      "password"
      "email"
      "phone"
      "avatar"
      "role"
      "visibility"
      "add" !important;
  }

  #settingsDialog.settings-dialog.settings-mantine-shell-mounted .paperdesk-settings-panel-host .settings-users-table {
    min-width: 860px !important;
  }
}

.settings-add-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 8px;
}

.settings-add-row.user-row {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) 130px 120px auto;
}

.settings-share-tools {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
}

.settings-share-tools img {
  width: 160px;
  height: 160px;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 5px;
  background: #fff;
}

.settings-file-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.backup-center {
  display: grid;
  gap: 8px;
}

.app-version-line {
  margin: 2px 0 0;
  color: #475569;
  font-size: 12px;
  font-weight: 700;
}

.storage-location-tools {
  display: grid;
  gap: 8px;
  margin-bottom: 10px;
}

.storage-location-tools h4 {
  margin: 0;
}

.storage-location-tools label {
  display: grid;
  gap: 4px;
  color: var(--muted);
  font-size: 12px;
}

.storage-location-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.storage-mode-label {
  margin: 2px 0 0;
  color: #526174;
  font-size: 12px;
  line-height: 1.5;
}

.full-app-backup-tools {
  display: grid;
  gap: 12px;
}

.full-app-backup-copy {
  display: grid;
  gap: 5px;
}

.full-app-backup-copy h4,
.full-app-backup-copy p {
  margin: 0;
}

.full-app-backup-copy p {
  color: #526174;
  font-size: 13px;
  line-height: 1.55;
}

.full-app-backup-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.full-app-backup-status {
  margin: 0;
  color: #1e3a5f;
  font-size: 13px;
  font-weight: 700;
}

.full-app-backup-status.is-error {
  color: #b91c1c;
}

.full-app-backup-result {
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px solid rgba(37, 99, 235, 0.16);
  border-radius: 14px;
  background: #f8fbff;
}

.full-app-backup-result div {
  display: grid;
  grid-template-columns: minmax(150px, 0.35fr) minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.full-app-backup-result span {
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
}

.full-app-backup-result strong {
  min-width: 0;
  overflow-wrap: anywhere;
  color: #0f172a;
  font-size: 13px;
}

.backup-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
}

.backup-list {
  max-height: 260px;
}

.backup-row {
  grid-template-columns: minmax(0, 1fr) auto auto auto;
}

.backup-meta {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.backup-meta strong,
.backup-meta span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.backup-meta span {
  color: var(--muted);
  font-size: 12px;
}

.menu-storage-row {
  grid-template-columns: minmax(150px, 1fr) minmax(130px, 0.9fr) minmax(110px, 0.7fr) minmax(220px, 1.5fr) minmax(140px, 0.9fr) auto;
  align-items: end;
}

.menu-storage-row label {
  display: grid;
  gap: 4px;
  color: var(--muted);
  font-size: 11px;
}

.menu-storage-row input {
  width: 100%;
}

.menu-storage-row code {
  overflow: hidden;
  color: var(--ink);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.settings-list {
  display: grid;
  gap: 6px;
  max-height: 190px;
  overflow: auto;
}

.settings-list-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-height: 30px;
  padding: 5px 6px;
  border: 1px solid #e4e9e5;
  border-radius: 4px;
  background: #fff;
}

.user-settings-row {
  grid-template-columns: minmax(110px, 1fr) minmax(110px, 1fr) minmax(130px, 1fr) 120px 120px auto;
}

.inspector-column-row {
  grid-template-columns: minmax(180px, 1fr) auto auto auto auto auto auto auto auto;
  cursor: grab;
}

.menu-settings-row {
  grid-template-columns: minmax(180px, 1fr) repeat(10, auto);
}

.menu-settings-row .menu-label-input {
  width: 100%;
  min-width: 0;
}

.menu-settings-row select {
  min-width: 130px;
}

.dashboard-builder-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(150px, 1fr));
  gap: 10px;
}

.dashboard-builder-grid label {
  display: grid;
  gap: 5px;
  min-width: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.dashboard-builder-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.dashboard-widget-builder {
  display: grid;
  gap: 12px;
  padding: 12px;
  border: 1px solid color-mix(in srgb, var(--accent) 12%, var(--line));
  border-radius: 8px;
  background: linear-gradient(180deg, color-mix(in srgb, var(--accent) 4%, var(--panel)), var(--panel));
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
}

.dashboard-widget-builder h4 {
  margin: 0;
  color: var(--ink);
  font-size: 13px;
  font-weight: 800;
}

.widget-builder-grid {
  grid-template-columns: repeat(6, minmax(110px, 1fr));
  gap: 8px;
}

.widget-builder-field {
  min-height: 66px;
  padding: 8px;
  border: 1px solid color-mix(in srgb, var(--accent) 8%, var(--line));
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.72);
}

.widget-builder-field[hidden] {
  display: none !important;
}

.widget-builder-field input,
.widget-builder-field select {
  min-height: 34px;
}

.widget-checkbox-field {
  align-content: center;
  grid-template-columns: auto 1fr;
}

.widget-checkbox-field input {
  min-height: auto;
}

.widget-field-primary,
.widget-field-title {
  grid-column: span 2;
}

.widget-field-data,
.widget-field-style {
  grid-column: span 2;
}

.dashboard-widget-builder .dashboard-builder-actions {
  justify-content: flex-end;
  padding-top: 2px;
}

.dashboard-widget-builder #addWidgetButton {
  min-height: 38px;
  padding-inline: 16px;
}

.dashboard-widget-builder #addWidgetButton:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.dashboard-widget-form-message {
  max-width: 520px;
  padding: 8px 10px;
  border: 1px solid color-mix(in srgb, #dc2626 26%, var(--line));
  border-radius: 7px;
  background: color-mix(in srgb, #dc2626 7%, var(--panel));
  color: #991b1b;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
}

.dashboard-chart-help-panel {
  display: grid;
  gap: 10px;
  margin-top: 2px;
  padding: 14px;
  border: 1px solid #bcd0f7;
  border-radius: 12px;
  background: linear-gradient(180deg, #ffffff, #f8fbff);
}

.chart-preview-card {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
}

.chart-preview-art,
.chart-help-preview {
  display: grid;
  place-items: center;
  min-height: 78px;
  border: 1px solid #c7d7f7;
  border-radius: 8px;
  background: #fff;
  color: #2563eb;
}

.chart-preview-svg,
.chart-help-preview svg {
  width: 100%;
  height: 78px;
}

.chart-preview-svg rect,
.chart-preview-svg circle,
.chart-preview-svg path {
  fill: #dbeafe;
  stroke: #2563eb;
  stroke-width: 2;
}

.chart-preview-svg polyline,
.chart-preview-svg line {
  stroke: #2563eb;
}

.chart-preview-svg text {
  fill: #1e3a8a;
  font-size: 13px;
  font-weight: 800;
  stroke: none;
}

.chart-preview-svg .preview-fill {
  fill: rgba(37, 99, 235, 0.16);
}

.chart-preview-svg .preview-hole {
  fill: #ffffff;
  stroke: #ffffff;
}

.chart-help-preview strong {
  color: #0d1d3a;
  font-size: 30px;
  line-height: 1;
}

.dashboard-chart-help-panel span,
.dashboard-chart-help-panel small {
  display: block;
  color: var(--muted);
  font-size: 12px;
}

.dashboard-chart-help-panel strong {
  display: block;
  margin: 2px 0;
  color: var(--ink);
  font-size: 14px;
}

.dashboard-chart-help-panel p {
  margin: 0 0 5px;
  color: var(--text);
  font-size: 12px;
  line-height: 1.4;
}

.chart-help-warning {
  color: #991b1b !important;
}

.chart-help-ok {
  color: #047857 !important;
}

.chart-preview-info {
  display: grid;
  gap: 4px;
}

.chart-preview-template {
  color: #64748b;
  font-size: 12px;
}

.chart-preview-info strong {
  color: #0f172a;
  font-size: 14px;
}

.chart-preview-info p {
  margin: 0;
  color: #334155;
  font-size: 13px;
}

.chart-preview-info small {
  color: #64748b;
}

.chart-preview-warning {
  margin-top: 8px;
  padding: 9px 12px;
  border: 1px solid #fecaca;
  border-radius: 8px;
  color: #991b1b;
  background: #fff7f7;
  font-size: 12px;
}

.chart-preview-header {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.chart-preview-badge.live {
  padding: 3px 8px;
  border-radius: 999px;
  color: #047857;
  background: #ecfdf5;
  font-size: 11px;
  font-weight: 700;
}

.chart-live-preview-body {
  grid-column: 1 / -1;
  min-height: 180px;
  padding: 10px;
  border: 1px solid #dbeafe;
  border-radius: 10px;
  background: #ffffff;
}

.chart-live-preview-body .dashboard-widget {
  margin: 0;
}

:root {
  --dashboard-bg: #f4f7fb;
  --dashboard-card: #ffffff;
  --dashboard-soft: #f8fbff;
  --dashboard-line: #dbe5f2;
  --dashboard-text: #172033;
  --dashboard-muted: #65758b;
  --dashboard-primary: #1d5fd1;
  --dashboard-primary-soft: #e8f1ff;
  --dashboard-success: #178d5a;
  --dashboard-warning: #c97a12;
  --dashboard-danger: #b73535;
  --dashboard-radius: 16px;
  --dashboard-shadow: 0 12px 28px rgba(28, 57, 102, 0.08);
}

.smart-dashboard-toolbar,
.smart-widget-manager-toolbar {
  display: grid;
  grid-template-columns: repeat(6, minmax(120px, 1fr));
  gap: 8px;
  align-items: end;
  padding: 10px;
  border: 1px solid var(--dashboard-line);
  border-radius: 12px;
  background: linear-gradient(180deg, var(--dashboard-soft), var(--dashboard-card));
  box-shadow: var(--dashboard-shadow);
}

.smart-dashboard-toolbar label,
.smart-widget-manager-toolbar label {
  display: grid;
  gap: 4px;
  color: var(--dashboard-muted);
  font-size: 11px;
  font-weight: 800;
}

.smart-dashboard-toolbar span {
  color: var(--dashboard-muted);
  font-size: 12px;
  font-weight: 700;
}

.smart-dashboard-grid.dashboard-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 12px;
  margin-block: 12px;
}

.smart-dashboard-grid .dashboard-widget {
  grid-column: span var(--widget-width, 3);
  min-height: calc(var(--widget-height, 1) * 110px);
}

.smart-widget {
  overflow: hidden;
  border: 1px solid var(--dashboard-line);
  border-radius: var(--dashboard-radius);
  background: var(--dashboard-card);
  box-shadow: var(--dashboard-shadow);
}

.smart-widget > header {
  min-height: 54px;
  padding: 9px 10px;
  border-bottom: 1px solid var(--dashboard-line);
  background: linear-gradient(180deg, var(--dashboard-soft), #ffffff);
}

.smart-widget > header > div {
  min-width: 0;
}

.smart-widget h3 {
  margin: 0;
  color: var(--dashboard-text);
  font-size: 13px;
  line-height: 1.25;
}

.smart-widget header p {
  margin: 2px 0 0;
  color: var(--dashboard-muted);
  font-size: 11px;
  line-height: 1.35;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.smart-widget-icon {
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  flex: 0 0 auto;
  border-radius: 10px;
  border: 1px solid color-mix(in srgb, var(--dashboard-primary) 20%, var(--dashboard-line));
  background: var(--dashboard-primary-soft);
  color: var(--dashboard-primary);
  font-weight: 900;
}

.smart-widget-body {
  padding: 10px;
}

.smart-table-wrap {
  width: 100%;
  max-height: 320px;
  overflow: auto;
}

.smart-warning-list,
.smart-field-list {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.smart-warning-list li,
.smart-field-list span {
  padding: 8px 10px;
  border: 1px solid color-mix(in srgb, var(--dashboard-warning) 22%, var(--dashboard-line));
  border-radius: 10px;
  background: color-mix(in srgb, var(--dashboard-warning) 7%, #ffffff);
  color: var(--dashboard-text);
  font-size: 12px;
  line-height: 1.45;
}

.smart-field-list span {
  border-color: var(--dashboard-line);
  background: var(--dashboard-soft);
}

.smart-field-list strong {
  display: block;
  color: var(--dashboard-primary);
  text-transform: capitalize;
}

.smart-dashboard-empty {
  margin-block: 12px;
  border: 1px dashed var(--dashboard-line);
  border-radius: var(--dashboard-radius);
  background: var(--dashboard-soft);
}

.smart-widget-manager-list {
  display: grid;
  gap: 10px;
}

.smart-widget-manager-group {
  display: grid;
  gap: 8px;
}

.smart-widget-manager-group h4 {
  margin: 4px 0 0;
  color: var(--dashboard-text);
  font-size: 13px;
}

.smart-widget-manager-row small {
  display: block;
  color: var(--dashboard-muted);
  font-size: 11px;
  line-height: 1.35;
}

.smart-toggle {
  justify-self: end;
  white-space: nowrap;
}

@media (max-width: 1024px) {
  .smart-dashboard-grid.dashboard-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .smart-dashboard-grid .dashboard-widget {
    grid-column: span 1 !important;
  }

  .smart-dashboard-toolbar,
  .smart-widget-manager-toolbar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .smart-dashboard-grid.dashboard-grid,
  .smart-dashboard-toolbar,
  .smart-widget-manager-toolbar {
    grid-template-columns: 1fr;
  }
}

.settings-collapse-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  min-height: 38px;
  padding: 8px 10px;
  border: 1px solid color-mix(in srgb, var(--accent) 12%, var(--line));
  border-radius: 8px;
  color: var(--ink);
  background: linear-gradient(180deg, color-mix(in srgb, var(--accent) 5%, var(--panel)), var(--panel));
  cursor: pointer;
  font-size: 13px;
  font-weight: 800;
  text-align: left;
}

.settings-collapse-toggle:hover,
.settings-collapse-toggle:focus-visible {
  border-color: color-mix(in srgb, var(--accent) 28%, var(--line));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 10%, transparent);
  outline: none;
}

.settings-collapse-toggle strong {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 6px;
  color: var(--accent);
  background: color-mix(in srgb, var(--accent) 9%, var(--panel));
  font-family: var(--icon-font);
  font-size: 15px;
  line-height: 1;
}

.settings-collapse-body {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.settings-subsection .settings-collapse-toggle,
.dashboard-widget-builder .settings-collapse-toggle,
.dashboard-list .settings-collapse-toggle {
  margin-bottom: 8px;
}

.dashboard-widget-builder > .settings-collapse-body {
  display: grid;
  gap: 12px;
}

.settings-list.dashboard-list {
  display: grid;
}

.settings-list.dashboard-list > .settings-collapse-body {
  display: grid;
  gap: 6px;
}

.dashboard-list {
  max-height: 320px;
}

.dashboard-settings-row {
  grid-template-columns: minmax(220px, 1fr) auto auto auto auto auto auto;
}

.dashboard-widget-row {
  margin-left: 18px;
  grid-template-columns: minmax(220px, 1fr) auto auto auto;
  background: #f8fafc;
}

.dashboard-widget-row.is-hidden {
  opacity: 0.58;
  background: #f8fafc;
  border-style: dashed;
}

.dashboard-widget-hidden-badge {
  display: inline-flex;
  align-items: center;
  padding: 3px 8px;
  margin-left: 8px;
  border-radius: 999px;
  color: #64748b;
  background: #e2e8f0;
  font-size: 11px;
  font-weight: 700;
}

.dashboard-widget-visibility-button {
  min-height: 34px;
  padding: 0 14px;
  border: 1px solid #cbd5e1;
  border-radius: 12px;
  color: #334155;
  background: #ffffff;
  cursor: pointer;
  font-weight: 700;
}

.dashboard-widget-visibility-button:hover {
  border-color: #2563eb;
  color: #2563eb;
  background: #eff6ff;
}

.dashboard-settings-row strong,
.dashboard-settings-row small {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dashboard-settings-row small {
  margin-top: 2px;
  color: var(--muted);
  font-size: 11px;
}

.settings-checkbox {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--muted);
  font-size: 12px;
  white-space: nowrap;
}

.column-dropdown-options {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 6px;
  padding: 8px;
  border: 0;
  border-top: 1px solid #d7e0db;
  border-radius: 0;
  background: #fbfdfc;
}

.column-dropdown-options strong {
  grid-column: 1 / -1;
  font-size: 12px;
  color: #3333FF;
}

.column-dropdown-options > .settings-add-row,
.column-dropdown-options > .settings-list {
  grid-column: 1 / -1;
}

.column-dropdown-manager:first-child {
  border-top: 0;
}

.settings-chip-list,
.settings-dropdown-list {
  grid-column: 1 / -1;
  display: grid;
  gap: 5px;
}

.dropdown-option-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 6px;
  align-items: center;
  padding: 4px 5px;
  border: 1px solid #e5ece7;
  border-radius: 4px;
  background: #fff;
}

.inspector-column-row .column-label-input,
.dropdown-option-row .dropdown-option-input {
  width: 100%;
  min-width: 0;
}

.settings-chip {
  border: 1px solid #dfe7e2;
  border-radius: 4px;
  background: #f8fbf9;
  padding: 4px 7px;
  color: var(--text);
  cursor: pointer;
}

.settings-list-row span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.floating-button-settings-section {
  display: grid;
  gap: 12px;
  margin-top: 14px;
  padding: 14px;
  border: 1px solid color-mix(in srgb, var(--line, #d8e2ef) 82%, #e2e8f0);
  border-radius: 16px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(248, 250, 252, 0.88));
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
}

.floating-button-settings-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.floating-button-settings-title {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.floating-button-settings-title strong {
  color: var(--ink, #1e2424);
  font-size: 14px;
  font-weight: 850;
  line-height: 1.35;
}

.floating-button-settings-title span {
  color: var(--muted, #66706d);
  font-size: 12px;
  line-height: 1.45;
}

.floating-button-settings-badge {
  flex: 0 0 auto;
  padding: 4px 9px;
  border: 1px solid color-mix(in srgb, var(--accent, #2563eb) 22%, transparent);
  border-radius: 999px;
  color: var(--accent-strong, var(--accent, #2563eb));
  background: color-mix(in srgb, var(--accent, #2563eb) 8%, #ffffff);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.2;
}

.floating-button-settings-grid {
  display: grid;
  gap: 8px;
}

.floating-button-toggle-row {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 12px;
  min-height: 46px;
  padding: 9px 10px;
  border: 1px solid color-mix(in srgb, var(--line, #d8e2ef) 76%, #edf2f7);
  border-radius: 13px;
  background: rgba(255, 255, 255, 0.74);
}

.floating-button-toggle-copy {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.floating-button-toggle-copy strong {
  color: var(--ink, #1e2424);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.35;
}

.floating-button-toggle-copy span {
  color: var(--muted, #66706d);
  font-size: 11px;
  line-height: 1.4;
}

.floating-button-switch {
  position: relative;
  display: inline-flex;
  width: 48px;
  height: 26px;
  flex: 0 0 48px;
  cursor: pointer;
}

.floating-button-switch input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.floating-button-switch span {
  position: absolute;
  inset: 0;
  border: 1px solid rgba(148, 163, 184, 0.42);
  border-radius: 999px;
  background: #e5e7eb;
  transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.floating-button-switch span::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: #ffffff;
  box-shadow: 0 2px 6px rgba(15, 23, 42, 0.22);
  transition: transform 160ms ease;
}

.floating-button-switch input:checked + span {
  border-color: color-mix(in srgb, var(--accent, #2563eb) 52%, transparent);
  background: var(--accent, #2563eb);
  box-shadow: 0 6px 16px color-mix(in srgb, var(--accent, #2563eb) 22%, transparent);
}

.floating-button-switch input:checked + span::after {
  transform: translateX(22px);
}

.floating-button-switch input:focus-visible + span {
  outline: 3px solid color-mix(in srgb, var(--accent, #2563eb) 22%, transparent);
  outline-offset: 3px;
}

.floating-button-reset-row {
  display: flex;
  justify-content: flex-end;
}

.floating-button-reset-row .secondary-action {
  min-height: 30px;
  border-radius: 10px;
  font-size: 12px;
}

@media (max-width: 700px) {
  .floating-button-settings-header,
  .floating-button-toggle-row {
    grid-template-columns: 1fr;
  }

  .floating-button-toggle-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
}


/* Floating Buttons is now a Settings tab, directly under គណនី. */
[data-settings-panel="floatingButtons"] .floating-button-settings-section {
  margin-top: 10px;
}

/* USER UPDATE: Settings Controls section documents app keyboard shortcuts. */
.shortcut-control-settings {
  gap: 12px;
}

.shortcut-control-heading {
  display: grid;
  gap: 4px;
}

.shortcut-control-heading p {
  margin: 0;
  color: #64748b;
  font-family: var(--font-sans, "Inter Variable", Inter, ui-sans-serif, system-ui, sans-serif);
  font-size: 0.86rem;
  line-height: 1.4;
}

.shortcut-control-list {
  display: grid;
  gap: 8px;
}

.shortcut-control-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  min-height: 42px;
  padding: 9px 11px;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 12px;
  background: rgba(248, 250, 252, 0.82);
}

.shortcut-control-keys {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  align-items: center;
  min-width: 0;
  color: #64748b;
  font-family: var(--font-sans, "Inter Variable", Inter, ui-sans-serif, system-ui, sans-serif);
  font-size: 0.82rem;
  font-weight: 600;
}

.shortcut-control-keys kbd {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 2px 8px;
  border: 1px solid rgba(100, 116, 139, 0.28);
  border-radius: 7px;
  background: #ffffff;
  color: #0f172a;
  font-family: var(--font-sans, "Inter Variable", Inter, ui-sans-serif, system-ui, sans-serif);
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1;
  box-shadow: inset 0 -1px 0 rgba(15, 23, 42, 0.08);
}

.shortcut-control-action {
  color: #0f172a;
  font-family: var(--font-sans, "Inter Variable", Inter, ui-sans-serif, system-ui, sans-serif);
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.25;
  text-align: right;
  white-space: nowrap;
}

@media (max-width: 680px) {
  .shortcut-control-row {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .shortcut-control-action {
    text-align: left;
    white-space: normal;
  }
}

/* ===== SETTINGS SUB-DROPDOWN COLLAPSE BUTTONS ===== */
.column-dropdown-manager {
  display: grid;
  gap: 8px;
}

.column-dropdown-manager > .settings-collapse-toggle {
  min-height: 34px;
  margin: 0 0 6px;
  padding: 7px 10px;
  border-radius: 10px;
  background: linear-gradient(180deg, #ffffff, color-mix(in srgb, var(--accent) 4%, #ffffff));
  font-size: 13px;
}

.column-dropdown-manager > .settings-collapse-toggle strong {
  width: 22px;
  height: 22px;
  border-radius: 7px;
}

.column-dropdown-manager > .settings-collapse-body {
  display: grid;
  gap: 8px;
}

.settings-collapse-body[hidden],
.column-dropdown-manager.is-collapsed > .settings-collapse-body,
.settings-subsection.is-collapsed > .settings-collapse-body {
  display: none !important;
}
