/* Admin modernized page */
.admin-modern-page {
  display: grid;
  grid-template-columns: 320px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.admin-card {
  border: 1px solid var(--line);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(16, 24, 35, .88), rgba(10, 15, 23, .76));
  box-shadow: var(--shadow);
  overflow: hidden;
}

.admin-server-panel {
  position: sticky;
  top: 18px;
  padding: 14px;
}

.admin-card-head,
.admin-panel-title.modernized,
.admin-subpanel-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px;
}

.admin-card-head.compact {
  margin-bottom: 12px;
}

.admin-card-head h2,
.admin-hero h1,
.admin-panel-title h3,
.admin-subpanel-modern h3 {
  margin: 0;
}

.admin-card-head h2 {
  font-size: 22px;
}

.admin-kicker {
  display: inline-flex;
  margin-bottom: 7px;
  color: #ffd777;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.admin-kicker.red {
  color: #ffb9c4;
}

.admin-icon-button {
  width: 36px;
  height: 36px;
  border: 1px solid rgba(255, 179, 0, .24);
  border-radius: 12px;
  background: var(--gold-soft);
  color: #ffe0a3;
  font-size: 20px;
  font-weight: 900;
}

.admin-search.modern {
  min-height: 44px;
  border-radius: 13px;
  background: rgba(5, 7, 13, .48);
  border-color: rgba(255, 255, 255, .10);
}

.admin-server-stack {
  display: grid;
  gap: 9px;
  margin-top: 12px;
}

.admin-server-item {
  width: 100%;
  min-height: 70px;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 22px;
  align-items: center;
  gap: 11px;
  padding: 10px;
  border: 1px solid rgba(255, 255, 255, .075);
  border-radius: 14px;
  background: rgba(255, 255, 255, .025);
  color: var(--text);
  text-align: left;
  transition: .16s ease;
}

.admin-server-item:hover,
.admin-server-item.active {
  border-color: rgba(255, 179, 0, .32);
  background: rgba(255, 179, 0, .10);
}

.admin-server-emblem {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 179, 0, .24);
  border-radius: 13px;
  background: rgba(255, 179, 0, .10);
  color: #ffe0a0;
}

.admin-server-emblem.large {
  width: 46px;
  height: 46px;
  border-radius: 15px;
  flex: 0 0 auto;
}

.admin-server-copy,
.admin-server-copy b,
.admin-server-copy small,
.admin-active-server b,
.admin-active-server small {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-server-copy small,
.admin-active-server small,
.admin-side-note span,
.admin-panel-title p,
.admin-muted-label,
.admin-setting-card small {
  color: var(--muted);
  font-size: 12px;
}

.admin-server-item em {
  color: #ffd777;
  font-style: normal;
  font-weight: 900;
}

.admin-side-note {
  display: grid;
  gap: 4px;
  margin-top: 14px;
  padding: 12px;
  border: 1px dashed rgba(255, 255, 255, .12);
  border-radius: 13px;
  background: rgba(255, 255, 255, .02);
}

.admin-content-panel {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.admin-hero {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  gap: 18px;
  padding: 18px;
}

.admin-hero-copy h1 {
  font-size: 31px;
  letter-spacing: -.04em;
}

.admin-hero-copy p {
  max-width: 720px;
  margin: 8px 0 0;
  color: var(--muted);
  line-height: 1.5;
}

.admin-active-server {
  min-width: 270px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px;
  border: 1px solid rgba(94, 224, 146, .20);
  border-radius: 15px;
  background: rgba(94, 224, 146, .07);
}

.admin-overview-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.admin-metric-card {
  border: 1px solid var(--line);
  border-radius: 15px;
  padding: 14px;
  background: linear-gradient(180deg, rgba(16, 24, 35, .78), rgba(9, 14, 22, .72));
}

.admin-metric-card strong {
  display: block;
  color: #f2f7ff;
  font-size: 27px;
  line-height: 1;
}

.admin-metric-card span,
.admin-metric-card small {
  display: block;
  margin-top: 6px;
}

.admin-metric-card span {
  font-weight: 850;
}

.admin-metric-card small {
  color: var(--muted);
  font-size: 12px;
}

.admin-module-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  padding: 11px;
}

.admin-module-pill {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-width: 180px;
  border: 1px solid rgba(255, 255, 255, .09);
  border-radius: 999px;
  padding: 8px 10px 8px 12px;
  background: rgba(255, 255, 255, .03);
  font-size: 12px;
}

.admin-module-pill b {
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 10px;
  text-transform: uppercase;
}

.admin-module-pill.green b {
  color: #a4efc3;
  background: rgba(94, 224, 146, .12);
}

.admin-module-pill.gold b {
  color: #ffe0a3;
  background: rgba(255, 179, 0, .12);
}

.admin-tabs-modernized {
  display: flex;
  gap: 8px;
  padding: 10px;
  overflow-x: auto;
}

.admin-tabs-modernized .admin-tab {
  border: 1px solid transparent;
  border-radius: 12px;
  background: transparent;
  color: var(--muted);
  padding: 9px 12px;
  font-size: 13px;
  font-weight: 900;
  white-space: nowrap;
}

.admin-tabs-modernized .admin-tab:hover,
.admin-tabs-modernized .admin-tab.active {
  border-color: rgba(255, 179, 0, .26);
  background: rgba(255, 179, 0, .12);
  color: #ffe1a0;
}

.admin-panel-modern {
  padding: 16px;
}

.admin-panel-title.modernized {
  margin-bottom: 14px;
}

.admin-panel-title.modernized h3 {
  font-size: 20px;
  letter-spacing: -.02em;
}

.role-access-table-modern {
  border: 1px solid rgba(255, 255, 255, .06);
  border-radius: 14px;
  overflow: hidden;
  background: rgba(5, 7, 13, .24);
}

.role-access-head-modern,
.role-access-row-modern {
  display: grid;
  grid-template-columns: 150px minmax(160px, 1fr) 180px 220px;
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
}

.role-access-head-modern {
  color: #7f8da7;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .1em;
  text-transform: uppercase;
  background: rgba(255, 255, 255, .025);
}

.role-access-row-modern {
  min-height: 62px;
  border-top: 1px solid rgba(255, 255, 255, .055);
}

.role-access-row-modern:hover {
  background: rgba(255, 179, 0, .04);
}

.role-id {
  color: var(--muted);
  font-size: 12px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.admin-group-grid-modern,
.admin-module-grid-modern,
.admin-settings-grid-modern,
.reset-grid-modern {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.admin-group-card,
.admin-module-card-modern,
.admin-setting-card,
.admin-subpanel-modern,
.reset-card-modern {
  border: 1px solid rgba(255, 255, 255, .075);
  border-radius: 15px;
  background: rgba(5, 7, 13, .28);
  padding: 14px;
}

.admin-group-top,
.admin-module-card-modern {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
}

.admin-group-top h4,
.admin-module-card-modern h4,
.reset-card-modern h4 {
  margin: 0 0 5px;
  font-size: 16px;
}

.admin-group-top p,
.admin-module-card-modern p,
.reset-card-modern p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}

.admin-group-top span {
  flex: 0 0 auto;
  border: 1px solid rgba(255, 179, 0, .26);
  border-radius: 999px;
  padding: 5px 8px;
  color: #ffe0a3;
  background: rgba(255, 179, 0, .10);
  font-size: 11px;
  font-weight: 900;
}

.admin-config-list {
  display: grid;
  gap: 8px;
  margin: 12px 0;
}

.admin-config-list div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 9px 10px;
  border: 1px solid rgba(255, 255, 255, .055);
  border-radius: 11px;
  background: rgba(255, 255, 255, .02);
}

.admin-config-list small {
  color: var(--muted);
}

.admin-config-list b {
  text-align: right;
}

.modern-toggle {
  flex: 0 0 auto;
}

.modern-toggle input {
  display: none;
}

.modern-toggle span {
  width: 44px;
  height: 26px;
  display: block;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255, 255, 255, .08);
  position: relative;
}

.modern-toggle span::after {
  content: "";
  position: absolute;
  width: 18px;
  height: 18px;
  top: 3px;
  left: 4px;
  border-radius: 50%;
  background: var(--muted);
  transition: .18s;
}

.modern-toggle input:checked + span {
  border-color: rgba(94, 224, 146, .28);
  background: rgba(94, 224, 146, .14);
}

.modern-toggle input:checked + span::after {
  left: 20px;
  background: var(--green);
}

.admin-setting-card {
  display: grid;
  gap: 9px;
}

.admin-setting-card label {
  color: #dce8fb;
  font-size: 12px;
  font-weight: 900;
}

.admin-setting-card input,
.xp-row-modern input {
  min-height: 38px;
  border: 1px solid rgba(255, 255, 255, .09);
  border-radius: 11px;
  background: rgba(5, 7, 13, .45);
  color: var(--text);
  padding: 0 10px;
}

.admin-subpanel-modern {
  margin-top: 12px;
}

.admin-subpanel-modern.two-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.xp-row-modern {
  display: grid;
  grid-template-columns: 190px 120px minmax(140px, 1fr) 82px 34px;
  gap: 12px;
  align-items: center;
  border-top: 1px solid rgba(255, 255, 255, .055);
  padding: 10px 0;
}

.xp-row-modern label {
  display: grid;
  gap: 4px;
  color: var(--muted);
  font-size: 11px;
}

.reset-card-modern {
  display: grid;
  gap: 12px;
  align-content: start;
}

.reset-card-modern.wide {
  grid-column: 1 / -1;
}

.danger-panel {
  border-color: rgba(255, 91, 119, .20);
}

.admin-info-note,
.admin-warning.modern {
  margin-top: 14px;
  display: flex;
  gap: 12px;
  align-items: center;
  border-radius: 13px;
  padding: 12px 14px;
}

.admin-info-note {
  border: 1px solid rgba(56, 201, 255, .22);
  background: rgba(56, 201, 255, .08);
}

.admin-warning.modern {
  border: 1px solid rgba(255, 179, 0, .32);
  background: rgba(255, 179, 0, .09);
}

.admin-info-note span,
.admin-warning.modern span {
  color: var(--muted);
  font-size: 12px;
}

@media (max-width: 1250px) {
  .admin-modern-page {
    grid-template-columns: 1fr;
  }
  .admin-server-panel {
    position: static;
  }
  .admin-server-stack {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .admin-overview-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .admin-hero,
  .admin-panel-title.modernized {
    flex-direction: column;
  }
  .admin-active-server {
    width: 100%;
    min-width: 0;
  }
  .role-access-head-modern {
    display: none;
  }
  .role-access-row-modern,
  .xp-row-modern {
    grid-template-columns: 1fr;
  }
  .admin-group-grid-modern,
  .admin-module-grid-modern,
  .admin-settings-grid-modern,
  .reset-grid-modern,
  .admin-subpanel-modern.two-cols,
  .admin-server-stack {
    grid-template-columns: 1fr;
  }
}


.server-add-item.active {
  border-color: rgba(50, 210, 255, .55);
  background: rgba(50, 210, 255, .08);
}

.server-add-item.disabled {
  opacity: .58;
  cursor: not-allowed;
}

.server-add-reason {
  color: var(--muted);
  opacity: .85;
}

.server-add-empty {
  border: 1px dashed var(--line);
  border-radius: 14px;
  padding: 16px;
  color: var(--muted);
  background: rgba(255,255,255,.025);
}

.server-add-empty.error {
  color: #ffb8c2;
  border-color: rgba(255,91,119,.35);
  background: rgba(255,91,119,.08);
}

.modal-actions .btn[disabled],
.server-add-item[disabled] {
  pointer-events: none;
}


.server-add-selected.as-button {
  width: 100%;
  text-align: left;
  cursor: pointer;
}

.server-add-dropdown {
  margin-top: 10px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(4, 10, 18, .44);
  padding: 10px;
}

.server-add-status {
  margin-top: 12px;
  border-radius: 16px;
  padding: 12px 14px;
  display: grid;
  gap: 4px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.035);
}

.server-add-status b {
  color: var(--text);
}

.server-add-status span {
  color: var(--muted);
  font-size: 13px;
}

.server-add-status.ok {
  border-color: rgba(74, 222, 128, .34);
  background: rgba(74, 222, 128, .08);
}

.server-add-status.warn {
  border-color: rgba(255, 209, 102, .34);
  background: rgba(255, 209, 102, .08);
}


.server-add-icon,
.admin-server-emblem {
  flex: 0 0 auto;
  overflow: hidden;
}

.server-add-icon img,
.admin-server-emblem img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: inherit;
}

.server-add-copy {
  min-width: 0;
}

.server-add-copy b,
.server-add-copy small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.server-add-item {
  grid-template-columns: auto minmax(0, 1fr) auto;
}


.access-select-wrap {
  position: relative;
  display: block;
  width: 100%;
}

.access-select-native {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
  z-index: 2;
}

.access-select-fake {
  min-height: 44px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 8px 10px;
  background: rgba(255, 255, 255, .035);
}

.access-select-fake small {
  grid-column: 1 / -1;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.25;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.access-select-fake i {
  color: var(--muted);
  font-style: normal;
}

.access-select-wrap:hover .access-select-fake {
  border-color: rgba(255, 209, 102, .35);
  background: rgba(255, 209, 102, .06);
}

.discord-role-dot {
  width: 9px;
  height: 9px;
  display: inline-block;
  border-radius: 99px;
  margin-right: 8px;
  vertical-align: middle;
}


.access-custom-select {
  position: relative;
  min-width: 170px;
}

.access-custom-trigger {
  width: 100%;
  min-height: 38px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 7px 9px;
  background: rgba(255, 255, 255, .035);
  color: var(--text);
  cursor: pointer;
}

.access-custom-trigger:hover,
.access-custom-select.open .access-custom-trigger {
  border-color: rgba(255, 209, 102, .38);
  background: rgba(255, 209, 102, .06);
}

.access-custom-trigger > span:last-child {
  color: var(--muted);
  font-size: 12px;
}

.access-custom-menu {
  position: absolute;
  z-index: 40;
  right: 0;
  top: calc(100% + 8px);
  width: 230px;
  max-height: 320px;
  overflow-y: auto;
  border: 1px solid rgba(255, 209, 102, .24);
  border-radius: 14px;
  padding: 6px;
  background: rgba(9, 15, 25, .98);
  box-shadow: 0 18px 55px rgba(0,0,0,.48);
}

.access-custom-option {
  width: 100%;
  min-height: 36px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 18px;
  align-items: center;
  gap: 8px;
  border: 1px solid transparent;
  border-radius: 10px;
  padding: 6px 8px;
  background: transparent;
  color: var(--text);
  text-align: left;
  cursor: pointer;
}

.access-custom-option:hover,
.access-custom-option.active {
  border-color: rgba(255, 209, 102, .22);
  background: rgba(255, 209, 102, .075);
}

.access-custom-option em {
  color: var(--gold);
  font-style: normal;
  font-weight: 900;
}

.access-select-fake small {
  display: none;
}


/* v73: role mapping dropdown visibility fixes */
.admin-panel-modern,
.role-access-table-modern,
.role-access-row-modern,
.role-access-row-modern > span {
  overflow: visible !important;
}

.role-access-table-modern {
  position: relative;
}

.role-access-row-modern {
  position: relative;
}

.access-custom-select {
  position: relative;
  isolation: isolate;
}

.access-custom-menu {
  z-index: 9999;
}

.role-access-row-modern:nth-last-child(-n + 3) .access-custom-menu {
  top: auto;
  bottom: calc(100% + 8px);
}


.role-mapping-bottom-save {
  position: sticky;
  bottom: 14px;
  z-index: 30;
  margin-top: 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border: 1px solid rgba(255, 209, 102, .25);
  border-radius: 16px;
  padding: 12px 14px;
  background: rgba(13, 18, 28, .96);
  box-shadow: 0 16px 44px rgba(0,0,0,.36);
}

.role-mapping-bottom-save b {
  display: block;
  color: var(--text);
}

.role-mapping-bottom-save span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  margin-top: 2px;
}

.btn.danger {
  border-color: rgba(255, 91, 119, .34);
  color: #ffb8c2;
  background: rgba(255, 91, 119, .08);
}

.btn.danger:hover {
  border-color: rgba(255, 91, 119, .52);
  background: rgba(255, 91, 119, .14);
}


/* v76: role dropdown clickability + no subtitle */
.role-access-table-modern,
.admin-panel-modern,
.role-access-row-modern,
.role-access-row-modern > span {
  overflow: visible !important;
}

.role-access-table-modern {
  position: relative;
  isolation: isolate;
}

.role-access-row-modern {
  position: relative;
  z-index: 1;
}

.role-access-row-modern:has(.access-custom-select.open) {
  z-index: 10050;
}

.role-access-table-modern:has(.access-custom-select.open) .role-access-row-modern:not(:has(.access-custom-select.open)) {
  pointer-events: none;
}

.role-access-table-modern:has(.access-custom-select.open) .role-access-row-modern:has(.access-custom-select.open),
.role-access-table-modern:has(.access-custom-select.open) .role-access-row-modern:has(.access-custom-select.open) * {
  pointer-events: auto;
}

.access-custom-select.open {
  position: relative;
  z-index: 10060;
}

.access-custom-menu {
  pointer-events: auto;
  z-index: 10070;
}

.access-custom-option {
  position: relative;
  z-index: 10080;
}

.role-access-row-modern:nth-last-child(-n + 3) .access-custom-menu {
  top: auto;
  bottom: calc(100% + 8px);
}

.role-mapping-bottom-save span {
  display: none !important;
}


.admin-empty-state.role-empty-state {
  margin-top: 16px;
  border: 1px dashed rgba(148, 163, 184, .24);
  border-radius: 16px;
  padding: 18px;
  background: rgba(255, 255, 255, .025);
}

.admin-empty-state.role-empty-state b {
  display: block;
  color: var(--text);
  font-size: 15px;
  margin-bottom: 5px;
}

.admin-empty-state.role-empty-state span {
  display: block;
  color: var(--muted);
  line-height: 1.45;
  max-width: 760px;
}


/* v103 module status badges: color only the status chip, not the whole pill */
.admin-module-pill.locked {
  border-color: rgba(255, 255, 255, .09) !important;
  background: rgba(255, 255, 255, .03) !important;
}

.admin-module-pill.disabled {
  border-color: rgba(255, 255, 255, .09);
  background: rgba(255, 255, 255, .03);
}

.admin-module-pill.disabled b {
  color: #cbd5e1;
  border: 1px solid rgba(148, 163, 184, .22);
  background: rgba(148, 163, 184, .08);
}

.admin-module-pill.locked b {
  color: #ff8fa3 !important;
  border: 1px solid rgba(244, 63, 94, .34);
  background: rgba(244, 63, 94, .10) !important;
}

.admin-module-pill.green b {
  border: 1px solid rgba(94, 224, 146, .24);
}

.module-state-note.locked {
  color: #ff8fa3 !important;
}

.module-state-note.disabled {
  color: #cbd5e1;
}


/* v243: task settings sticky save must show icon + label and support instant dirty state */
.role-mapping-bottom-save.task-settings-bottom-save.is-hidden{
  display:none !important;
}
.role-mapping-bottom-save.task-settings-bottom-save span{
  display:block !important;
}
.role-mapping-bottom-save.task-settings-bottom-save .task-settings-save-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  white-space:nowrap;
}
.role-mapping-bottom-save.task-settings-bottom-save .task-settings-save-btn span,
.task-settings-save-btn span{
  display:inline !important;
  color:inherit !important;
  font-size:inherit !important;
  margin-top:0 !important;
}
.task-settings-save-btn i{
  flex:0 0 auto;
}

/* v246 — category completion lock settings */
.task-category-lock-panel{
  margin-top:16px;
  padding:14px;
  border:1px solid rgba(56,189,248,.18);
  border-radius:16px;
  background:rgba(8,18,28,.42);
}
.task-category-lock-panel h5{margin:0 0 4px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#dbeafe;}
.task-category-lock-panel p{margin:0 0 12px;color:#9fb1c7;font-size:13px;}
.task-category-lock-list{display:grid;gap:8px;}
.task-category-lock-row{display:grid;grid-template-columns:minmax(170px,1.2fr) 130px 90px 92px minmax(160px,1fr);gap:8px;align-items:center;padding:8px;border:1px solid rgba(148,163,184,.12);border-radius:12px;background:rgba(15,23,42,.34);}
.task-category-lock-row.active{border-color:rgba(245,158,11,.34);background:rgba(245,158,11,.06);}
.task-category-lock-row select,.task-category-lock-row input{min-height:38px;border-radius:10px;border:1px solid rgba(148,163,184,.18);background:rgba(2,6,23,.48);color:#e5f2ff;padding:0 10px;}
.task-category-lock-row input:disabled,.task-category-lock-row select:disabled{opacity:.45;cursor:not-allowed;}
@media (max-width: 980px){.task-category-lock-row{grid-template-columns:1fr 1fr}.task-category-lock-row .task-toggle-line{grid-column:1/-1}}

/* v247 — task settings layout cleanup */
.task-settings-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  align-items:start;
}
.task-settings-wide-grid,
.task-xp-panel,
.task-categories-card{
  grid-column:1 / -1;
}
.task-setting-card-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  margin-bottom:12px;
}
.task-setting-card-head h4{margin:0 0 4px;}
.task-setting-card-head p{margin:0;color:#9fb1c7;}
.task-setting-card-badge{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border:1px solid rgba(56,189,248,.28);
  border-radius:999px;
  background:rgba(56,189,248,.08);
  color:#93e7ff;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}
.task-completion-lock-card{
  border-color:rgba(56,189,248,.18);
  background:linear-gradient(180deg,rgba(8,18,28,.55),rgba(5,7,13,.26));
}
.task-completion-lock-note{
  margin:0 0 12px;
}
.task-category-lock-head{
  display:grid;
  grid-template-columns:minmax(170px,1.2fr) 130px 90px 92px minmax(160px,1fr);
  gap:8px;
  padding:0 8px 2px;
  color:#8fa9c8;
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.task-category-lock-row .task-toggle-line{
  min-width:0;
}
.task-category-lock-row .task-toggle-line span{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
@media (max-width: 980px){
  .task-settings-grid{grid-template-columns:1fr;}
  .task-setting-card-head{flex-direction:column;}
  .task-category-lock-head{display:none;}
}


/* FLOXi v356 - Admin general/maintenance polish */
.admin-maintenance-group-picker{display:grid;gap:8px;margin:12px 0 14px}.admin-maintenance-group-picker>span{color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.maintenance-group-custom-select{width:100%;min-width:0}.maintenance-group-trigger{min-height:58px;padding:10px 12px}.maintenance-group-current{display:grid;gap:3px;min-width:0;text-align:left}.maintenance-group-current b{color:var(--text);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.maintenance-group-current small{color:var(--muted);font-size:11px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.maintenance-group-menu{left:0;right:auto;width:min(340px,100%);z-index:80}.maintenance-group-option{grid-template-columns:minmax(0,1fr) 18px;min-height:54px}.maintenance-group-option-copy{display:grid;gap:3px;min-width:0}.maintenance-group-option-copy b{font-size:13px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.maintenance-group-option-copy small{font-size:11px;color:var(--muted);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.maintenance-group-empty{padding:10px 12px;color:var(--muted);font-size:12px}.flox-dialog-confirm-text{display:grid;gap:7px;margin-top:14px}.flox-dialog-confirm-text span{font-size:12px;font-weight:900;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.flox-dialog-confirm-text input{width:100%;min-height:42px;border:1px solid rgba(255,255,255,.11);border-radius:12px;background:rgba(0,0,0,.22);color:var(--text);padding:10px 12px;outline:none}.flox-dialog-confirm-text input:focus{border-color:rgba(255,179,0,.45);box-shadow:0 0 0 3px rgba(255,179,0,.08)}.flox-dialog-confirm-text small{color:var(--muted);font-size:12px}.general-settings-panel .admin-setting-card select{min-height:42px;border:1px solid rgba(255,255,255,.10);border-radius:12px;background:rgba(0,0,0,.20);color:var(--text);padding:9px 11px;outline:none}.general-settings-panel .admin-setting-card select:focus{border-color:rgba(255,179,0,.42);box-shadow:0 0 0 3px rgba(255,179,0,.08)}


/* FLOXi v357 - General settings custom dropdowns */
.general-custom-select-wrap{width:100%;min-width:0}.general-custom-select{width:100%;min-width:0}.general-custom-trigger{min-height:58px;padding:10px 12px}.general-custom-current{display:grid;gap:3px;min-width:0;text-align:left}.general-custom-current b{color:var(--text);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.general-custom-current small{color:var(--muted);font-size:11px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.general-custom-menu{left:0;right:auto;width:min(360px,100%);z-index:90}.general-custom-option{grid-template-columns:minmax(0,1fr) 18px;min-height:54px}.general-custom-option-copy{display:grid;gap:3px;min-width:0}.general-custom-option-copy b{font-size:13px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.general-custom-option-copy small{font-size:11px;color:var(--muted);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.general-settings-panel .admin-setting-card select{display:none}

/* v358 – general settings searchable FLOXi dropdowns */
.general-settings-panel .admin-setting-card select{display:none!important}
.general-custom-select.searchable{position:relative}
.general-custom-menu.searchable{width:min(420px,100%);max-height:none;padding:8px;display:grid;gap:8px}
.general-custom-search-box{display:flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(0,0,0,.18);padding:0 10px;min-height:42px}
.general-custom-search-box span{opacity:.8;font-size:13px}
.general-custom-search-box input{width:100%;border:0;background:transparent;color:var(--text);outline:0;font-size:13px;font-weight:750;min-width:0}
.general-custom-search-box input::placeholder{color:var(--muted)}
.general-custom-options-scroll{display:grid;gap:4px;max-height:260px;overflow:auto;padding-right:3px}
.general-custom-empty{padding:12px;border:1px dashed rgba(255,255,255,.12);border-radius:12px;color:var(--muted);font-size:12px;font-weight:800;text-align:center;background:rgba(255,255,255,.025)}
.general-settings-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}


/* FLOXi v359 - General settings default tab + clean searchable channel layout */
.general-settings-clean{display:grid;gap:16px;overflow:visible}
.general-settings-head{align-items:flex-start;border-bottom:1px solid rgba(255,255,255,.06);padding-bottom:16px;margin-bottom:0}
.general-settings-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.admin-inline-status{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(255,255,255,.08);border-radius:999px;padding:8px 11px;font-size:12px;font-weight:900;color:var(--muted);background:rgba(255,255,255,.035)}
.admin-inline-status.ok{border-color:rgba(94,224,146,.20);color:#bafad3;background:rgba(94,224,146,.07)}
.admin-inline-status.warn{border-color:rgba(255,179,0,.26);color:#ffdf7e;background:rgba(255,179,0,.08)}
.general-settings-intro{display:flex;gap:13px;align-items:center;border:1px solid rgba(255,255,255,.07);border-radius:18px;background:linear-gradient(135deg,rgba(255,179,0,.06),rgba(255,255,255,.025));padding:14px 15px}
.general-settings-intro-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;border:1px solid rgba(255,179,0,.22);background:rgba(255,179,0,.10);color:#ffdf7e;font-weight:950}
.general-settings-intro b{display:block;color:var(--text);font-size:14px;margin-bottom:2px}.general-settings-intro span{display:block;color:var(--muted);font-size:12px;line-height:1.35}
.general-channel-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px!important}
.general-channel-card{padding:16px!important;border-radius:20px!important;background:linear-gradient(180deg,rgba(13,21,36,.86),rgba(8,13,23,.78))!important;border:1px solid rgba(255,255,255,.07)!important;display:grid;gap:14px;overflow:visible!important}
.general-channel-card-head{display:flex;gap:12px;align-items:flex-start}.general-channel-card-head h4{margin:0 0 4px!important;font-size:17px!important}.general-channel-card-head p{margin:0!important;color:var(--muted);line-height:1.35}
.general-channel-icon{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:13px;font-size:12px;font-weight:950;letter-spacing:.03em;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);color:var(--text)}
.general-channel-icon.task{border-color:rgba(126,231,255,.18);background:rgba(126,231,255,.08);color:#bcefff}.general-channel-icon.stockpile{border-color:rgba(255,179,0,.20);background:rgba(255,179,0,.08);color:#ffdf7e}
.general-channel-field{display:grid!important;gap:8px!important}.general-channel-field>span{color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.general-settings-panel .task-settings-bottom-save{display:none!important}
.general-custom-select-wrap{position:relative}.general-custom-trigger{min-height:62px;border-radius:15px!important;background:rgba(0,0,0,.20)!important;border-color:rgba(255,255,255,.09)!important}.general-custom-trigger:hover{border-color:rgba(255,179,0,.22)!important}.general-custom-select.open .general-custom-trigger{border-color:rgba(255,179,0,.34)!important;box-shadow:0 0 0 3px rgba(255,179,0,.08)}
.general-custom-menu.searchable{top:calc(100% + 8px);left:0;right:0;width:100%;min-width:min(420px,100%);border-radius:16px;border:1px solid rgba(255,255,255,.10);background:linear-gradient(180deg,rgba(12,18,31,.98),rgba(7,11,19,.98));box-shadow:0 22px 60px rgba(0,0,0,.45);z-index:150}.general-custom-search-box{background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.09)}.general-custom-option{border-radius:12px}.general-custom-option.active{border-color:rgba(255,179,0,.28)!important;background:rgba(255,179,0,.08)!important}.general-custom-option em{color:#ffdf7e;font-style:normal;font-weight:950}
@media (max-width: 980px){.general-channel-grid{grid-template-columns:1fr}.general-settings-head{display:grid}.general-settings-actions{justify-content:flex-start}}

/* FLOXi v363 - Admin role mapping card background + expiry channel */
.admin-panel-modern:has(.role-access-table-modern),
.admin-card:has(.role-access-table-modern) {
  background: linear-gradient(180deg, rgba(13,21,36,.86), rgba(8,13,23,.78)) !important;
  border-color: rgba(255,255,255,.07) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025) !important;
}
.role-access-table-modern {
  background: rgba(0,0,0,.18) !important;
  border-color: rgba(255,255,255,.07) !important;
}
.role-access-head-modern {
  background: rgba(255,255,255,.035) !important;
}
.role-access-row-modern {
  background: transparent !important;
}
.role-access-row-modern:hover {
  background: rgba(255,179,0,.045) !important;
}
.general-channel-icon.expiry {
  border-color: rgba(255,104,104,.22);
  background: rgba(255,104,104,.08);
  color: #ffb7b7;
}
.role-mapping-panel {
  background: linear-gradient(180deg, rgba(13,21,36,.86), rgba(8,13,23,.78)) !important;
  border-color: rgba(255,255,255,.07) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025) !important;
}


/* v365 icon polish */
.general-settings-intro-icon i,.general-channel-icon i{font-size:14px;line-height:1;}
.general-channel-icon.language{border-color:rgba(88,178,255,.20);background:rgba(88,178,255,.08);color:#cbe8ff}


/* v366 admin icon cleanup */
.general-custom-search-box span i { color: #ffdf7e; }
.maintenance-group-option-copy b i { margin-right: 7px; color: #ffdf7e; }
.task-setting-tags button i { pointer-events: none; }
.empty-icon i { font-size: 18px; }


/* FLOXi v376 - stockpile expiry alert stage toggles */
.general-channel-card:has(.general-expiry-stages){grid-column:span 2;}
.general-expiry-stages{display:grid;gap:12px;margin-top:2px;padding-top:14px;border-top:1px solid rgba(255,255,255,.07)}
.general-expiry-stages-head{display:grid;gap:3px}
.general-expiry-stages-head b{font-size:13px;color:var(--text)}
.general-expiry-stages-head span{font-size:12px;color:var(--muted);line-height:1.35}
.general-expiry-stage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.general-expiry-stage{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;text-align:left;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.025);border-radius:15px;padding:10px 11px;color:var(--text);cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease}
.general-expiry-stage:hover{border-color:rgba(255,179,0,.22);background:rgba(255,179,0,.045)}
.general-expiry-stage.active{border-color:rgba(94,224,146,.25);background:rgba(94,224,146,.07)}
.general-expiry-stage i{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:rgba(255,255,255,.04);color:#ffdf7e}
.general-expiry-stage.active i{background:rgba(94,224,146,.10);color:#bafad3}
.general-expiry-stage b{display:block;font-size:12px;color:var(--text);margin-bottom:2px}
.general-expiry-stage small{display:block;font-size:11px;color:var(--muted);line-height:1.25}
.general-expiry-stage em{font-style:normal;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--soft);padding:4px 7px;border-radius:999px;background:rgba(255,255,255,.04)}
.general-expiry-stage.active em{color:#bafad3;background:rgba(94,224,146,.10)}
@media(max-width:980px){.general-channel-card:has(.general-expiry-stages){grid-column:auto}.general-expiry-stage-grid{grid-template-columns:1fr}}


/* FLOXi v377 - dropdown viewport safety + expiry icon alignment */
.general-channel-card:has(.general-expiry-stages) .general-channel-card-head{align-items:center;}
.general-channel-card:has(.general-expiry-stages) .general-channel-icon.expiry{align-self:center;}
.general-expiry-stage i{font-family:"Font Awesome 6 Free"!important;font-weight:900!important;}
.general-custom-select{position:relative;}
.general-custom-menu.searchable{max-height:min(430px,calc(100vh - 32px));overflow:hidden;}
.general-custom-select.drop-up .general-custom-menu.searchable{top:auto!important;bottom:calc(100% + 8px)!important;}
.general-custom-options-scroll{max-height:min(330px,42vh);overflow:auto;overscroll-behavior:contain;padding-right:2px;}
.general-custom-select.drop-up .general-custom-options-scroll{max-height:min(330px,42vh);}
@media(max-height:760px){.general-custom-options-scroll{max-height:260px}.general-custom-menu.searchable{max-height:340px}}


/* FLOXi v378 - admin dropdowns are viewport overlays */
.access-custom-menu.flox-dropdown-viewport-menu,
.general-custom-menu.flox-dropdown-viewport-menu,
.maintenance-group-menu.flox-dropdown-viewport-menu,
.server-add-dropdown.flox-dropdown-viewport-menu{
  position: fixed !important;
  right: auto !important;
  bottom: auto !important;
  overflow: auto !important;
  max-width: calc(100vw - 24px) !important;
}
.general-custom-menu.flox-dropdown-viewport-menu.searchable{display:grid;grid-template-rows:auto minmax(0,1fr);}
.general-custom-menu.flox-dropdown-viewport-menu .general-custom-options-scroll{min-height:0;}

/* FLOXi v379 - dedicated XP & Levels admin tab */
.xp-levels-admin{
  display:grid;
  gap:16px;
  overflow:visible;
}
.xp-levels-head{
  align-items:flex-start;
  border-bottom:1px solid rgba(255,255,255,.06);
  padding-bottom:16px;
  margin-bottom:0;
}
.xp-levels-overview{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.xp-overview-card{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:78px;
  padding:14px;
  border:1px solid rgba(255,255,255,.075);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(13,21,36,.72),rgba(7,11,19,.52));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
  color:inherit;
  text-align:left;
  font:inherit;
  cursor:pointer;
  transition:border-color .16s ease, background .16s ease, transform .16s ease, opacity .16s ease;
}
.xp-overview-card:hover{
  transform:translateY(-1px);
  border-color:rgba(126,231,255,.18);
  background:linear-gradient(180deg,rgba(16,27,45,.82),rgba(7,11,19,.58));
}
.xp-overview-card.active{
  border-color:rgba(255,179,0,.38);
  background:linear-gradient(135deg,rgba(255,179,0,.13),rgba(13,21,36,.68));
}
.xp-overview-card.planned{
  opacity:.86;
}
.xp-overview-icon{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  flex:0 0 42px;
  border-radius:14px;
  border:1px solid rgba(255,179,0,.20);
  background:rgba(255,179,0,.08);
  color:#ffdf7e;
}
.xp-overview-card b{
  display:block;
  color:var(--text);
  font-size:14px;
  margin-bottom:3px;
}
.xp-overview-card small{
  display:block;
  color:var(--muted);
  font-size:12px;
  line-height:1.35;
}
.xp-levels-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  align-items:start;
}
.xp-levels-grid .xp-standalone-card,
.xp-levels-grid .xp-module-full{
  grid-column:1 / -1;
}
.xp-levels-grid .xp-standalone-card{
  border-color:rgba(255,179,0,.18);
  background:linear-gradient(180deg,rgba(16,24,38,.92),rgba(8,13,23,.76));
}
.xp-module-placeholder{
  min-height:190px;
  display:grid;
  gap:14px;
  align-content:start;
  border-color:rgba(255,255,255,.075)!important;
  background:linear-gradient(180deg,rgba(13,21,36,.72),rgba(7,11,19,.56))!important;
}
.xp-module-placeholder.locked{
  border-color:rgba(255,104,104,.20)!important;
  background:linear-gradient(180deg,rgba(47,18,22,.42),rgba(7,11,19,.62))!important;
}
.xp-placeholder-head{
  display:flex;
  gap:12px;
  align-items:flex-start;
}
.xp-placeholder-head>span{
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  flex:0 0 40px;
  border-radius:14px;
  border:1px solid rgba(126,231,255,.18);
  background:rgba(126,231,255,.07);
  color:#bcefff;
}
.xp-placeholder-head h4{
  margin:0 0 4px!important;
}
.xp-placeholder-head p{
  margin:0!important;
  color:var(--muted);
  line-height:1.42;
}
.xp-placeholder-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.xp-placeholder-list-wide{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.xp-placeholder-list>div{
  padding:11px 12px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:14px;
  background:rgba(0,0,0,.18);
}
.xp-placeholder-list small{
  display:block;
  color:var(--muted);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:4px;
}
.xp-placeholder-list b{
  color:var(--text);
  font-size:13px;
}
@media (max-width: 1100px){
  .xp-levels-overview,
  .xp-levels-grid,
  .xp-placeholder-list-wide{grid-template-columns:1fr;}
  .xp-levels-head{display:grid;}
}

/* FLOXi v381 - XP settings prepared for Stockpiles and Levels */
.xp-settings-card{
  display:grid;
  gap:16px;
  border-color:rgba(255,179,0,.16)!important;
  background:linear-gradient(180deg,rgba(16,24,38,.92),rgba(8,13,23,.76))!important;
}
.xp-settings-section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding-bottom:14px;
  border-bottom:1px solid rgba(255,255,255,.065);
}
.xp-settings-layout{
  display:grid;
  gap:14px;
}
.xp-settings-box{
  display:grid;
  gap:14px;
  padding:15px;
  border:1px solid rgba(255,255,255,.075);
  border-radius:18px;
  background:rgba(0,0,0,.16);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02);
}
.xp-settings-box.anti-abuse{
  border-color:rgba(94,224,146,.14);
  background:linear-gradient(135deg,rgba(94,224,146,.045),rgba(0,0,0,.16));
}
.xp-settings-box.leaderboard{
  border-color:rgba(126,231,255,.14);
  background:linear-gradient(135deg,rgba(126,231,255,.045),rgba(0,0,0,.16));
}
.xp-settings-box-title{
  display:flex;
  align-items:flex-start;
  gap:11px;
}
.xp-settings-box-title i{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  flex:0 0 34px;
  border-radius:12px;
  border:1px solid rgba(255,179,0,.20);
  background:rgba(255,179,0,.08);
  color:#ffdf7e;
  font-size:13px;
}
.xp-settings-box-title b{
  display:block;
  color:var(--text);
  font-size:14px;
  margin-bottom:2px;
}
.xp-settings-box-title small{
  display:block;
  color:var(--muted);
  font-size:12px;
  line-height:1.35;
}
.xp-setting-fields{
  display:grid;
  gap:12px;
}
.xp-setting-fields.two{grid-template-columns:repeat(2,minmax(0,1fr));}
.xp-setting-fields.three{grid-template-columns:repeat(3,minmax(0,1fr));}
.xp-setting-field{
  display:grid;
  gap:7px;
  min-width:0;
}
.xp-setting-field.full{grid-column:1 / -1;}
.xp-setting-field>span{
  color:var(--muted);
  font-size:11px;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.xp-setting-field input,
.xp-setting-field select,
.xp-setting-field textarea{
  width:100%;
  min-height:42px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:13px;
  background:rgba(0,0,0,.22);
  color:var(--text);
  padding:10px 12px;
  outline:none;
  font:inherit;
  font-weight:750;
}
.xp-setting-field textarea{
  resize:vertical;
  min-height:130px;
  line-height:1.45;
  font-weight:700;
}
.xp-setting-field input:focus,
.xp-setting-field select:focus,
.xp-setting-field textarea:focus{
  border-color:rgba(255,179,0,.38);
  box-shadow:0 0 0 3px rgba(255,179,0,.08);
}
.xp-setting-field small{
  color:var(--muted);
  font-size:11px;
  line-height:1.3;
}
.xp-toggle-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.xp-mini-toggle{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:46px;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  background:rgba(255,255,255,.025);
  color:var(--muted);
  font:inherit;
  font-weight:900;
  cursor:pointer;
  text-align:left;
}
.xp-mini-toggle i{
  color:#ffdf7e;
}
.xp-mini-toggle.active{
  border-color:rgba(94,224,146,.25);
  background:rgba(94,224,146,.07);
  color:#d8ffe7;
}
.xp-settings-bottom-save{
  position:sticky;
  bottom:12px;
  z-index:20;
}
@media(max-width:1100px){
  .xp-settings-section-head{display:grid;}
  .xp-setting-fields.two,
  .xp-setting-fields.three,
  .xp-toggle-grid{grid-template-columns:1fr;}
}

/* FLOXi v382 - Stockpile XP cards with global DB defaults */
.stockpile-xp-settings .task-xp-table{
  grid-column:1 / -1;
}
.stockpile-xp-rule-card{
  border-color:rgba(94,224,146,.16)!important;
  background:linear-gradient(180deg,rgba(12,24,28,.78),rgba(8,13,23,.72))!important;
}
.stockpile-xp-rule-card .task-category-icon{
  border-color:rgba(94,224,146,.20);
  background:rgba(94,224,146,.08);
  color:#b9ffd4;
}
.stockpile-xp-rule-desc{
  margin:8px 0 0;
  color:var(--muted);
  font-size:12px;
  line-height:1.38;
}
.stockpile-xp-global-note{
  border-color:rgba(255,179,0,.18);
  background:linear-gradient(135deg,rgba(255,179,0,.075),rgba(0,0,0,.14));
}
.stockpile-xp-cooldowns{
  margin-top:2px;
}

/* FLOXi v386 - unify XP section toggle widths */
.task-xp-settings .xp-settings-section-head > .task-xp-enable.inline{
  width:min(360px,100%);
  max-width:360px;
  margin-top:0;
  flex:0 0 min(360px,100%);
  align-self:center;
}
@media(max-width:1100px){
  .task-xp-settings .xp-settings-section-head > .task-xp-enable.inline{
    width:100%;
    max-width:none;
    flex:1 1 auto;
  }
}

/* FLOXi v387 - role mapping tips + stockpile creator edit */
.role-mapping-tip{
  display:grid;
  gap:12px;
  margin:0 0 14px;
  padding:14px;
  border:1px solid rgba(126,231,255,.16);
  border-radius:18px;
  background:linear-gradient(135deg,rgba(126,231,255,.055),rgba(0,0,0,.14));
}
.role-mapping-tip-head{
  display:flex;
  align-items:flex-start;
  gap:11px;
}
.role-mapping-tip-head>i{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  flex:0 0 34px;
  border:1px solid rgba(126,231,255,.20);
  border-radius:12px;
  background:rgba(126,231,255,.08);
  color:#bcefff;
}
.role-mapping-tip-head b{display:block;color:var(--text);font-size:14px;margin-bottom:2px;}
.role-mapping-tip-head span{display:block;color:var(--muted);font-size:12px;line-height:1.4;}
.role-mapping-tip-list{display:flex;flex-wrap:wrap;gap:8px;}
.role-tip-pill{
  display:inline-flex!important;
  flex-direction:column;
  align-items:flex-start!important;
  gap:2px!important;
  max-width:260px;
  white-space:normal!important;
  line-height:1.25;
}
.role-tip-pill small{display:block;color:rgba(226,232,240,.72);font-size:10px;font-weight:750;}
.access-custom-option-copy{display:grid;gap:4px;min-width:0;}
.access-custom-option-copy small{color:var(--muted);font-size:11px;line-height:1.3;text-align:left;}
.stockpile-form-subcard{
  display:grid;
  gap:12px;
  padding:13px;
  border:1px solid rgba(126,231,255,.16);
  border-radius:16px;
  background:linear-gradient(135deg,rgba(126,231,255,.045),rgba(0,0,0,.16));
}
.stockpile-form-subcard-head{display:flex;align-items:flex-start;gap:10px;}
.stockpile-form-subcard-head i{display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;border:1px solid rgba(126,231,255,.20);border-radius:11px;background:rgba(126,231,255,.08);color:#bcefff;}
.stockpile-form-subcard-head b{display:block;color:var(--text);font-size:13px;margin-bottom:2px;}
.stockpile-form-subcard-head span{display:block;color:var(--muted);font-size:12px;line-height:1.35;}

/* FLOXi v388 - clearer role mapping tip cards */
.role-mapping-tip-v2 .role-mapping-tip-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:10px;
}
.role-tip-card{
  display:grid;
  gap:8px;
  align-content:start;
  min-height:92px;
  padding:12px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:15px;
  background:rgba(255,255,255,.028);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
.role-tip-card.green{border-color:rgba(94,224,146,.20);background:rgba(94,224,146,.045);}
.role-tip-card.violet{border-color:rgba(167,139,250,.20);background:rgba(167,139,250,.045);}
.role-tip-card.gold{border-color:rgba(255,179,0,.24);background:rgba(255,179,0,.055);}
.role-tip-card.cyan{border-color:rgba(126,231,255,.20);background:rgba(126,231,255,.045);}
.role-tip-card.orange{border-color:rgba(251,146,60,.22);background:rgba(251,146,60,.045);}
.role-tip-card.blue{border-color:rgba(96,165,250,.20);background:rgba(96,165,250,.045);}
.role-tip-card p{
  margin:0;
  color:var(--muted);
  font-size:12px;
  line-height:1.38;
}
.role-tip-card .access-pill{
  width:max-content;
  max-width:100%;
}

/* FLOXi v389 - XP subtab module access state */
.xp-module-access-card{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:16px;
  min-height:150px;
  border-color:rgba(244,63,94,.20)!important;
  background:
    radial-gradient(circle at 0% 0%,rgba(244,63,94,.09),transparent 30%),
    linear-gradient(180deg,rgba(16,24,36,.78),rgba(8,13,22,.78))!important;
}
.xp-module-access-card.disabled{
  border-color:rgba(255,179,0,.18)!important;
  background:
    radial-gradient(circle at 0% 0%,rgba(255,179,0,.08),transparent 32%),
    linear-gradient(180deg,rgba(16,24,36,.78),rgba(8,13,22,.78))!important;
}
.xp-module-access-icon{
  color:#ffd37a;
}
.xp-module-access-copy h3{
  margin:4px 0 8px;
}
.xp-module-access-copy p{
  margin:0;
  color:var(--muted);
  line-height:1.55;
}
.xp-module-access-target{
  display:inline-flex;
  align-items:center;
  gap:9px;
  flex-wrap:wrap;
  margin-top:13px;
  padding:8px 11px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:999px;
  background:rgba(255,255,255,.035);
}
.xp-module-access-target b{
  color:var(--text);
}
.xp-module-access-target span{
  color:var(--muted);
  font-size:12px;
}
@media(max-width:720px){
  .xp-module-access-card{grid-template-columns:1fr;align-items:start;}
  .xp-module-access-target{border-radius:14px;align-items:flex-start;}
}

/* FLOXi v391 - Stockpile XP cooldown sliders */
.stockpile-cooldown-grid{
  align-items:start;
}
.xp-hours-slider-field{
  gap:9px;
}
.xp-hours-slider-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.xp-hours-slider-head strong{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:64px;
  min-height:30px;
  border:1px solid rgba(126,231,255,.20);
  border-radius:999px;
  background:rgba(126,231,255,.07);
  color:#c9f3ff;
  font-size:13px;
  font-weight:950;
}
.xp-hours-slider-head em{
  color:var(--muted);
  font-style:normal;
  font-size:11px;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.xp-hours-slider-wrap{
  display:grid;
  gap:6px;
}
.xp-hours-slider-labels{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  color:#8fa9c8;
  font-size:10px;
  font-weight:900;
  letter-spacing:.04em;
}
.xp-hours-slider-labels span:nth-child(2),
.xp-hours-slider-labels span:nth-child(3),
.xp-hours-slider-labels span:nth-child(4){text-align:center;}
.xp-hours-slider-labels span:last-child{text-align:right;}
.xp-hours-slider{
  width:100%;
  min-height:28px;
  cursor:grab;
  accent-color:#38c9ff;
}
.xp-hours-slider:active{cursor:grabbing;}
.xp-hours-number{
  max-width:120px;
}

/* FLOXi v392 - Levels XP preview and rank editor */
.levels-xp-settings .admin-info-note.muted{
  margin-top:0;
  border-color:rgba(148,163,184,.14);
  background:rgba(148,163,184,.045);
}
.xp-level-preview{
  display:grid;
  gap:12px;
  margin-top:14px;
  padding:14px;
  border:1px solid rgba(126,231,255,.12);
  border-radius:16px;
  background:linear-gradient(135deg,rgba(126,231,255,.045),rgba(0,0,0,.14));
}
.xp-level-preview-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.xp-level-preview-head b{color:var(--text);font-size:14px;}
.xp-level-preview-head span{color:var(--muted);font-size:12px;line-height:1.35;text-align:right;}
.xp-level-preview-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
}
.xp-level-preview-row{
  display:grid;
  gap:4px;
  min-height:72px;
  padding:10px 11px;
  border:1px solid rgba(255,255,255,.075);
  border-radius:14px;
  background:rgba(0,0,0,.18);
}
.xp-level-preview-row span{
  color:#9fb1c7;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.xp-level-preview-row b{color:#ffdf7e;font-size:15px;}
.xp-level-preview-row small{color:var(--muted);font-size:11px;line-height:1.25;}
.xp-rank-editor{display:grid;gap:10px;}
.xp-rank-row{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) 42px;
  gap:9px;
  align-items:center;
}
.xp-rank-row>span{
  display:grid;
  place-items:center;
  min-height:42px;
  border:1px solid rgba(255,179,0,.20);
  border-radius:13px;
  background:rgba(255,179,0,.08);
  color:#ffdf7e;
  font-weight:950;
}
.xp-rank-row input{
  width:100%;
  min-height:42px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:13px;
  background:rgba(0,0,0,.22);
  color:var(--text);
  padding:10px 12px;
  outline:none;
  font:inherit;
  font-weight:750;
}
.xp-rank-row input:focus{
  border-color:rgba(255,179,0,.38);
  box-shadow:0 0 0 3px rgba(255,179,0,.08);
}
.xp-rank-remove{
  min-height:42px;
  padding:0;
  justify-content:center;
}
.xp-rank-add{
  justify-self:start;
  margin-top:2px;
}
@media(max-width:1100px){
  .xp-level-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .xp-level-preview-head{display:grid;}
  .xp-level-preview-head span{text-align:left;}
}
@media(max-width:560px){
  .xp-level-preview-grid{grid-template-columns:1fr;}
}

/* FLOXi v393 - global level curve moved out of server settings */
.xp-global-level-curve-note{
  border-color:rgba(126,231,255,.16);
  background:linear-gradient(135deg,rgba(126,231,255,.055),rgba(0,0,0,.16));
}
.xp-global-curve-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.xp-global-curve-summary>div{
  display:grid;
  gap:5px;
  min-height:64px;
  padding:12px;
  border:1px solid rgba(255,255,255,.075);
  border-radius:15px;
  background:rgba(0,0,0,.18);
}
.xp-global-curve-summary small{
  color:#9fb1c7;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.xp-global-curve-summary b{
  color:#ffdf7e;
  font-size:15px;
}
@media(max-width:760px){
  .xp-global-curve-summary{grid-template-columns:1fr;}
}
