:root {
  --rh-accent: #ef233c;
  --rh-accent-2: #c9162c;
  --rh-accent-bright: #ff4f63;
  --rh-accent-deep: #8e0e20;
  --rh-accent-rgb: 239, 35, 60;
  --bg: #0b0b0d;
  --surface: #15151a;
  --surface-2: #1b1b21;
  --border: #292930;
  --text: #ffffff;
  --muted: #92929d;
  --red: var(--rh-accent);
  --green: #2ecc71;
  --danger: #e74c3c;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  min-height: 100vh;
  font-family: Inter, Arial, sans-serif;
  background: var(--bg);
  color: var(--text);
}

a {
  color: inherit;
}

.app-shell {
  min-height: 100vh;
  display: flex;
}

.sidebar {
  width: 260px;
  min-height: 100vh;
  background: #121216;
  border-right: 1px solid var(--border);
  padding: 25px 18px;
}

.logo {
  font-size: 24px;
  font-weight: 800;
  letter-spacing: 0.5px;
  margin-bottom: 35px;
  padding: 0 10px;
}

.logo span {
  color: var(--rh-accent);
}

.nav-title {
  color: #777783;
  font-size: 12px;
  text-transform: uppercase;
  margin: 20px 10px 10px;
}

.nav-link {
  display: block;
  color: #cfcfd6;
  text-decoration: none;
  padding: 12px 14px;
  margin-bottom: 6px;
  border-radius: 8px;
  transition: 0.2s ease;
}

.nav-link:hover,
.nav-link.active {
  background: #24242b;
  color: #fff;
}

.nav-link.disabled {
  cursor: not-allowed;
  opacity: 0.45;
}

.main {
  flex: 1;
  min-width: 0;
  padding: 35px;
}

.topbar {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: center;
  margin-bottom: 35px;
}

.topbar h1 {
  font-size: 30px;
}

.topbar p,
.panel-header p {
  color: var(--muted);
  margin-top: 7px;
}

.server-badge {
  background: var(--surface-2);
  border: 1px solid #32323a;
  padding: 10px 15px;
  border-radius: 8px;
  color: #d8d8de;
  white-space: nowrap;
}

.cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 20px;
  margin-bottom: 30px;
}

.card,
.panel {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 12px;
}

.card {
  padding: 22px;
}

.card-label {
  color: var(--muted);
  font-size: 14px;
  margin-bottom: 10px;
}

.card-value {
  font-size: 26px;
  font-weight: 800;
}

.success {
  color: var(--green);
}

.panel {
  padding: 25px;
}

.panel-header {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: center;
  margin-bottom: 20px;
}

.panel h2 {
  font-size: 20px;
}

.table-wrap {
  overflow-x: auto;
}

table {
  width: 100%;
  border-collapse: collapse;
}

th,
td {
  padding: 14px;
  text-align: left;
  border-bottom: 1px solid var(--border);
  white-space: nowrap;
}

th {
  color: var(--muted);
  font-size: 13px;
}

.status {
  display: inline-block;
  padding: 5px 10px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
}

.online {
  background: rgba(46, 204, 113, 0.15);
  color: var(--green);
}

.offline {
  background: rgba(var(--rh-accent-rgb), 0.15);
  color: var(--danger);
}

.empty-state {
  color: var(--muted);
  text-align: center;
}

.settings-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.field {
  display: grid;
  gap: 8px;
}

.field span {
  color: #d7d7dd;
  font-size: 14px;
}

.field input,
.field select {
  width: 100%;
  border: 1px solid #34343c;
  background: #101014;
  color: #fff;
  border-radius: 8px;
  padding: 12px;
}

.notice {
  margin-top: 22px;
  padding: 14px 16px;
  border: 1px solid rgba(var(--rh-accent-rgb), 0.35);
  background: rgba(var(--rh-accent-rgb), 0.08);
  border-radius: 8px;
  color: #e7c6c7;
}

.standalone {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
}

.narrow {
  width: min(520px, 100%);
  text-align: center;
}

.narrow p {
  color: var(--muted);
  margin: 12px 0 22px;
}

.error-code {
  color: var(--rh-accent);
  font-size: 62px;
  font-weight: 900;
}

.button {
  display: inline-block;
  text-decoration: none;
  background: var(--rh-accent);
  color: white;
  padding: 11px 16px;
  border-radius: 8px;
}

@media (max-width: 800px) {
  .app-shell {
    display: block;
  }

  .sidebar {
    width: 100%;
    min-height: auto;
  }

  .main {
    padding: 20px;
  }

  .topbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .settings-grid {
    grid-template-columns: 1fr;
  }
}


.alert {
  margin-bottom: 20px;
  padding: 14px 16px;
  border-radius: 9px;
  border: 1px solid transparent;
}

.success-alert {
  color: #bdf4d1;
  background: rgba(46, 204, 113, 0.12);
  border-color: rgba(46, 204, 113, 0.35);
}

.error-alert {
  color: #ffc4c4;
  background: rgba(var(--rh-accent-rgb), 0.12);
  border-color: rgba(var(--rh-accent-rgb), 0.35);
}

.warning-alert {
  color: #ffe4a6;
  background: rgba(241, 196, 15, 0.11);
  border-color: rgba(241, 196, 15, 0.32);
}

.form-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 24px;
}

.button-submit {
  border: 0;
  cursor: pointer;
  font: inherit;
}


.topbar-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.user-menu {
  display: flex;
  align-items: center;
  gap: 10px;
  background: var(--surface-2);
  border: 1px solid #32323a;
  border-radius: 10px;
  padding: 7px 9px;
}

.user-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  object-fit: cover;
}

.user-avatar.fallback {
  display: grid;
  place-items: center;
  background: var(--rh-accent);
  font-weight: 800;
}

.user-copy {
  display: grid;
  min-width: 110px;
}

.user-copy strong {
  font-size: 13px;
}

.user-copy span {
  color: var(--muted);
  font-size: 11px;
}

.logout-button {
  border: 1px solid #3b3b44;
  background: #101014;
  color: #dddde3;
  padding: 7px 9px;
  border-radius: 7px;
  cursor: pointer;
}

.login-page {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
  background:
    radial-gradient(circle at top, rgba(var(--rh-accent-rgb), 0.16), transparent 35%),
    var(--bg);
}

.login-card {
  width: min(470px, 100%);
  background: rgba(21, 21, 26, 0.96);
  border: 1px solid var(--border);
  border-radius: 18px;
  padding: 38px;
  text-align: center;
  box-shadow: 0 25px 80px rgba(0, 0, 0, 0.35);
}

.login-logo {
  font-size: 30px;
  font-weight: 900;
  letter-spacing: 1px;
}

.login-logo span {
  color: var(--rh-accent);
}

.login-kicker {
  color: var(--muted);
  letter-spacing: 3px;
  font-size: 11px;
  margin: 4px 0 30px;
}

.login-card h1 {
  font-size: 28px;
  margin-bottom: 10px;
}

.login-card > p {
  color: var(--muted);
  margin-bottom: 25px;
}

.discord-button {
  display: block;
  width: 100%;
  background: #5865f2;
  color: #fff;
  text-decoration: none;
  font-weight: 800;
  padding: 14px 18px;
  border-radius: 9px;
  transition: transform 0.2s ease, filter 0.2s ease;
}

.discord-button:hover {
  transform: translateY(-1px);
  filter: brightness(1.07);
}

.login-note {
  color: #777783;
  font-size: 12px;
  line-height: 1.55;
  margin-top: 20px;
}

@media (max-width: 800px) {
  .topbar-actions {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
  }

  .user-menu {
    justify-content: space-between;
  }
}


.access-section {
  margin-top: 28px;
}

.roles-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 10px;
}

.role-option {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  padding: 11px 13px;
  border: 1px solid #303038;
  background: #101014;
  border-radius: 9px;
  cursor: pointer;
  transition: 0.2s ease;
}

.role-option:hover {
  border-color: #4a4a55;
  background: #17171c;
}

.role-option input {
  width: 17px;
  height: 17px;
  accent-color: var(--rh-accent);
}

.role-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.25);
  background: #99aab5;
}

.role-name {
  flex: 1;
  font-weight: 700;
  font-size: 14px;
}

.role-managed {
  color: var(--muted);
  font-size: 11px;
  border: 1px solid #35353d;
  border-radius: 999px;
  padding: 3px 7px;
}

.role-empty {
  grid-column: 1 / -1;
  padding: 28px;
  border: 1px dashed #34343c;
  border-radius: 9px;
}


.permission-table-wrap {
  overflow: auto;
  max-height: 65vh;
  border: 1px solid var(--border);
  border-radius: 10px;
}

.permission-table {
  min-width: 980px;
}

.permission-table th {
  position: sticky;
  top: 0;
  z-index: 3;
  background: #19191f;
  vertical-align: bottom;
  min-width: 150px;
}

.permission-table .sticky-column {
  position: sticky;
  left: 0;
  z-index: 2;
  background: #15151a;
  min-width: 220px;
}

.permission-table thead .sticky-column {
  z-index: 4;
  background: #19191f;
}

.permission-group {
  display: block;
  color: var(--rh-accent);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.7px;
  margin-bottom: 5px;
}

.permission-cell {
  text-align: center;
}

.permission-cell input {
  width: 19px;
  height: 19px;
  accent-color: var(--rh-accent);
  cursor: pointer;
}

.matrix-role {
  display: flex;
  align-items: center;
  gap: 10px;
}

.matrix-hint {
  margin-top: 18px;
  padding: 13px 15px;
  border: 1px solid rgba(241, 196, 15, 0.3);
  background: rgba(241, 196, 15, 0.08);
  color: #ffe4a6;
  border-radius: 8px;
}

.required-permission {
  margin: 0 0 22px;
  color: var(--muted);
}

.required-permission code {
  color: #fff;
  background: #0d0d11;
  border: 1px solid var(--border);
  border-radius: 5px;
  padding: 3px 6px;
}


.count-badge {
  color: var(--muted);
  border: 1px solid #35353d;
  border-radius: 999px;
  padding: 7px 11px;
  font-size: 12px;
}

.user-table-cell {
  display: flex;
  align-items: center;
  gap: 11px;
}

.user-table-cell > div:last-child {
  display: grid;
  gap: 3px;
}

.user-table-cell span {
  color: var(--muted);
  font-size: 12px;
}

.small-button {
  padding: 7px 10px;
  font-size: 12px;
}

.profile-card {
  margin-bottom: 22px;
}

.profile-header {
  display: flex;
  align-items: center;
  gap: 18px;
}

.profile-avatar {
  width: 76px;
  height: 76px;
  border-radius: 50%;
  object-fit: cover;
}

.profile-avatar.fallback {
  display: grid;
  place-items: center;
  background: var(--rh-accent);
  font-size: 28px;
  font-weight: 900;
}

.profile-header p {
  color: var(--muted);
  margin: 5px 0 8px;
}

.profile-header code {
  color: #d9d9df;
  background: #0d0d11;
  border: 1px solid var(--border);
  border-radius: 5px;
  padding: 4px 7px;
}

.profile-status {
  margin-left: auto;
}

.user-section {
  margin-top: 22px;
}

.override-grid {
  display: grid;
  gap: 10px;
}

.override-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border: 1px solid #303038;
  background: #101014;
  border-radius: 9px;
  padding: 13px 15px;
}

.override-row > div {
  display: grid;
  gap: 5px;
}

.override-row span {
  color: var(--muted);
  font-size: 12px;
}

.override-row select {
  width: 160px;
  border: 1px solid #34343c;
  background: #17171c;
  color: #fff;
  border-radius: 8px;
  padding: 10px;
}

.danger-panel {
  border-color: rgba(var(--rh-accent-rgb), 0.35);
}

.danger-button {
  border: 1px solid rgba(var(--rh-accent-rgb), 0.6);
  background: rgba(var(--rh-accent-rgb), 0.16);
  color: #ffb7b0;
  padding: 11px 16px;
  border-radius: 8px;
  cursor: pointer;
  font: inherit;
  font-weight: 700;
}

.neutral-button {
  border: 1px solid #3b3b44;
  background: #101014;
}

.left-actions {
  justify-content: flex-start;
}

.blocked-reason {
  color: #ffb7b0;
  margin-bottom: 18px;
}

@media (max-width: 700px) {
  .profile-header,
  .override-row {
    align-items: flex-start;
    flex-direction: column;
  }

  .profile-status {
    margin-left: 0;
  }

  .override-row select {
    width: 100%;
  }
}


.log-filters {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) minmax(220px, 320px) auto;
  gap: 16px;
  align-items: end;
}

.filter-actions {
  display: flex;
  gap: 10px;
}

.log-panel {
  margin-top: 22px;
}

.log-actor,
.log-target {
  display: grid;
  gap: 4px;
}

.log-actor span,
.log-target span {
  color: var(--muted);
  font-size: 11px;
}

.log-target code {
  color: #e1e1e6;
  font-size: 11px;
}

.action-badge {
  display: inline-block;
  background: rgba(88, 101, 242, 0.14);
  color: #aeb5ff;
  border: 1px solid rgba(88, 101, 242, 0.28);
  border-radius: 999px;
  padding: 5px 9px;
  font-size: 12px;
  white-space: nowrap;
}

.log-details summary {
  cursor: pointer;
  color: #c9c9d0;
}

.log-details pre {
  margin-top: 8px;
  max-width: 480px;
  max-height: 260px;
  overflow: auto;
  background: #0c0c10;
  border: 1px solid var(--border);
  border-radius: 7px;
  padding: 10px;
  color: #d7d7dd;
  font-size: 11px;
  white-space: pre-wrap;
}

.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 18px;
  margin-top: 22px;
}

.pagination a {
  text-decoration: none;
  background: #101014;
  border: 1px solid #35353d;
  border-radius: 7px;
  padding: 8px 11px;
}

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

@media (max-width: 900px) {
  .log-filters {
    grid-template-columns: 1fr;
  }

  .filter-actions {
    flex-wrap: wrap;
  }
}


.module-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 18px;
}

.module-card {
  display: flex;
  flex-direction: column;
  min-height: 300px;
  padding: 20px;
  border: 1px solid #303038;
  border-radius: 12px;
  background: linear-gradient(180deg, #17171c 0%, #111116 100%);
}

.module-card.module-enabled {
  border-color: rgba(46, 204, 113, 0.4);
  box-shadow: 0 0 0 1px rgba(46, 204, 113, 0.06);
}

.module-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.module-icon,
.module-detail-icon {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border-radius: 12px;
  background: #0c0c10;
  border: 1px solid #303038;
  font-size: 25px;
}

.module-category {
  margin-top: 17px;
  color: var(--rh-accent);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.8px;
}

.module-card h2 {
  margin: 7px 0 8px;
}

.module-card p {
  color: var(--muted);
  line-height: 1.55;
  flex: 1;
}

.module-meta {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  color: var(--muted);
  font-size: 11px;
  margin: 18px 0 14px;
}

.development-badge {
  color: #f2d38c;
}

.module-button {
  text-align: center;
}

.module-detail-header {
  display: flex;
  align-items: center;
  gap: 18px;
}

.module-detail-header .module-category {
  margin-top: 0;
}

.module-detail-header h2 {
  margin: 6px 0;
}

.module-detail-header p {
  margin: 0;
  color: var(--muted);
}

.module-detail-status {
  margin-left: auto;
}

.toggle-setting {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  padding: 15px 0;
  border-bottom: 1px solid #2b2b32;
}

.toggle-setting > div {
  display: grid;
  gap: 5px;
}

.toggle-setting span {
  color: var(--muted);
  font-size: 12px;
}

.toggle-setting select {
  width: 170px;
  background: #121217;
  color: #fff;
  border: 1px solid #35353d;
  border-radius: 8px;
  padding: 10px;
}

.coming-soon-box {
  display: grid;
  gap: 7px;
  padding: 18px;
  border: 1px dashed #3b3b44;
  border-radius: 10px;
  background: #0f0f13;
}

.coming-soon-box span {
  color: var(--muted);
}

@media (max-width: 700px) {
  .module-detail-header,
  .toggle-setting {
    align-items: flex-start;
    flex-direction: column;
  }

  .module-detail-status {
    margin-left: 0;
  }

  .toggle-setting select {
    width: 100%;
  }

  .module-meta {
    flex-direction: column;
  }
}


.ticket-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-bottom: 20px;
}

.ticket-stat {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 18px;
  border: 1px solid #303038;
  border-radius: 10px;
  background: #15151a;
  text-decoration: none;
}

.ticket-stat span {
  color: var(--muted);
}

.ticket-stat strong {
  font-size: 24px;
}

.ticket-toolbar {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
}

.ticket-filters,
.ticket-actions {
  display: flex;
  gap: 10px;
}

.ticket-filters input {
  min-width: 260px;
}

.ticket-status,
.priority {
  display: inline-block;
  border-radius: 999px;
  padding: 5px 9px;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.status-open {
  color: #8bd6ff;
  background: rgba(52, 152, 219, 0.14);
}

.status-accepted {
  color: #8ff0b3;
  background: rgba(46, 204, 113, 0.14);
}

.status-closed {
  color: #dedee4;
  background: rgba(149, 165, 166, 0.14);
}

.status-archived {
  color: #d3b6ff;
  background: rgba(155, 89, 182, 0.14);
}

.priority-low {
  color: #b7c7d9;
  background: rgba(127, 140, 141, 0.14);
}

.priority-normal {
  color: #f4db8e;
  background: rgba(241, 196, 15, 0.14);
}

.priority-high {
  color: var(--rh-accent-bright);
  background: rgba(var(--rh-accent-rgb), 0.14);
}

.ticket-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 20px;
}

.ticket-message-header {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 20px;
}

.ticket-message-header > div {
  display: grid;
  gap: 4px;
}

.ticket-message-header span {
  color: var(--muted);
  font-size: 12px;
}

.ticket-message {
  margin-top: 18px;
  line-height: 1.7;
  white-space: pre-wrap;
}

.ticket-info {
  display: grid;
  gap: 14px;
  margin: 18px 0 24px;
}

.ticket-info > div {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid #2a2a31;
}

.ticket-info dt {
  color: var(--muted);
}

.ticket-info dd {
  margin: 0;
  text-align: right;
}

.full-button {
  width: 100%;
}

.category-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 18px;
  margin-top: 20px;
}

@media (max-width: 900px) {
  .ticket-stats {
    grid-template-columns: repeat(2, 1fr);
  }

  .ticket-toolbar,
  .ticket-filters,
  .ticket-actions {
    flex-direction: column;
  }

  .ticket-filters input {
    min-width: 0;
  }

  .ticket-detail-grid {
    grid-template-columns: 1fr;
  }
}


.ticket-conversation {
  display: grid;
  gap: 16px;
}

.conversation-message {
  padding: 18px;
}

.conversation-message.internal-message {
  border-color: rgba(241, 196, 15, 0.38);
  background: linear-gradient(
    180deg,
    rgba(241, 196, 15, 0.07),
    rgba(241, 196, 15, 0.025)
  );
}

.conversation-message-header {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding-bottom: 13px;
  margin-bottom: 13px;
  border-bottom: 1px solid #2a2a31;
}

.conversation-message-header > div {
  display: grid;
  gap: 4px;
}

.conversation-message-header span {
  color: var(--muted);
  font-size: 12px;
}

.conversation-message-body {
  white-space: pre-wrap;
  line-height: 1.7;
}

.internal-badge,
.reply-badge {
  align-self: flex-start;
  border-radius: 999px;
  padding: 5px 9px;
  font-size: 10px !important;
  font-weight: 800;
  text-transform: uppercase;
}

.internal-badge {
  color: #ffe29a !important;
  background: rgba(241, 196, 15, 0.14);
}

.reply-badge {
  color: #9fdcff !important;
  background: rgba(52, 152, 219, 0.14);
}

.reply-form {
  margin-top: 4px;
}

.internal-note-option {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  margin-top: 15px;
  padding: 13px;
  border: 1px solid rgba(241, 196, 15, 0.25);
  border-radius: 8px;
  background: rgba(241, 196, 15, 0.05);
  cursor: pointer;
}

.internal-note-option input {
  width: 18px;
  height: 18px;
  margin-top: 2px;
  accent-color: #f1c40f;
}

.internal-note-option span {
  display: grid;
  gap: 4px;
}

.internal-note-option small {
  color: var(--muted);
}

.ticket-quick-action {
  margin-bottom: 14px;
}

.ticket-quick-buttons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
  margin-top: 12px;
}

.quick-status-button {
  width: 100%;
  border: 1px solid #3b3b44;
  background: #111116;
  color: #dddde3;
  border-radius: 8px;
  padding: 10px;
  cursor: pointer;
  font: inherit;
  font-weight: 700;
}

.quick-status-button:hover {
  border-color: #555560;
}

.archive-button {
  color: #d8bcff;
  border-color: rgba(155, 89, 182, 0.4);
  background: rgba(155, 89, 182, 0.08);
}

@media (max-width: 700px) {
  .conversation-message-header {
    flex-direction: column;
  }

  .ticket-quick-buttons {
    grid-template-columns: 1fr;
  }
}


.role-selection {
  margin-top: 20px;
  border: 1px solid #303038;
  border-radius: 10px;
  padding: 18px;
}

.role-selection legend {
  padding: 0 8px;
  font-weight: 800;
}

.role-selection > p {
  margin: 4px 0 16px;
  color: var(--muted);
}

.role-checkbox-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 10px;
}

.role-checkbox {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 11px;
  background: #111116;
  border: 1px solid #303038;
  border-radius: 8px;
  cursor: pointer;
}

.role-checkbox input {
  width: 17px;
  height: 17px;
  accent-color: var(--rh-accent);
}

.discord-permission-note {
  margin-top: 18px;
  padding: 14px;
  border: 1px solid rgba(88, 101, 242, 0.35);
  background: rgba(88, 101, 242, 0.08);
  color: #cdd1ff;
  border-radius: 8px;
  line-height: 1.55;
}

.field-help {
  display: block;
  margin-top: 6px;
  color: var(--muted);
}

.discord-channel-reference {
  font-family: monospace;
  color: #aeb5ff;
}


.ticket-lifecycle-settings {
  margin-top: 18px;
  border-top: 1px solid #2d2d34;
  border-bottom: 1px solid #2d2d34;
}

.sync-success-badge,
.sync-error-badge {
  display: inline-block;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}

.sync-success-badge {
  color: #9af1b9;
  background: rgba(46, 204, 113, 0.14);
}

.sync-error-badge {
  color: var(--rh-accent-bright);
  background: rgba(var(--rh-accent-rgb), 0.14);
}

.discord-sync-error {
  display: grid;
  gap: 6px;
  margin: 0 0 16px;
  padding: 12px;
  border: 1px solid rgba(var(--rh-accent-rgb), 0.35);
  border-radius: 8px;
  background: rgba(var(--rh-accent-rgb), 0.07);
}

.discord-sync-error strong {
  color: var(--rh-accent-bright);
}

.discord-sync-error span {
  color: #e6b9b5;
  font-size: 12px;
  overflow-wrap: anywhere;
}


.ticket-view-tabs {
  display: flex;
  gap: 10px;
  margin-bottom: 18px;
  border-bottom: 1px solid #2d2d34;
}

.ticket-view-tabs a {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 11px 14px;
  margin-bottom: -1px;
  color: var(--muted);
  text-decoration: none;
  border-bottom: 2px solid transparent;
}

.ticket-view-tabs a.active {
  color: #fff;
  border-bottom-color: var(--rh-accent);
}

.ticket-view-tabs span {
  display: inline-grid;
  place-items: center;
  min-width: 23px;
  height: 23px;
  padding: 0 7px;
  border-radius: 999px;
  background: #24242b;
  color: #dcdce2;
  font-size: 11px;
}

.table-delete-button {
  border: 1px solid rgba(var(--rh-accent-rgb), 0.45);
  background: rgba(var(--rh-accent-rgb), 0.1);
  color: var(--rh-accent-bright);
  border-radius: 7px;
  padding: 7px 10px;
  cursor: pointer;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
}

.ticket-danger-zone {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid rgba(var(--rh-accent-rgb), 0.35);
}

.ticket-danger-zone strong {
  color: var(--rh-accent-bright);
}

.ticket-danger-zone p {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}

@media (max-width: 700px) {
  .ticket-view-tabs {
    overflow-x: auto;
  }

  .ticket-view-tabs a {
    white-space: nowrap;
  }
}


.discord-reply-badge {
  align-self: flex-start;
  border-radius: 999px;
  padding: 5px 9px;
  font-size: 10px !important;
  font-weight: 800;
  text-transform: uppercase;
  color: #b9beff !important;
  background: rgba(88, 101, 242, 0.16);
}


.nav-link-with-badge {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.nav-unread-badge {
  display: inline-grid;
  place-items: center;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  border-radius: 999px;
  background: var(--rh-accent);
  color: #fff;
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
  box-shadow: 0 0 14px rgba(var(--rh-accent-rgb), 0.28);
}

.ticket-subject-link {
  display: flex;
  align-items: center;
  gap: 9px;
  width: fit-content;
}

.ticket-unread-badge {
  display: inline-block;
  border: 1px solid rgba(var(--rh-accent-rgb), 0.35);
  background: rgba(var(--rh-accent-rgb), 0.12);
  color: var(--rh-accent-bright);
  border-radius: 999px;
  padding: 4px 7px;
  font-size: 10px;
  font-weight: 900;
  white-space: nowrap;
}


.template-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: -4px 0 16px;
}

.template-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
  gap: 18px;
  margin-top: 20px;
}

.template-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.template-card > form:first-child {
  flex: 1;
}

.template-settings-row {
  display: grid;
  grid-template-columns: 1fr 140px;
  gap: 14px;
}

@media (max-width: 700px) {
  .template-grid {
    grid-template-columns: 1fr;
  }

  .template-settings-row {
    grid-template-columns: 1fr;
  }
}


.ticket-panel-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 380px;
  gap: 20px;
}

.panel-preview-card {
  align-self: start;
  position: sticky;
  top: 20px;
}

.discord-panel-preview {
  position: relative;
  display: flex;
  gap: 14px;
  margin: 10px 0 12px;
  padding: 16px 16px 16px 20px;
  border-radius: 4px;
  background: #2b2d31;
  color: #f2f3f5;
  overflow: hidden;
}

.discord-preview-accent {
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: var(--rh-accent);
}

.discord-panel-preview p {
  color: #dbdee1;
  line-height: 1.5;
  white-space: pre-wrap;
}

.discord-panel-preview small {
  color: #949ba4;
}

.discord-preview-button {
  margin-bottom: 18px;
  border: 0;
  border-radius: 4px;
  background: #5865f2;
  color: #fff;
  padding: 9px 13px;
  font: inherit;
  font-weight: 700;
}

.published-panel-info {
  margin-top: 14px;
  padding: 12px;
  border: 1px solid #303038;
  border-radius: 8px;
  color: var(--muted);
  font-size: 12px;
  overflow-wrap: anywhere;
}

.published-panel-info code {
  color: #dcdce2;
}

@media (max-width: 950px) {
  .ticket-panel-layout {
    grid-template-columns: 1fr;
  }

  .panel-preview-card {
    position: static;
  }
}


.discord-select-preview {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 18px;
  border: 1px solid #1e1f22;
  border-radius: 4px;
  background: #1e1f22;
  color: #b5bac1;
  padding: 10px 12px;
  font-size: 14px;
}

.discord-select-preview span:nth-child(2) {
  flex: 1;
}


.category-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.ticket-field-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(130px, 1fr));
  gap: 14px;
}

.ticket-form-answers {
  display: grid;
  gap: 10px;
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid #2d2d34;
}

.ticket-form-answers h3 {
  margin: 0 0 4px;
}

.ticket-form-answer {
  display: grid;
  gap: 5px;
  padding: 12px;
  border: 1px solid #303038;
  border-radius: 8px;
  background: #101014;
}

.ticket-form-answer strong {
  color: #dcdce2;
  font-size: 12px;
}

.ticket-form-answer span {
  color: #f0f0f3;
  line-height: 1.6;
  white-space: pre-wrap;
}

@media (max-width: 900px) {
  .ticket-field-row {
    grid-template-columns: repeat(2, minmax(130px, 1fr));
  }
}

@media (max-width: 600px) {
  .ticket-field-row {
    grid-template-columns: 1fr;
  }
}


.ticket-export-actions {
  display: grid;
  gap: 9px;
  margin-bottom: 18px;
  padding-bottom: 18px;
  border-bottom: 1px solid #2a2a31;
}


.statistics-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
  padding: 16px 18px;
  border: 1px solid #303038;
  border-radius: 10px;
  background: #15151a;
}

.statistics-toolbar > div:first-child {
  display: grid;
  gap: 3px;
}

.statistics-toolbar span {
  color: var(--muted);
  font-size: 13px;
}

.statistics-period-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.statistics-cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(160px, 1fr));
  gap: 14px;
  margin-bottom: 18px;
}

.statistic-card {
  display: grid;
  gap: 6px;
  min-height: 132px;
  padding: 18px;
  border: 1px solid #303038;
  border-radius: 10px;
  background:
    linear-gradient(145deg, rgba(var(--rh-accent-rgb), 0.08), transparent 55%),
    #15151a;
}

.statistic-card span,
.statistic-card small {
  color: var(--muted);
}

.statistic-card strong {
  font-size: clamp(28px, 4vw, 42px);
  line-height: 1;
}

.wide-statistic-card {
  grid-column: span 2;
}

.statistics-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.daily-chart {
  display: flex;
  align-items: end;
  gap: 4px;
  height: 290px;
  overflow-x: auto;
  padding: 20px 2px 4px;
}

.daily-chart-column {
  display: grid;
  grid-template-rows: 18px 1fr 18px;
  gap: 5px;
  min-width: 24px;
  height: 100%;
  text-align: center;
}

.daily-chart-value {
  color: #d9d9df;
  font-size: 10px;
}

.daily-chart-track {
  position: relative;
  display: flex;
  align-items: end;
  width: 100%;
  border-radius: 4px 4px 0 0;
  background: #101014;
  overflow: hidden;
}

.daily-chart-bar {
  width: 100%;
  min-height: 2px;
  border-radius: 4px 4px 0 0;
  background: linear-gradient(180deg, var(--rh-accent-bright), var(--rh-accent));
}

.daily-chart-column small {
  color: #787883;
  font-size: 8px;
  transform: rotate(-55deg);
  transform-origin: center;
  white-space: nowrap;
}

.statistics-list {
  display: grid;
  gap: 15px;
}

.statistics-list-item {
  display: grid;
  gap: 8px;
}

.statistics-list-heading {
  display: flex;
  justify-content: space-between;
  gap: 14px;
}

.statistics-list-heading span {
  color: var(--muted);
  font-size: 12px;
}

.statistics-progress {
  height: 8px;
  border-radius: 999px;
  background: #101014;
  overflow: hidden;
}

.statistics-progress div {
  height: 100%;
  min-width: 3px;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--rh-accent), var(--rh-accent));
}

.statistics-table-wrap {
  overflow-x: auto;
}

.statistics-table {
  width: 100%;
  border-collapse: collapse;
}

.statistics-table th,
.statistics-table td {
  padding: 12px 10px;
  border-bottom: 1px solid #2a2a31;
  text-align: left;
}

.statistics-table th {
  color: var(--muted);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.priority-statistics {
  display: grid;
  gap: 12px;
}

.priority-statistic {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 64px;
  padding: 14px 16px;
  border: 1px solid #303038;
  border-radius: 9px;
  background: #101014;
}

.priority-statistic strong {
  font-size: 26px;
}

.priority-statistic.high {
  border-left: 4px solid var(--rh-accent);
}

.priority-statistic.normal {
  border-left: 4px solid #f1c40f;
}

.priority-statistic.low {
  border-left: 4px solid #5dade2;
}

@media (max-width: 1100px) {
  .statistics-cards {
    grid-template-columns: repeat(2, minmax(160px, 1fr));
  }

  .statistics-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .statistics-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .statistics-cards {
    grid-template-columns: 1fr;
  }

  .wide-statistic-card {
    grid-column: auto;
  }

  .statistics-list-heading {
    flex-direction: column;
    gap: 2px;
  }
}


.sla-settings-grid {
  display: grid;
  gap: 14px;
}

.sla-setting-card {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid #303038;
  border-radius: 10px;
  background: #101014;
}

.sla-setting-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.sla-setting-heading > div {
  display: grid;
  gap: 3px;
}

.sla-setting-heading span {
  color: var(--muted);
  font-size: 12px;
}

.sla-time-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(180px, 1fr));
  gap: 14px;
}

.input-with-unit {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}

.input-with-unit input {
  border-radius: 7px 0 0 7px;
}

.input-with-unit > span {
  align-self: stretch;
  display: grid;
  place-items: center;
  padding: 0 12px;
  border: 1px solid #35353d;
  border-left: 0;
  border-radius: 0 7px 7px 0;
  background: #1b1b21;
  color: var(--muted);
  font-size: 12px;
}

.ticket-sla-badge {
  display: inline-block;
  border: 1px solid rgba(93, 173, 226, 0.35);
  background: rgba(93, 173, 226, 0.1);
  color: #a9d8f7;
  border-radius: 999px;
  padding: 4px 7px;
  font-size: 10px;
  font-weight: 900;
  white-space: nowrap;
}

.ticket-sla-badge.warning {
  border-color: rgba(241, 196, 15, 0.42);
  background: rgba(241, 196, 15, 0.1);
  color: #f6dc7a;
}

.ticket-sla-badge.overdue {
  border-color: rgba(var(--rh-accent-rgb), 0.5);
  background: rgba(var(--rh-accent-rgb), 0.14);
  color: var(--rh-accent-bright);
}

.ticket-row-warning {
  background: rgba(241, 196, 15, 0.035);
}

.ticket-row-overdue {
  background: rgba(var(--rh-accent-rgb), 0.06);
}

@media (max-width: 700px) {
  .sla-setting-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .sla-time-grid {
    grid-template-columns: 1fr;
  }
}


.ticket-attachments {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 10px;
  margin-top: 14px;
}
.ticket-attachment {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  padding: 11px;
  border: 1px solid #303038;
  border-radius: 8px;
  background: #101014;
  color: #f0f0f3;
  text-decoration: none;
}
.ticket-attachment:hover { border-color: #555562; background: #17171d; }
.ticket-attachment > span:last-child { display: grid; min-width: 0; }
.ticket-attachment strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ticket-attachment small { color: var(--muted); }
.image-attachment { align-items: stretch; flex-direction: column; }
.image-attachment img {
  width: 100%;
  max-height: 260px;
  object-fit: contain;
  border-radius: 6px;
  background: #09090c;
}
.attachment-icon { font-size: 24px; }


.ticket-rating-card {
  display: grid;
  gap: 8px;
  margin-top: 20px;
  padding: 15px;
  border: 1px solid rgba(241, 196, 15, 0.34);
  border-radius: 9px;
  background: rgba(241, 196, 15, 0.055);
}

.ticket-rating-heading,
.rating-list-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.ticket-rating-stars,
.rating-large-stars {
  color: #f1c40f;
  letter-spacing: 2px;
  white-space: nowrap;
}

.ticket-rating-card p {
  margin: 0;
  white-space: pre-wrap;
}

.ticket-rating-card small {
  color: var(--muted);
}

.rating-summary-grid {
  display: grid;
  grid-template-columns: minmax(260px, 0.7fr) minmax(320px, 1.3fr);
  gap: 18px;
  margin-bottom: 18px;
}

.rating-average-card {
  display: grid;
  place-content: center;
  gap: 10px;
  min-height: 260px;
  text-align: center;
}

.rating-average-card > span,
.rating-average-card small {
  color: var(--muted);
}

.rating-average-card > strong {
  font-size: clamp(52px, 8vw, 86px);
  line-height: 1;
}

.rating-large-stars {
  font-size: 25px;
}

.rating-distribution {
  display: grid;
  gap: 14px;
}

.rating-distribution-row {
  display: grid;
  grid-template-columns: 45px minmax(0, 1fr) 35px;
  align-items: center;
  gap: 12px;
}

.rating-progress {
  height: 10px;
  border-radius: 999px;
  background: #101014;
  overflow: hidden;
}

.rating-progress div {
  height: 100%;
  min-width: 2px;
  border-radius: inherit;
  background: linear-gradient(90deg, #b88b08, #f1c40f);
}

.rating-list {
  display: grid;
  gap: 12px;
}

.rating-list-item {
  padding: 16px;
  border: 1px solid #303038;
  border-radius: 9px;
  background: #101014;
}

.rating-list-item p {
  margin-bottom: 7px;
  white-space: pre-wrap;
}

.rating-list-heading > div {
  display: grid;
  gap: 3px;
}

.rating-list-heading span:not(.ticket-rating-stars),
.rating-list-item small {
  color: var(--muted);
  font-size: 12px;
}

@media (max-width: 850px) {
  .rating-summary-grid {
    grid-template-columns: 1fr;
  }

  .ticket-rating-heading,
  .rating-list-heading {
    flex-direction: column;
  }
}


.inactivity-settings-panel {
  max-width: 980px;
}

.inactivity-time-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(200px, 1fr));
  gap: 14px;
}

.inactivity-flow-preview {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  align-items: center;
  gap: 14px;
  margin-top: 20px;
  padding: 18px;
  border: 1px solid #303038;
  border-radius: 10px;
  background: #101014;
}

.inactivity-flow-preview > div:not(.flow-arrow) {
  display: grid;
  justify-items: center;
  gap: 6px;
  text-align: center;
}

.inactivity-flow-preview > div > span {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: rgba(var(--rh-accent-rgb), 0.14);
  color: var(--rh-accent-bright);
  font-weight: 900;
}

.inactivity-flow-preview small {
  color: var(--muted);
}

.flow-arrow {
  color: #666671;
  font-size: 24px;
}

@media (max-width: 800px) {
  .inactivity-time-grid {
    grid-template-columns: 1fr;
  }

  .inactivity-flow-preview {
    grid-template-columns: 1fr;
  }

  .flow-arrow {
    transform: rotate(90deg);
  }
}


.routing-grid {
  display: grid;
  gap: 14px;
}

.routing-card {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid #303038;
  border-radius: 10px;
  background: #101014;
}

.routing-card-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.routing-card-heading > div {
  display: grid;
  gap: 3px;
}

.routing-card-heading span {
  color: var(--muted);
  font-size: 12px;
}

.routing-options-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(180px, 1fr));
  gap: 14px;
}

@media (max-width: 700px) {
  .routing-card-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .routing-options-grid {
    grid-template-columns: 1fr;
  }
}


.ticket-toolbar-responsive {
  display: grid;
  grid-template-columns: minmax(320px, auto) minmax(0, 1fr) auto;
  align-items: start;
  gap: 16px;
  width: 100%;
}

.ticket-filter-group {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.ticket-filter-group input[type="search"],
.ticket-filter-group input[type="text"] {
  min-width: 220px;
  flex: 1 1 260px;
}

.ticket-filter-group select {
  flex: 0 1 150px;
  min-width: 135px;
}

.ticket-settings-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 10px;
  min-width: 0;
}

.ticket-settings-actions .button {
  flex: 0 1 auto;
  min-height: 44px;
  white-space: normal;
  line-height: 1.15;
  text-align: center;
}

.ticket-create-button {
  align-self: stretch;
  min-width: 110px;
  min-height: 44px;
  white-space: normal;
}

@media (max-width: 1450px) {
  .ticket-toolbar-responsive {
    grid-template-columns: 1fr auto;
  }

  .ticket-filter-group {
    grid-column: 1 / -1;
  }

  .ticket-settings-actions {
    grid-column: 1;
  }

  .ticket-create-button {
    grid-column: 2;
    grid-row: 2;
  }
}

@media (max-width: 900px) {
  .ticket-toolbar-responsive {
    grid-template-columns: 1fr;
  }

  .ticket-filter-group,
  .ticket-settings-actions,
  .ticket-create-button {
    grid-column: 1;
  }

  .ticket-create-button {
    grid-row: auto;
    width: 100%;
  }

  .ticket-settings-actions .button {
    flex: 1 1 150px;
  }
}

@media (max-width: 600px) {
  .ticket-filter-group {
    flex-direction: column;
    align-items: stretch;
  }

  .ticket-filter-group input,
  .ticket-filter-group select,
  .ticket-filter-group .button {
    width: 100%;
    min-width: 0;
  }

  .ticket-settings-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .ticket-settings-actions .button {
    width: 100%;
  }
}


.ticket-priority-controls {
  display: grid;
  gap: 10px;
  margin-bottom: 18px;
  padding-bottom: 18px;
  border-bottom: 1px solid #2a2a31;
}

.ticket-priority-controls form {
  display: grid;
  gap: 10px;
}

.danger-button {
  border-color: rgba(var(--rh-accent-rgb), 0.55);
  background: rgba(var(--rh-accent-rgb), 0.14);
  color: #ffb2aa;
}

.danger-button:hover {
  border-color: var(--rh-accent);
  background: rgba(var(--rh-accent-rgb), 0.23);
  color: #fff;
}

.ticket-participants-panel{display:grid;gap:14px;margin-bottom:18px;padding:16px;border:1px solid #303038;border-radius:10px;background:#101014}
.ticket-participants-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}
.ticket-participants-heading>div{display:grid;gap:3px}
.ticket-participants-heading span,.ticket-participant-item small{color:var(--muted);font-size:12px}
.ticket-participant-list{display:grid;gap:8px}
.ticket-participant-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid #2b2b32;border-radius:8px;background:#16161b}
.ticket-participant-item>div{display:grid;min-width:0}
.ticket-participant-add{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px}
@media(max-width:650px){.ticket-participant-item{align-items:flex-start;flex-direction:column}.ticket-participant-add{grid-template-columns:1fr}}

.ticket-tags-panel{display:grid;gap:14px;margin-bottom:18px;padding:16px;border:1px solid #303038;border-radius:10px;background:#101014}
.ticket-tags-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}
.ticket-tags-heading>div{display:grid;gap:3px}
.ticket-tags-heading span{color:var(--muted);font-size:12px}
.ticket-tags-current,.ticket-list-tags,.ticket-tag-checkboxes{display:flex;flex-wrap:wrap;gap:7px}
.ticket-list-tags{margin-top:8px}
.ticket-tag{display:inline-flex;align-items:center;min-height:25px;padding:4px 9px;border:1px solid var(--tag-color);border-radius:999px;background:rgba(255,255,255,.04);color:#fff;font-size:11px;font-weight:800;white-space:nowrap;box-shadow:inset 0 0 0 999px color-mix(in srgb,var(--tag-color) 14%,transparent)}
.ticket-tags-form{display:grid;gap:12px}
.ticket-tag-option{position:relative;cursor:pointer}
.ticket-tag-option input{position:absolute;opacity:0;pointer-events:none}
.ticket-tag-option input:not(:checked)+.ticket-tag{opacity:.34;filter:grayscale(.55)}
.ticket-tag-create-grid{display:grid;grid-template-columns:minmax(220px,1fr) 120px 140px;gap:14px}
.ticket-tag-edit-grid{display:grid;grid-template-columns:120px minmax(150px,1fr) 140px;gap:14px}
.ticket-tag-preview{display:flex;align-items:center;min-height:36px}
input[type="color"]{min-height:44px;padding:4px}
@media(max-width:750px){.ticket-tag-create-grid,.ticket-tag-edit-grid{grid-template-columns:1fr}}

.ticket-bulk-toolbar{display:grid;grid-template-columns:auto minmax(210px,1fr) minmax(170px,.7fr) auto;align-items:center;gap:10px;margin-bottom:14px;padding:12px;border:1px solid #303038;border-radius:9px;background:#101014}
.ticket-bulk-selection{display:flex;align-items:baseline;gap:6px;white-space:nowrap}
.ticket-bulk-selection strong{color:#fff;font-size:20px}
.ticket-bulk-selection span{color:var(--muted);font-size:12px}
.ticket-select-column{width:42px;text-align:center!important}
.ticket-select-column input{width:17px;height:17px;cursor:pointer;accent-color:var(--rh-accent)}
.ticket-list-table tbody tr:has(.ticket-select-checkbox:checked){background:rgba(var(--rh-accent-rgb), .075)}
@media(max-width:900px){.ticket-bulk-toolbar{grid-template-columns:1fr 1fr}.ticket-bulk-selection{grid-column:1/-1}}
@media(max-width:600px){.ticket-bulk-toolbar{grid-template-columns:1fr}.ticket-bulk-selection{grid-column:1}.ticket-bulk-toolbar .button,.ticket-bulk-toolbar select{width:100%}}


.kanban-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 16px;
}

.kanban-help {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--muted);
  font-size: 12px;
}

.kanban-help-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--rh-accent);
  box-shadow: 0 0 12px rgba(var(--rh-accent-rgb), 0.6);
}

.ticket-kanban-board {
  display: grid;
  grid-template-columns: repeat(4, minmax(270px, 1fr));
  gap: 14px;
  align-items: start;
  overflow-x: auto;
  padding-bottom: 12px;
}

.kanban-column {
  min-width: 270px;
  border: 1px solid #303038;
  border-radius: 11px;
  background: #121217;
  transition:
    border-color 0.18s ease,
    background 0.18s ease;
}

.kanban-column.drag-over {
  border-color: var(--rh-accent);
  background: rgba(var(--rh-accent-rgb), 0.055);
}

.kanban-column-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 14px;
  border-bottom: 1px solid #2b2b32;
}

.kanban-column-header > div {
  display: grid;
  gap: 3px;
}

.kanban-column-header span {
  color: var(--muted);
  font-size: 11px;
}

.kanban-count {
  display: grid;
  place-items: center;
  min-width: 27px;
  height: 27px;
  padding: 0 7px;
  border-radius: 999px;
  background: #24242b;
  color: #fff !important;
  font-weight: 900;
}

.kanban-drop-zone {
  display: grid;
  gap: 10px;
  min-height: 180px;
  padding: 12px;
}

.kanban-empty {
  display: grid;
  place-items: center;
  min-height: 120px;
  padding: 20px;
  border: 1px dashed #34343d;
  border-radius: 8px;
  color: #73737e;
  font-size: 12px;
  text-align: center;
}

.kanban-card {
  display: grid;
  gap: 10px;
  padding: 13px;
  border: 1px solid #303038;
  border-radius: 9px;
  background: #19191f;
  cursor: grab;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.16);
  transition:
    transform 0.16s ease,
    border-color 0.16s ease,
    opacity 0.16s ease;
}

.kanban-card:hover {
  transform: translateY(-2px);
  border-color: #4b4b56;
}

.kanban-card.high-priority {
  border-left: 4px solid var(--rh-accent);
}

.kanban-card.dragging {
  opacity: 0.42;
  cursor: grabbing;
}

.kanban-card-topline,
.kanban-card-footer,
.kanban-card-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.kanban-card-topline > span:first-child,
.kanban-card-footer,
.kanban-card-meta {
  color: var(--muted);
  font-size: 11px;
}

.kanban-card-title {
  color: #fff;
  font-weight: 800;
  line-height: 1.35;
  text-decoration: none;
}

.kanban-card-title:hover {
  color: var(--rh-accent-bright);
}

.kanban-card-meta {
  align-items: flex-start;
  flex-direction: column;
  gap: 3px;
}

.kanban-card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.kanban-sla {
  padding: 7px 9px;
  border: 1px solid rgba(93, 173, 226, 0.35);
  border-radius: 7px;
  background: rgba(93, 173, 226, 0.08);
  color: #a9d8f7;
  font-size: 11px;
  font-weight: 800;
}

.kanban-sla.overdue {
  border-color: rgba(var(--rh-accent-rgb), 0.48);
  background: rgba(var(--rh-accent-rgb), 0.1);
  color: var(--rh-accent-bright);
}

.kanban-toast {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 9999;
  max-width: 360px;
  padding: 13px 16px;
  border: 1px solid rgba(46, 204, 113, 0.45);
  border-radius: 9px;
  background: #151a17;
  color: #a8f1c6;
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.35);
  font-weight: 800;
}

.kanban-toast.error {
  border-color: rgba(var(--rh-accent-rgb), 0.5);
  background: #1d1515;
  color: var(--rh-accent-bright);
}

@media (max-width: 900px) {
  .kanban-toolbar {
    align-items: stretch;
    flex-direction: column;
  }
}


.level-stat-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(180px, 1fr));
  gap: 14px;
  margin-bottom: 18px;
}

.level-stat-card {
  display: grid;
  gap: 7px;
}

.level-stat-card > span,
.level-stat-card small {
  color: var(--muted);
}

.level-stat-card strong {
  font-size: 30px;
  line-height: 1;
}

.level-settings-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(220px, 1fr));
  gap: 14px;
}

.level-leaderboard td {
  vertical-align: middle;
}

.level-rank {
  display: inline-grid;
  place-items: center;
  min-width: 38px;
  font-weight: 900;
}

.level-rank.rank-1,
.level-rank.rank-2,
.level-rank.rank-3 {
  font-size: 21px;
}

.member-discord-id {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 10px;
}

.level-badge {
  display: inline-flex;
  padding: 5px 9px;
  border: 1px solid rgba(241, 196, 15, 0.4);
  border-radius: 999px;
  background: rgba(241, 196, 15, 0.08);
  color: #f7dc6f;
  font-size: 11px;
  font-weight: 900;
  white-space: nowrap;
}

.level-progress-wrap {
  display: grid;
  gap: 5px;
  min-width: 180px;
}

.level-progress {
  height: 9px;
  overflow: hidden;
  border-radius: 999px;
  background: #101014;
}

.level-progress div {
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #b58b12, #f1c40f);
}

.level-progress-wrap small {
  color: var(--muted);
  font-size: 10px;
}

@media (max-width: 1000px) {
  .level-stat-grid {
    grid-template-columns: repeat(2, minmax(180px, 1fr));
  }
}

@media (max-width: 700px) {
  .level-stat-grid,
  .level-settings-grid {
    grid-template-columns: 1fr;
  }
}


.level-voice-settings {
  display: grid;
  gap: 14px;
  margin: 22px 0;
  padding: 18px;
  border: 1px solid #303038;
  border-radius: 10px;
  background: #101014;
}

.compact-header {
  padding: 0;
}

.voice-rule-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(240px, 1fr));
  gap: 10px;
}

.voice-rule-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 120px;
  align-items: center;
  gap: 12px;
  padding: 11px 12px;
  border: 1px solid #2d2d35;
  border-radius: 8px;
  background: #16161b;
}

.voice-rule-item span {
  color: #e7e7eb;
  font-size: 12px;
}

@media (max-width: 760px) {
  .voice-rule-grid {
    grid-template-columns: 1fr;
  }

  .voice-rule-item {
    grid-template-columns: 1fr;
  }
}


.manual-xp-grid {
  display: grid;
  grid-template-columns:
    minmax(260px, 1.4fr)
    minmax(180px, 0.8fr)
    minmax(150px, 0.7fr);
  gap: 14px;
}

.level-history-filter {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.level-history-filter input {
  min-width: 220px;
}

.xp-source {
  display: inline-flex;
  padding: 4px 8px;
  border: 1px solid #3b3b44;
  border-radius: 999px;
  background: #17171d;
  color: #d5d5da;
  font-size: 10px;
  font-weight: 900;
}

.source-message {
  border-color: rgba(93, 173, 226, 0.45);
  color: #a9d8f7;
}

.source-voice {
  border-color: rgba(155, 89, 182, 0.48);
  color: #d8b4e8;
}

.source-manual {
  border-color: rgba(241, 196, 15, 0.45);
  color: #f7dc6f;
}

.xp-positive {
  color: #82e0aa;
}

.xp-negative {
  color: var(--rh-accent-bright);
}

@media (max-width: 850px) {
  .manual-xp-grid {
    grid-template-columns: 1fr;
  }

  .level-history-filter {
    width: 100%;
  }

  .level-history-filter input,
  .level-history-filter .button {
    width: 100%;
  }
}


.topbar-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.xp-event-form-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(210px, 1fr));
  gap: 14px;
}

.xp-event-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(230px, 1fr));
  gap: 14px;
}

.xp-event-card {
  display: grid;
  gap: 11px;
  padding: 16px;
  border: 1px solid #303038;
  border-radius: 10px;
  background: #15151a;
  color: #fff;
  text-decoration: none;
  transition:
    transform 0.16s ease,
    border-color 0.16s ease;
}

.xp-event-card:hover {
  transform: translateY(-2px);
  border-color: #555560;
}

.xp-event-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.xp-event-color {
  width: 11px;
  height: 11px;
  border-radius: 50%;
  box-shadow: 0 0 12px currentColor;
}

.xp-event-reward {
  color: #f7dc6f;
  font-size: 23px;
  font-weight: 900;
}

.xp-event-card-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.xp-event-card-stats span {
  display: grid;
  gap: 2px;
  padding: 9px;
  border-radius: 7px;
  background: #101014;
  color: var(--muted);
  font-size: 10px;
}

.xp-event-card-stats b {
  color: #fff;
  font-size: 14px;
}

.status-active {
  border-color: rgba(46, 204, 113, 0.4);
  color: #82e0aa;
}

.status-scheduled {
  border-color: rgba(93, 173, 226, 0.45);
  color: #a9d8f7;
}

.status-paused {
  border-color: rgba(241, 196, 15, 0.45);
  color: #f7dc6f;
}

.status-ended,
.status-deleted {
  border-color: rgba(149, 165, 166, 0.4);
  color: #b2babb;
}

.xp-event-detail-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(180px, 1fr));
  gap: 12px;
}

.xp-event-detail-grid > div {
  display: grid;
  gap: 5px;
  padding: 13px;
  border: 1px solid #303038;
  border-radius: 8px;
  background: #101014;
}

.xp-event-detail-grid span {
  color: var(--muted);
  font-size: 11px;
}

.xp-event-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 16px;
}

.event-status-text {
  font-size: 22px !important;
}

@media (max-width: 1050px) {
  .xp-event-form-grid,
  .xp-event-card-grid,
  .xp-event-detail-grid {
    grid-template-columns: repeat(2, minmax(210px, 1fr));
  }
}

@media (max-width: 700px) {
  .topbar-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .xp-event-form-grid,
  .xp-event-card-grid,
  .xp-event-detail-grid {
    grid-template-columns: 1fr;
  }
}


.automatic-role-settings {
  grid-column: 1 / -1;
  display: grid;
  gap: 14px;
  padding: 16px;
  border: 1px solid rgba(var(--rh-accent-rgb), 0.38);
  border-radius: 10px;
  background: rgba(var(--rh-accent-rgb), 0.045);
}

.automatic-role-settings[hidden],
.reward-role-existing[hidden] {
  display: none !important;
}

.automatic-role-notice {
  display: grid;
  gap: 4px;
  padding: 12px;
  border-left: 3px solid var(--rh-accent);
  background: #131317;
}

.automatic-role-notice span {
  color: var(--muted);
  font-size: 12px;
}

.automatic-role-grid {
  display: grid;
  grid-template-columns:
    minmax(220px, 1.2fr)
    130px
    minmax(150px, 0.7fr)
    minmax(150px, 0.7fr)
    minmax(210px, 1fr);
  gap: 12px;
}

.managed-event-role-panel {
  display: grid;
  gap: 14px;
  margin-top: 18px;
  padding: 16px;
  border: 1px solid rgba(var(--rh-accent-rgb), 0.34);
  border-radius: 10px;
  background: #101014;
}

.managed-role-label {
  display: inline-flex;
  margin-left: 7px;
  padding: 3px 7px;
  border: 1px solid rgba(var(--rh-accent-rgb), 0.42);
  border-radius: 999px;
  color: var(--rh-accent-bright);
  font-size: 9px;
  font-weight: 900;
  vertical-align: middle;
}

@media (max-width: 1150px) {
  .automatic-role-grid {
    grid-template-columns: repeat(2, minmax(190px, 1fr));
  }
}

@media (max-width: 650px) {
  .automatic-role-grid {
    grid-template-columns: 1fr;
  }
}


.reward-mode-stat {
  font-size: 22px !important;
}

.reward-settings-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(220px, 1fr));
  gap: 14px;
}

.reward-create-form {
  display: grid;
  grid-template-columns: 180px minmax(260px, 1fr) auto;
  align-items: end;
  gap: 14px;
}

.reward-create-button {
  margin-bottom: 1px;
}

.reward-list {
  display: grid;
  gap: 10px;
}

.reward-row {
  display: grid;
  grid-template-columns:
    45px
    120px
    minmax(230px, 1fr)
    150px
    auto;
  align-items: end;
  gap: 12px;
  padding: 13px;
  border: 1px solid #303038;
  border-radius: 9px;
  background: #121217;
}

.reward-order {
  display: grid;
  place-items: center;
  align-self: center;
}

.reward-order span {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border: 1px solid rgba(241, 196, 15, 0.4);
  border-radius: 50%;
  color: #f7dc6f;
  font-size: 11px;
  font-weight: 900;
}

.compact-field {
  margin: 0;
}

.reward-row-actions {
  display: flex;
  gap: 7px;
  align-items: center;
  padding-bottom: 1px;
}

.reward-sync-form {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto;
  align-items: end;
  gap: 14px;
}

.reward-sync-note {
  margin-top: 14px;
  padding: 12px;
  border-left: 3px solid #f1c40f;
  background: #101014;
  color: var(--muted);
  font-size: 12px;
}

@media (max-width: 1100px) {
  .reward-settings-grid {
    grid-template-columns: 1fr 1fr;
  }

  .reward-row {
    grid-template-columns: 45px 110px minmax(220px, 1fr);
  }

  .reward-row .compact-field:nth-of-type(3),
  .reward-row-actions {
    grid-column: 2 / -1;
  }
}

@media (max-width: 720px) {
  .reward-settings-grid,
  .reward-create-form,
  .reward-sync-form,
  .reward-row {
    grid-template-columns: 1fr;
  }

  .reward-order {
    justify-content: start;
  }

  .reward-row .compact-field:nth-of-type(3),
  .reward-row-actions {
    grid-column: auto;
  }

  .reward-row-actions {
    flex-direction: column;
    align-items: stretch;
  }
}


.rule-limit-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(240px, 1fr));
  gap: 14px;
}

.rule-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(320px, 1fr));
  gap: 18px;
}

.rule-add-form {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto;
  gap: 10px;
  margin-bottom: 16px;
}

.rule-list {
  display: grid;
  gap: 9px;
}

.rule-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px;
  border: 1px solid #303038;
  border-radius: 8px;
  background: #121217;
}

.rule-item > div {
  display: grid;
  gap: 3px;
}

.rule-item small {
  color: var(--muted);
  font-size: 10px;
}

@media (max-width: 900px) {
  .rule-columns,
  .rule-limit-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .rule-add-form {
    grid-template-columns: 1fr;
  }
}


.sidebar {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.sidebar-navigation {
  display: grid;
  gap: 8px;
  padding: 4px 10px 20px;
  overflow-y: auto;
}

.sidebar-group {
  display: grid;
  gap: 3px;
  padding: 7px;
  border: 1px solid transparent;
  border-radius: 10px;
}

.sidebar-group.group-active {
  border-color: rgba(241, 196, 15, 0.22);
  background: rgba(241, 196, 15, 0.04);
}

.sidebar-group-title {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 31px;
  padding: 5px 8px;
  color: #8f8f98;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.sidebar-group-symbol {
  display: inline-grid;
  place-items: center;
  width: 18px;
  color: #d5aa24;
  font-size: 12px;
}

.sidebar-group-badge {
  margin-left: auto;
}

.nav-link-child {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 35px;
  padding: 8px 10px 8px 34px;
  border-radius: 7px;
  font-size: 12px;
}

.nav-link-child::before {
  content: "";
  position: absolute;
  left: 17px;
  top: 50%;
  width: 6px;
  height: 1px;
  background: #45454f;
  transform: translateY(-50%);
}

.nav-link-child:hover {
  background: #1a1a20;
}

.nav-link-child.active {
  background: linear-gradient(
    90deg,
    rgba(241, 196, 15, 0.17),
    rgba(241, 196, 15, 0.05)
  );
  color: #fff;
  font-weight: 800;
}

.nav-link-child.active::before {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #f1c40f;
  box-shadow: 0 0 9px rgba(241, 196, 15, 0.7);
}

.nav-link-disabled {
  cursor: default;
  opacity: 0.45;
  pointer-events: none;
}

.nav-status-label {
  margin-left: auto;
  padding: 2px 6px;
  border: 1px solid #3b3b43;
  border-radius: 999px;
  color: #777780;
  font-size: 8px;
  font-weight: 900;
  text-transform: uppercase;
}

.sidebar-group-planned {
  margin-top: 4px;
  border-top: 1px solid #292930;
  border-radius: 0;
}


.multiplier-create-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(210px, 1fr));
  gap: 14px;
}

.multiplier-list {
  display: grid;
  gap: 12px;
}

.multiplier-row {
  display: grid;
  grid-template-columns:
    90px
    minmax(180px, 1fr)
    minmax(180px, 1fr)
    140px
    100px
    minmax(170px, 0.9fr)
    minmax(170px, 0.9fr)
    130px
    auto;
  align-items: end;
  gap: 10px;
  padding: 13px;
  border: 1px solid #303038;
  border-radius: 9px;
  background: #121217;
}

.multiplier-value {
  display: grid;
  place-items: center;
  align-self: center;
  min-height: 52px;
  border: 1px solid rgba(241, 196, 15, 0.38);
  border-radius: 9px;
  background: rgba(241, 196, 15, 0.06);
  color: #f7dc6f;
  font-size: 18px;
  font-weight: 900;
}

.multiplier-target-summary {
  display: grid;
  gap: 6px;
  align-self: center;
}

.multiplier-target-summary span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
}

.multiplier-target-summary strong {
  font-size: 12px;
}

.multiplier-actions {
  display: flex;
  gap: 7px;
  align-items: center;
  padding-bottom: 1px;
}

.multiplier-example {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.multiplier-example span {
  padding: 10px 12px;
  border: 1px solid #303038;
  border-radius: 8px;
  background: #101014;
  color: var(--muted);
}

.multiplier-example strong {
  color: #fff;
}

@media (max-width: 1250px) {
  .multiplier-row {
    grid-template-columns: 90px repeat(3, minmax(160px, 1fr));
  }

  .multiplier-actions {
    grid-column: 2 / -1;
  }
}

@media (max-width: 900px) {
  .multiplier-create-grid,
  .multiplier-row {
    grid-template-columns: 1fr 1fr;
  }

  .multiplier-value {
    grid-column: 1 / -1;
  }

  .multiplier-actions {
    grid-column: 1 / -1;
  }
}

@media (max-width: 650px) {
  .multiplier-create-grid,
  .multiplier-row {
    grid-template-columns: 1fr;
  }

  .multiplier-value,
  .multiplier-actions {
    grid-column: auto;
  }

  .multiplier-actions {
    flex-direction: column;
    align-items: stretch;
  }
}


.leaderboard-settings-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(210px, 1fr));
  gap: 14px;
}

.leaderboard-status {
  font-size: 22px !important;
}

.leaderboard-time {
  font-size: 16px !important;
  line-height: 1.3 !important;
}

@media (max-width: 950px) {
  .leaderboard-settings-grid {
    grid-template-columns: repeat(2, minmax(210px, 1fr));
  }
}

@media (max-width: 650px) {
  .leaderboard-settings-grid {
    grid-template-columns: 1fr;
  }
}


.active-season-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border-color: rgba(241, 196, 15, 0.35);
  background: linear-gradient(
    135deg,
    rgba(241, 196, 15, 0.09),
    rgba(var(--rh-accent-rgb), 0.04)
  );
}

.active-season-banner > div {
  display: grid;
  gap: 5px;
}

.active-season-banner > div > span {
  color: #f7dc6f;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.active-season-banner h2,
.active-season-banner p {
  margin: 0;
}

.season-create-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(190px, 1fr));
  gap: 14px;
}

.season-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(240px, 1fr));
  gap: 14px;
}

.season-card {
  display: grid;
  gap: 10px;
  padding: 16px;
  border: 1px solid #303038;
  border-radius: 10px;
  background: #141419;
  color: #fff;
  text-decoration: none;
  transition:
    transform 0.15s ease,
    border-color 0.15s ease;
}

.season-card:hover {
  transform: translateY(-2px);
  border-color: #555560;
}

.season-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--muted);
  font-size: 10px;
}

.season-card h3,
.season-card p {
  margin: 0;
}

.season-card p {
  min-height: 34px;
  color: var(--muted);
  font-size: 12px;
}

.season-card-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
}

.season-card-stats div {
  display: grid;
  gap: 3px;
  padding: 10px;
  border-radius: 8px;
  background: #101014;
}

.season-card-stats span {
  color: var(--muted);
  font-size: 9px;
}

.season-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

.season-status-value {
  font-size: 21px !important;
}

.season-date-value {
  font-size: 17px !important;
}

.status-planned {
  border-color: rgba(93, 173, 226, 0.45);
  color: #a9d8f7;
}

@media (max-width: 1050px) {
  .season-create-grid,
  .season-card-grid {
    grid-template-columns: repeat(2, minmax(210px, 1fr));
  }
}

@media (max-width: 650px) {
  .active-season-banner {
    align-items: stretch;
    flex-direction: column;
  }

  .season-create-grid,
  .season-card-grid {
    grid-template-columns: 1fr;
  }
}


.level-member-search {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

.level-member-search input {
  flex: 1 1 300px;
}

.level-member-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(240px, 1fr));
  gap: 14px;
}

.level-member-card {
  display: grid;
  gap: 10px;
  padding: 15px;
  border: 1px solid #303038;
  border-radius: 10px;
  background: #141419;
  color: #fff;
  text-decoration: none;
  transition:
    transform 0.15s ease,
    border-color 0.15s ease;
}

.level-member-card:hover {
  transform: translateY(-2px);
  border-color: #555560;
}

.level-member-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.level-member-rank {
  color: #f7dc6f;
  font-weight: 900;
}

.level-member-card > small {
  color: var(--muted);
  font-size: 10px;
}

.level-member-card-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 7px;
}

.level-member-card-stats span {
  display: grid;
  gap: 2px;
  padding: 8px;
  border-radius: 7px;
  background: #101014;
  color: var(--muted);
  font-size: 9px;
}

.level-member-card-stats b {
  color: #fff;
  font-size: 12px;
}

.member-profile-progress {
  display: grid;
  gap: 10px;
}

.member-profile-progress > div:last-child {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: var(--muted);
}

.member-xp-source-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(150px, 1fr));
  gap: 10px;
  margin-top: 16px;
}

.member-xp-source-grid > div {
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid #303038;
  border-radius: 8px;
  background: #101014;
}

.member-xp-source-grid span {
  color: var(--muted);
  font-size: 10px;
}

.active-member-season {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  border-color: rgba(241, 196, 15, 0.35);
}

.active-member-season > div {
  display: grid;
  gap: 4px;
}

.active-member-season span {
  color: #f7dc6f;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.active-member-season h2 {
  margin: 0;
}

.member-management-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

@media (max-width: 1000px) {
  .level-member-card-grid {
    grid-template-columns: repeat(2, minmax(230px, 1fr));
  }

  .member-xp-source-grid {
    grid-template-columns: repeat(2, minmax(150px, 1fr));
  }
}

@media (max-width: 650px) {
  .level-member-card-grid,
  .member-xp-source-grid {
    grid-template-columns: 1fr;
  }

  .member-profile-progress > div:last-child,
  .active-member-season {
    align-items: stretch;
    flex-direction: column;
  }

  .member-management-actions {
    flex-direction: column;
  }

  .member-management-actions form,
  .member-management-actions button {
    width: 100%;
  }
}


.command-settings-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(210px, 1fr));
  gap: 14px;
}

.command-channel-form {
  display: grid;
  grid-template-columns: minmax(250px, 1fr) auto;
  gap: 10px;
  margin-bottom: 16px;
}

.command-preview-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(220px, 1fr));
  gap: 12px;
}

.command-preview-grid article {
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 1px solid #303038;
  border-radius: 9px;
  background: #121217;
}

.command-preview-grid code {
  color: #f7dc6f;
  font-size: 13px;
  font-weight: 900;
}

.command-preview-grid span {
  color: var(--muted);
  font-size: 11px;
}

@media (max-width: 900px) {
  .command-settings-grid,
  .command-preview-grid {
    grid-template-columns: repeat(2, minmax(210px, 1fr));
  }
}

@media (max-width: 650px) {
  .command-settings-grid,
  .command-preview-grid,
  .command-channel-form {
    grid-template-columns: 1fr;
  }
}


.achievement-create-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(210px, 1fr));
  gap: 14px;
}

.achievement-list {
  display: grid;
  gap: 12px;
}

.achievement-row {
  display: grid;
  grid-template-columns:
    46px
    minmax(170px, 1fr)
    140px
    130px
    minmax(180px, 1fr)
    minmax(180px, 1fr)
    120px;
  gap: 10px;
  align-items: end;
  padding: 13px;
  border: 1px solid #303038;
  border-radius: 9px;
  background: #121217;
}

.achievement-icon {
  display: grid;
  place-items: center;
  align-self: center;
  min-height: 48px;
  border: 1px solid rgba(241, 196, 15, 0.35);
  border-radius: 9px;
  background: rgba(241, 196, 15, 0.06);
  font-size: 22px;
}

.achievement-description,
.achievement-message {
  grid-column: span 3;
}

.achievement-earned {
  display: grid;
  gap: 4px;
  align-self: center;
  padding: 9px;
  border-radius: 8px;
  background: #101014;
}

.achievement-earned span {
  color: var(--muted);
  font-size: 9px;
}

.achievement-earned strong {
  color: #f7dc6f;
  font-size: 18px;
}

.achievement-actions {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 7px;
}

.achievement-detail-value {
  font-size: 17px !important;
}

@media (max-width: 1200px) {
  .achievement-row {
    grid-template-columns:
      46px
      repeat(3, minmax(170px, 1fr));
  }

  .achievement-description,
  .achievement-message {
    grid-column: span 2;
  }
}

@media (max-width: 850px) {
  .achievement-create-grid,
  .achievement-row {
    grid-template-columns: repeat(2, minmax(180px, 1fr));
  }

  .achievement-icon,
  .achievement-actions {
    grid-column: 1 / -1;
  }

  .achievement-description,
  .achievement-message {
    grid-column: span 1;
  }
}

@media (max-width: 600px) {
  .achievement-create-grid,
  .achievement-row {
    grid-template-columns: 1fr;
  }

  .achievement-icon,
  .achievement-actions {
    grid-column: auto;
  }

  .achievement-actions {
    flex-direction: column;
  }

  .achievement-actions .button {
    width: 100%;
  }
}


.prestige-settings-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(210px, 1fr));
  gap: 14px;
}

.prestige-reward-create {
  display: grid;
  grid-template-columns: 180px minmax(260px, 1fr) auto;
  align-items: end;
  gap: 14px;
}

.prestige-reward-list {
  display: grid;
  gap: 10px;
}

.prestige-reward-row {
  display: grid;
  grid-template-columns:
    50px
    150px
    minmax(240px, 1fr)
    140px
    auto;
  align-items: end;
  gap: 12px;
  padding: 13px;
  border: 1px solid #303038;
  border-radius: 9px;
  background: #121217;
}

.prestige-star {
  display: grid;
  place-items: center;
  align-self: center;
  width: 40px;
  height: 40px;
  border: 1px solid rgba(241, 196, 15, 0.45);
  border-radius: 50%;
  background: rgba(241, 196, 15, 0.08);
  color: #f7dc6f;
  font-size: 20px;
  box-shadow: 0 0 12px rgba(241, 196, 15, 0.12);
}

.prestige-reward-actions {
  display: flex;
  gap: 7px;
  align-items: center;
  padding-bottom: 1px;
}

.prestige-value {
  color: #f7dc6f;
}

@media (max-width: 950px) {
  .prestige-settings-grid {
    grid-template-columns: repeat(2, minmax(210px, 1fr));
  }

  .prestige-reward-row {
    grid-template-columns: 50px repeat(2, minmax(180px, 1fr));
  }

  .prestige-reward-actions {
    grid-column: 2 / -1;
  }
}

@media (max-width: 650px) {
  .prestige-settings-grid,
  .prestige-reward-create,
  .prestige-reward-row {
    grid-template-columns: 1fr;
  }

  .prestige-reward-actions {
    grid-column: auto;
    flex-direction: column;
    align-items: stretch;
  }
}


.decay-settings-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(210px, 1fr));
  gap: 14px;
}

.decay-role-form {
  display: grid;
  grid-template-columns: minmax(250px, 1fr) auto;
  gap: 10px;
  margin-bottom: 16px;
}

@media (max-width: 900px) {
  .decay-settings-grid {
    grid-template-columns: repeat(2, minmax(210px, 1fr));
  }
}

@media (max-width: 650px) {
  .decay-settings-grid,
  .decay-role-form {
    grid-template-columns: 1fr;
  }
}


.reward-sync-panel {
  border-color: rgba(241, 196, 15, 0.28);
}

.reward-sync-status {
  display: grid;
  grid-template-columns: repeat(5, minmax(130px, 1fr));
  gap: 10px;
}

.reward-sync-status > div {
  display: grid;
  gap: 5px;
  padding: 12px;
  border: 1px solid #303038;
  border-radius: 8px;
  background: #101014;
}

.reward-sync-status span {
  color: var(--muted);
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
}

.reward-sync-status strong {
  font-size: 16px;
}

@media (max-width: 900px) {
  .reward-sync-status {
    grid-template-columns: repeat(2, minmax(140px, 1fr));
  }
}

@media (max-width: 550px) {
  .reward-sync-status {
    grid-template-columns: 1fr;
  }
}


.analytics-filter-panel {
  padding: 12px;
}

.analytics-period-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.analytics-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(170px, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}

.analytics-summary-card {
  display: grid;
  gap: 5px;
}

.analytics-summary-card span,
.analytics-summary-card small {
  color: var(--muted);
}

.analytics-summary-card span {
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.analytics-summary-card strong {
  font-size: 23px;
}

.analytics-chart-scroll {
  overflow-x: auto;
  padding-bottom: 8px;
}

.analytics-bar-chart {
  display: flex;
  align-items: end;
  gap: 10px;
  min-width: max-content;
  min-height: 280px;
  padding: 20px 10px 0;
  border-bottom: 1px solid #303038;
}

.analytics-day-column {
  display: grid;
  justify-items: center;
  gap: 5px;
  min-width: 48px;
}

.analytics-day-column > strong {
  font-size: 9px;
}

.analytics-day-column > span {
  color: var(--muted);
  font-size: 9px;
}

.analytics-bar {
  display: flex;
  flex-direction: column-reverse;
  justify-content: flex-start;
  width: 28px;
  min-height: 3px;
  overflow: hidden;
  border-radius: 5px 5px 0 0;
  background: #101014;
}

.analytics-segment {
  display: block;
  width: 100%;
  min-height: 0;
}

.segment-message {
  background: #5dade2;
}

.segment-voice {
  background: #58d68d;
}

.segment-bonus {
  background: #f4d03f;
}

.segment-manual {
  background: #af7ac5;
}

.analytics-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 13px;
  color: var(--muted);
  font-size: 10px;
}

.analytics-legend span {
  display: flex;
  align-items: center;
  gap: 6px;
}

.analytics-legend i {
  width: 10px;
  height: 10px;
  border-radius: 2px;
}

.analytics-two-column {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.analytics-source-list,
.analytics-weekday-list {
  display: grid;
  gap: 9px;
}

.analytics-source-list > div,
.analytics-weekday-list > div {
  display: grid;
  gap: 4px;
  padding: 11px;
  border: 1px solid #303038;
  border-radius: 8px;
  background: #101014;
}

.analytics-source-list span,
.analytics-weekday-list span,
.analytics-source-list small,
.analytics-weekday-list small {
  color: var(--muted);
  font-size: 10px;
}

.analytics-weekday-list > div {
  grid-template-columns: 120px 1fr;
  align-items: center;
}

.analytics-weekday-list > div > div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

@media (max-width: 1050px) {
  .analytics-summary-grid {
    grid-template-columns: repeat(2, minmax(170px, 1fr));
  }

  .analytics-two-column {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  .analytics-summary-grid {
    grid-template-columns: 1fr;
  }

  .analytics-weekday-list > div,
  .analytics-weekday-list > div > div {
    grid-template-columns: 1fr;
    flex-direction: column;
  }
}


/* Dashboard Navigation Accordion – v5.8.0 */
details.sidebar-group {
  display: block;
  padding: 7px;
}

details.sidebar-group > summary {
  list-style: none;
  cursor: pointer;
  user-select: none;
}

details.sidebar-group > summary::-webkit-details-marker {
  display: none;
}

.sidebar-group-title {
  width: 100%;
  border-radius: 7px;
  transition:
    background 0.15s ease,
    color 0.15s ease;
}

details.sidebar-group > summary:hover {
  background: #1a1a20;
  color: #d8d8de;
}

details.sidebar-group.group-active > summary {
  color: #f7dc6f;
}

.sidebar-group-name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sidebar-group-chevron {
  width: 8px;
  height: 8px;
  margin-left: auto;
  border-right: 2px solid #73737c;
  border-bottom: 2px solid #73737c;
  transform: rotate(45deg);
  transition:
    transform 0.18s ease,
    border-color 0.18s ease;
}

.sidebar-group-badge + .sidebar-group-chevron {
  margin-left: 2px;
}

details.sidebar-group[open]
  > summary
  .sidebar-group-chevron {
  transform: rotate(225deg);
  border-color: #d5aa24;
}

.sidebar-group-content {
  display: grid;
  gap: 3px;
  padding-top: 3px;
  overflow: hidden;
  animation: sidebar-group-open 0.16s ease;
}

details.sidebar-group:not([open])
  > .sidebar-group-content {
  display: none;
}

@keyframes sidebar-group-open {
  from {
    opacity: 0;
    transform: translateY(-3px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.sidebar-group-planned {
  padding-top: 7px;
}

.sidebar-group-planned[open] {
  border-radius: 10px;
}

@media (prefers-reduced-motion: reduce) {
  .sidebar-group-content,
  .sidebar-group-chevron {
    animation: none;
    transition: none;
  }
}


.season-reward-selector { max-width: 560px; }
.season-reward-stat { font-size: 17px !important; }

.season-reward-create {
  display: grid;
  grid-template-columns: 140px 140px minmax(240px, 1fr) 140px auto;
  align-items: end;
  gap: 12px;
}

.season-reward-list { display: grid; gap: 10px; }

.season-reward-row {
  display: grid;
  grid-template-columns: 50px 130px 130px minmax(240px, 1fr) 140px auto;
  align-items: end;
  gap: 12px;
  padding: 13px;
  border: 1px solid #303038;
  border-radius: 9px;
  background: #121217;
}

.season-reward-medal {
  display: grid;
  place-items: center;
  align-self: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(241, 196, 15, 0.4);
  border-radius: 50%;
  background: rgba(241, 196, 15, 0.07);
  font-size: 20px;
}

.season-reward-actions {
  display: flex;
  gap: 7px;
  align-items: center;
}

.season-reward-process-panel {
  border-color: rgba(241, 196, 15, 0.36);
  background: linear-gradient(135deg,
    rgba(241, 196, 15, 0.07),
    rgba(var(--rh-accent-rgb), 0.03));
}

@media (max-width: 1050px) {
  .season-reward-create {
    grid-template-columns: repeat(2, minmax(180px, 1fr));
  }
  .season-reward-row {
    grid-template-columns: 50px repeat(2, minmax(170px, 1fr));
  }
  .season-reward-actions { grid-column: 2 / -1; }
}

@media (max-width: 650px) {
  .season-reward-create,
  .season-reward-row { grid-template-columns: 1fr; }
  .season-reward-actions {
    grid-column: auto;
    flex-direction: column;
    align-items: stretch;
  }
}


.welcome-settings-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(210px, 1fr));
  gap: 14px;
}

.welcome-add-segment {
  display: grid;
  grid-template-columns: minmax(230px, 1fr) auto;
  gap: 10px;
  margin-bottom: 16px;
}

.welcome-segment-list {
  display: grid;
  gap: 14px;
}

.welcome-segment-card {
  display: grid;
  gap: 13px;
  padding: 15px;
  border: 1px solid #303038;
  border-radius: 10px;
  background: #121217;
}

.welcome-segment-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.welcome-segment-header > div {
  display: flex;
  align-items: center;
  gap: 9px;
}

.welcome-position {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 1px solid rgba(241, 196, 15, 0.4);
  border-radius: 50%;
  color: #f7dc6f;
  font-size: 11px;
  font-weight: 900;
}

.welcome-order-actions,
.welcome-segment-actions {
  display: flex;
  gap: 7px;
}

.welcome-order-actions .button {
  min-width: 36px;
  padding: 7px 10px;
}

.welcome-embed-grid {
  display: grid;
  grid-template-columns: 1fr 110px;
  gap: 12px;
}

.welcome-image-preview {
  overflow: hidden;
  max-width: 620px;
  border: 1px solid #303038;
  border-radius: 9px;
  background: #0d0d11;
}

.welcome-image-preview img {
  display: block;
  width: 100%;
  max-height: 320px;
  object-fit: contain;
}

.welcome-placeholder-info {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-items: center;
  padding: 10px;
  border-radius: 8px;
  background: #101014;
  color: var(--muted);
  font-size: 10px;
}

.welcome-placeholder-info code {
  padding: 3px 6px;
  border: 1px solid #303038;
  border-radius: 5px;
  color: #f7dc6f;
}

.welcome-test-status {
  display: grid;
  grid-template-columns: repeat(3, minmax(180px, 1fr));
  gap: 10px;
}

.welcome-test-status > div {
  display: grid;
  gap: 5px;
  padding: 12px;
  border: 1px solid #303038;
  border-radius: 8px;
  background: #101014;
}

.welcome-test-status span {
  color: var(--muted);
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
}

.welcome-error {
  display: block;
  max-width: 400px;
  margin-top: 4px;
  color: var(--rh-accent);
  white-space: normal;
}

@media (max-width: 900px) {
  .welcome-settings-grid,
  .welcome-test-status {
    grid-template-columns: repeat(2, minmax(190px, 1fr));
  }
}

@media (max-width: 650px) {
  .welcome-settings-grid,
  .welcome-add-segment,
  .welcome-test-status,
  .welcome-embed-grid {
    grid-template-columns: 1fr;
  }

  .welcome-segment-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .welcome-segment-actions {
    flex-direction: column;
  }
}

.birthday-settings-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(210px,1fr));
  gap:14px;
}
.birthday-create-form {
  display:grid;
  grid-template-columns:repeat(6,minmax(120px,1fr)) auto;
  align-items:end;
  gap:10px;
}
.birthday-list { display:grid; gap:10px; }
.birthday-row {
  display:grid;
  grid-template-columns:58px minmax(170px,1fr) minmax(150px,1fr)
    80px 80px 100px 120px auto;
  align-items:end;
  gap:10px;
  padding:12px;
  border:1px solid #303038;
  border-radius:9px;
  background:#121217;
}
.birthday-date-badge {
  display:grid;
  place-items:center;
  width:50px;
  height:50px;
  border:1px solid rgba(var(--rh-accent-rgb), .45);
  border-radius:10px;
  background:rgba(var(--rh-accent-rgb), .08);
}
.birthday-date-badge strong { font-size:18px; line-height:1; }
.birthday-date-badge span { color:var(--rh-accent); font-size:10px; }
.birthday-row-actions { display:flex; gap:6px; }
.birthday-test-status {
  display:grid;
  grid-template-columns:repeat(3,minmax(180px,1fr));
  gap:10px;
}
.birthday-test-status>div {
  display:grid;
  gap:5px;
  padding:12px;
  border:1px solid #303038;
  border-radius:8px;
  background:#101014;
}
.birthday-test-status span {
  color:var(--muted);
  font-size:9px;
  font-weight:800;
  text-transform:uppercase;
}
@media(max-width:1000px){
  .birthday-settings-grid,.birthday-create-form,.birthday-row {
    grid-template-columns:repeat(2,minmax(170px,1fr));
  }
}
@media(max-width:650px){
  .birthday-settings-grid,.birthday-create-form,.birthday-row,
  .birthday-test-status { grid-template-columns:1fr; }
  .birthday-row-actions { flex-direction:column; }
}
.community-list-form{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:14px}.community-list-form label{display:grid;gap:7px}.community-list-form .span-2{grid-column:1/-1}.community-list-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.community-list-card{display:flex;justify-content:space-between;gap:16px;padding:16px;border:1px solid #303038;border-radius:10px;background:#121217;text-decoration:none;color:inherit}.community-list-card:hover{border-color:var(--rh-accent)}.community-list-card h3{margin:8px 0 4px}.community-list-meta{display:flex;flex-direction:column;align-items:flex-end;gap:7px;color:var(--muted);font-size:12px}.publish-grid{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:10px;margin-bottom:14px}.publish-grid>div{display:grid;gap:5px;padding:13px;border:1px solid #303038;border-radius:8px;background:#101014}.publish-grid span{color:var(--muted);font-size:10px;text-transform:uppercase;font-weight:800}.check-grid{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.test-member-list{display:grid;gap:8px;margin-top:14px}.test-member-list>div{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border:1px solid #303038;border-radius:8px}.test-member-list span{display:grid;gap:3px}.test-member-list small{color:var(--muted)}@media(max-width:700px){.community-list-form,.publish-grid{grid-template-columns:1fr}.community-list-form .span-2{grid-column:auto}.community-list-card{flex-direction:column}.community-list-meta{align-items:flex-start}}

/* Unified module layout: lists, statistics and role management */
.module-settings-grid {
  display: grid;
  gap: 14px;
  align-items: start;
}
.module-settings-grid-2 { grid-template-columns: repeat(2, minmax(220px, 1fr)); }
.module-settings-grid-4 { grid-template-columns: repeat(4, minmax(180px, 1fr)); }
.module-settings-grid-5 { grid-template-columns: repeat(5, minmax(150px, 1fr)); }
.module-settings-grid.compact { margin-top: 16px; }
.module-field-wide { grid-column: 1 / -1; }
.module-field-wide select { min-height: 150px; }
.module-card-list,
.module-list-overview { display: grid; gap: 14px; }
.module-list-overview { grid-template-columns: repeat(2, minmax(280px, 1fr)); }
.module-entry-card,
.module-overview-card {
  display: grid;
  gap: 15px;
  padding: 18px;
  border: 1px solid #303038;
  border-radius: 10px;
  background: #121217;
}
.module-overview-card { color: inherit; text-decoration: none; transition: border-color .18s ease, transform .18s ease; }
.module-overview-card:hover { border-color: rgba(var(--rh-accent-rgb), .72); transform: translateY(-1px); }
.module-entry-header { display: flex; justify-content: space-between; gap: 18px; align-items: flex-start; }
.module-entry-header h3 { margin-top: 7px; font-size: 18px; }
.module-entry-header p { margin-top: 5px; color: var(--muted); }
.module-entry-id { color: var(--muted); font-size: 12px; word-break: break-all; }
.module-counter-value { min-width: 46px; color: #fff; font-size: 28px; font-weight: 800; text-align: right; }
.module-meta-grid { display: grid; grid-template-columns: repeat(3, minmax(150px, 1fr)); gap: 10px; }
.module-meta-grid-inline { margin-top: 16px; }
.module-meta-grid > div { display: grid; gap: 5px; padding: 12px; border: 1px solid #303038; border-radius: 8px; background: #101014; }
.module-meta-grid span { color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.module-meta-grid strong { font-size: 13px; overflow-wrap: anywhere; }
.module-toggle { display: flex; gap: 12px; align-items: flex-start; margin-top: 16px; padding: 13px 14px; border: 1px solid #303038; border-radius: 9px; background: #101014; }
.module-toggle input { margin-top: 3px; accent-color: var(--rh-accent); }
.module-toggle > span { display: grid; gap: 4px; }
.module-toggle small { color: var(--muted); }
.module-action-row { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 9px; margin-top: 16px; }
.module-action-row form { margin: 0; }
.module-error { padding: 11px 13px; border: 1px solid rgba(var(--rh-accent-rgb), .35); border-radius: 8px; background: rgba(var(--rh-accent-rgb), .08); color: var(--rh-accent); overflow-wrap: anywhere; }
.module-info-panel { border-left: 3px solid rgba(var(--rh-accent-rgb), .75); }
.module-info-panel p { margin-top: 8px; color: var(--muted); }
.module-card-link { color: var(--rh-accent); font-size: 13px; font-weight: 700; }

@media (max-width: 1250px) {
  .module-settings-grid-5 { grid-template-columns: repeat(3, minmax(180px, 1fr)); }
  .module-settings-grid-4 { grid-template-columns: repeat(2, minmax(210px, 1fr)); }
}
@media (max-width: 900px) {
  .module-settings-grid-5,
  .module-settings-grid-4,
  .module-settings-grid-2,
  .module-list-overview,
  .module-meta-grid { grid-template-columns: repeat(2, minmax(180px, 1fr)); }
}
@media (max-width: 650px) {
  .module-settings-grid-5,
  .module-settings-grid-4,
  .module-settings-grid-2,
  .module-list-overview,
  .module-meta-grid { grid-template-columns: 1fr; }
  .module-entry-header { flex-direction: column; }
  .module-counter-value { text-align: left; }
  .module-action-row { flex-direction: column; align-items: stretch; }
  .module-action-row .button { width: 100%; }
}

.module-checkbox-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 12px;
}
.application-field-builder{display:grid;gap:12px;margin-top:16px}.application-answer-list{display:grid;gap:10px}.application-answer-list>div{padding:13px;border:1px solid #303038;border-radius:9px;background:#101014}.application-answer-list span{display:block;margin-bottom:6px;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.application-answer-list p{white-space:pre-wrap;overflow-wrap:anywhere}


/* Navigation width and overflow fix – v6.22.0 */
.sidebar { min-width: 260px; max-width: 260px; overflow: hidden; }
.sidebar-navigation { min-width: 0; width: 100%; overflow-x: hidden; overflow-y: auto; scrollbar-gutter: stable; }
.sidebar-group, details.sidebar-group, .sidebar-group-title, .sidebar-group-content, .nav-link-child { min-width: 0; max-width: 100%; }
.sidebar-group-name { flex: 1 1 auto; min-width: 0; white-space: normal; overflow-wrap: anywhere; line-height: 1.25; }
.nav-link-child { white-space: normal; overflow-wrap: anywhere; line-height: 1.3; padding-right: 8px; }
.sidebar-group-symbol, .sidebar-group-chevron, .sidebar-group-badge { flex: 0 0 auto; }
.sidebar-navigation * { max-width: 100%; }
@media (max-width: 1100px) { .sidebar { min-width: 238px; max-width: 238px; width: 238px; } }

.section-divider{margin-top:8px;padding-top:18px;border-top:1px solid #303038}.section-divider h3{margin:0 0 5px}.community-list-form input[type=color]{min-height:46px;padding:5px}.community-list-form small{font-size:12px;line-height:1.45}

/* LFG fixed brand banner v6.25.1 */
.lfg-fixed-banner{display:grid;gap:10px;padding:12px;border:1px solid var(--border,#2a2d36);border-radius:12px;background:rgba(255,255,255,.02)}
.lfg-fixed-banner img{display:block;width:100%;max-height:250px;object-fit:cover;border-radius:9px;border:1px solid rgba(255,255,255,.08)}

body[data-rh-theme="red"] {
  --rh-accent: #ef233c;
  --rh-accent-2: #c9162c;
  --rh-accent-bright: #ff4f63;
  --rh-accent-deep: #8e0e20;
  --rh-accent-rgb: 239, 35, 60;
}

body[data-rh-theme="green"] {
  --rh-accent: #37d787;
  --rh-accent-2: #1ebf69;
  --rh-accent-bright: #58e79d;
  --rh-accent-deep: #128a49;
  --rh-accent-rgb: 55, 215, 135;
}

body[data-rh-theme="yellow"] {
  --rh-accent: #f5b942;
  --rh-accent-2: #e0a11a;
  --rh-accent-bright: #ffd26d;
  --rh-accent-deep: #a36d08;
  --rh-accent-rgb: 245, 185, 66;
}

body[data-rh-theme="blue"] {
  --rh-accent: #4d8dff;
  --rh-accent-2: #2d74eb;
  --rh-accent-bright: #7daeff;
  --rh-accent-deep: #164daf;
  --rh-accent-rgb: 77, 141, 255;
}

body[data-rh-theme="cyan"] {
  --rh-accent: #2dd4ff;
  --rh-accent-2: #11bbeb;
  --rh-accent-bright: #6fe5ff;
  --rh-accent-deep: #0a7f98;
  --rh-accent-rgb: 45, 212, 255;
}

body[data-rh-theme="orange"] {
  --rh-accent: #ff8a3d;
  --rh-accent-2: #e76f20;
  --rh-accent-bright: #ffb170;
  --rh-accent-deep: #a84b0e;
  --rh-accent-rgb: 255, 138, 61;
}

/* v8.3.0: legacy accent aliases follow the currently selected user theme. */
body[data-rh-theme] {
  --red: var(--rh-accent);
  --rh-red: var(--rh-accent);
  --rh-red-2: var(--rh-accent-2);
  --rh-red-soft: rgba(var(--rh-accent-rgb), .12);
  --rh8-red: var(--rh-accent);
  --rh8-red-bright: var(--rh-accent-bright);
  --rh8-red-deep: var(--rh-accent-deep);
}

/* RANKHOUSE Ticket Workflow Pro v11.4 */
.ticket-assignment-panel,
.ticket-workflow-panel {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid var(--border, #303038);
}

.ticket-workflow-list {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}

.ticket-workflow-item {
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, .08);
  border-left: 3px solid #ef233c;
  border-radius: 10px;
  background: rgba(255, 255, 255, .025);
}

.ticket-workflow-item > span,
.ticket-workflow-item > small,
.archive-ticket-reference {
  color: var(--muted, #9696a2);
  font-size: 12px;
}

.ticket-workflow-item p {
  margin: 5px 0 0;
  white-space: pre-wrap;
}

.archive-hash {
  white-space: nowrap;
  font-size: 12px;
}

/* RANKHOUSE Geburtstage Pro v11.5 */
.birthday-pro-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.birthday-pro-stats article{padding:18px;border:1px solid var(--rh-border);border-radius:16px;background:linear-gradient(145deg,var(--rh-panel),rgba(55,210,255,.05));display:grid;gap:5px}.birthday-pro-stats span,.birthday-pro-stats small{color:var(--rh-muted)}.birthday-pro-stats strong{font-size:30px;line-height:1;color:var(--rh-text)}.birthday-upcoming-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:12px}.birthday-upcoming-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:14px;border:1px solid var(--rh-border);border-radius:14px;background:rgba(255,255,255,.025)}.birthday-upcoming-card p{margin:4px 0 0;color:var(--rh-muted);font-size:13px}.birthday-row-pro{grid-template-columns:58px minmax(150px,1.15fr) minmax(140px,1fr) 70px 78px 92px minmax(120px,.8fr) minmax(105px,.65fr) minmax(135px,.8fr) auto}.birthday-entry-meta{display:flex;flex-direction:column;justify-content:center;gap:4px;color:var(--rh-muted);font-size:12px}.birthday-entry-meta span{color:var(--rh-text);font-weight:700}.birthday-change-log{display:grid;gap:9px}.birthday-change-log article{display:grid;grid-template-columns:1fr auto;gap:4px 14px;padding:13px 15px;border:1px solid var(--rh-border);border-radius:12px;background:rgba(255,255,255,.02)}.birthday-change-log article>div{display:flex;align-items:center;gap:9px}.birthday-change-log p{margin:0;color:var(--rh-muted);font-size:13px}.birthday-change-log time{grid-column:2;grid-row:1 / span 2;align-self:center;color:var(--rh-muted);font-size:12px}@media(max-width:1250px){.birthday-pro-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.birthday-row-pro{grid-template-columns:58px repeat(3,minmax(130px,1fr))}.birthday-entry-meta,.birthday-row-actions{grid-column:auto/span 2}}@media(max-width:720px){.birthday-pro-stats{grid-template-columns:1fr}.birthday-upcoming-card{grid-template-columns:auto 1fr}.birthday-upcoming-card .status-pill{grid-column:1/-1}.birthday-row-pro{grid-template-columns:1fr}.birthday-row-pro .birthday-date-badge{justify-self:start}.birthday-entry-meta,.birthday-row-actions{grid-column:auto}.birthday-change-log article{grid-template-columns:1fr}.birthday-change-log time{grid-column:1;grid-row:auto}}
