/* Chat management and RP commands: compact accordion editor for Telegram WebView. */
#settings-panel-rp,
#settings-panel-rp * { box-sizing: border-box; }
.rp-command-editor-home,
.rp-command-editor-home * { box-sizing: border-box; }
#settings-panel-rp { max-width: 100%; overflow-x: clip; }
#settings-panel-rp .settings-card,
#settings-panel-rp .settings-field,
#settings-panel-rp .rp-command-main,
#settings-panel-rp .rp-command-copy,
#settings-panel-rp .rp-command-editor { min-width: 0; max-width: 100%; }
#settings-panel-rp .settings-card-head { align-items: center; gap: 12px; }
#settings-panel-rp .settings-card-head > div,
#settings-panel-rp .rp-command-copy { min-width: 0; }
#settings-panel-rp .settings-card-head h3,
#settings-panel-rp .settings-help-box,
#settings-panel-rp .settings-help,
#settings-panel-rp .settings-field span { overflow-wrap: anywhere; }

.rp-toolbar {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas: "search add" "count count";
  align-items: center;
  gap: 8px !important;
  margin: 14px 0 9px !important;
}
.rp-search {
  grid-area: search;
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  align-items: center;
  gap: 7px;
  min-width: 0;
  min-height: 44px;
  padding: 0 11px;
  border: 1px solid rgb(var(--gm-ink-50-rgb) / 0.09);
  border-radius: 12px;
  color: var(--muted);
  background: rgb(var(--gm-ink-50-rgb) / 0.035);
}
.rp-search:focus-within { border-color: rgb(var(--gm-violet-500-rgb) / 0.62); box-shadow: 0 0 0 3px rgb(var(--gm-violet-500-rgb) / 0.066); }
.rp-search input {
  width: 100%; min-width: 0; height: 42px; padding: 0; border: 0; outline: 0;
  color: var(--text); background: transparent; font: inherit; font-size: 13px;
}
.rp-add-button {
  grid-area: add; display: inline-flex !important; align-items: center; justify-content: center;
  gap: 5px; width: auto !important; min-width: 100px; min-height: 44px;
  padding: 0 13px !important; white-space: nowrap;
}
#rp-command-count { grid-area: count; justify-self: start; font-size: 11px; }

#settings-panel-rp .rp-command-list {
  display: grid !important;
  grid-template-columns: minmax(0,1fr);
  width: 100%;
  max-height: none !important;
  height: auto !important;
  gap: 8px !important;
  margin-top: 9px;
  padding-right: 0;
  overflow: visible !important;
}
#settings-panel-rp .rp-command-row {
  display: block !important; width: 100%; min-width: 0; padding: 0 !important; overflow: hidden;
  border: 1px solid rgb(var(--gm-ink-50-rgb) / 0.085) !important; border-radius: 16px !important;
  background: linear-gradient(135deg,rgb(var(--gm-violet-500-rgb) / 0.09),transparent 62%),var(--gm-ink-900) !important;
  transition: border-color .18s ease, box-shadow .18s ease;
}
.rp-command-row.is-expanded { border-color: rgb(var(--gm-violet-500-rgb) / 0.58) !important; box-shadow: 0 8px 26px rgb(var(--gm-violet-800-rgb) / 0.121); }
.rp-command-summary {
  display: grid; grid-template-columns: minmax(0,1fr) 44px; align-items: center;
  gap: 8px; min-height: 72px; padding: 8px 9px;
}
.rp-command-main {
  display: grid !important; grid-template-columns: 42px minmax(0,1fr); align-items: center;
  gap: 10px; width: 100%; min-height: 54px; padding: 4px !important;
  border: 0; border-radius: 12px; color: inherit; text-align: left; background: transparent;
}
.rp-command-main:focus-visible,
.rp-delete:focus-visible,
.rp-add-button:focus-visible,
.rp-editor-tab:focus-visible { outline: 2px solid var(--gm-violet-400); outline-offset: 2px; }
.rp-command-icon {
  display: grid; place-items: center; width: 42px; height: 42px;
  border: 1px solid rgb(var(--gm-ink-50-rgb) / 0.08); border-radius: 12px;
  background: rgb(var(--gm-violet-500-rgb) / 0.17); font-size: 18px;
}
.rp-command-copy strong {
  display: flex; align-items: center; flex-wrap: wrap; gap: 5px !important;
  min-width: 0; font-size: 15px !important; line-height: 1.25;
}
.rp-command-copy strong > span { min-width: 0; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rp-command-copy small { min-width: 0; }
.rp-command-copy small {
  display: block; margin-top: 3px; overflow: hidden; color: var(--muted);
  font-size: 11px !important; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap !important;
}
.rp-base-badge {
  flex: 0 0 auto; padding: 3px 6px !important; border: 1px solid rgb(var(--gm-ink-50-rgb) / 0.11);
  border-radius: 999px !important; color: var(--gm-violet-300); font-size: 8px !important;
  font-style: normal; line-height: 1 !important;
}
.rp-row-switch { display: grid; place-items: center; width: 44px; min-width: 44px; min-height: 48px; margin: 0; }
.rp-row-switch > span { width: 40px !important; height: 24px !important; }
.rp-row-switch > span::after { width: 18px !important; height: 18px !important; left: 3px !important; top: 3px !important; }
.rp-row-switch input:checked + span::after { transform: translateX(16px) !important; }
.rp-row-switch input:disabled + span { opacity: .45; }
.rp-command-empty {
  display: grid; place-items: center; min-height: 92px; padding: 18px 14px;
  border: 1px dashed rgb(var(--gm-ink-50-rgb) / 0.1); border-radius: 12px; color: var(--muted);
  font-size: 12px; line-height: 1.45; text-align: center;
}
.rp-command-empty.is-loading::before {
  content: ""; width: 20px; height: 20px; margin-bottom: 8px;
  border: 2px solid rgb(var(--gm-ink-50-rgb) / 0.14); border-top-color: var(--gm-violet-400);
  border-radius: 50%; animation: rp-spin .75s linear infinite;
}
.rp-command-empty.is-error { border-color: rgb(var(--gm-red-400-rgb) / 0.25); color: var(--gm-red-400); }
@keyframes rp-spin { to { transform: rotate(360deg); } }

.rp-command-editor-home {
  position: fixed; z-index: 80; inset: 0; display: none; align-items: flex-end; justify-content: center;
  width: 100%; padding-top: max(12px,env(safe-area-inset-top));
}
.rp-command-editor-home.is-open { display: flex; }
.rp-command-editor-backdrop {
  position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; border: 0;
  background: rgb(var(--gm-ink-950-rgb) / 0.76); backdrop-filter: blur(7px); -webkit-backdrop-filter: blur(7px);
}
body.rp-editor-open { overflow: hidden; }
.rp-command-editor {
  position: relative; z-index: 1; width: min(100%,720px); max-height: calc(100dvh - max(12px,env(safe-area-inset-top)));
  margin: 0 !important; padding: 0 14px max(14px,env(safe-area-inset-bottom)) !important;
  border: 1px solid rgb(var(--gm-ink-50-rgb) / 0.13) !important; border-bottom: 0 !important;
  border-radius: 20px 20px 0 0 !important; overflow-x: hidden; overflow-y: auto;
  overscroll-behavior: contain; background: var(--gm-ink-850) !important; box-shadow: 0 -20px 70px rgb(var(--gm-ink-950-rgb) / 0.45);
}
.rp-command-editor-home .rp-command-editor { margin: 0 !important; }
.rp-command-editor .community-note-editor-head {
  position: sticky; z-index: 4; top: 0; display: flex; align-items: center; justify-content: space-between; gap: 10px;
  margin: 0 -14px; padding: 12px 14px 9px; border-bottom: 1px solid rgb(var(--gm-ink-50-rgb) / 0.07);
  background: rgb(var(--gm-ink-850-rgb) / 0.96); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
}
.rp-command-editor .community-note-editor-head > span { display: grid; min-width: 0; overflow: hidden; gap: 1px; }
.rp-command-editor .community-note-editor-head small { color: var(--gm-ink-300); font-size: 9px; font-weight:700; letter-spacing: .04em; text-transform: uppercase; }
.rp-command-editor .community-note-editor-head strong { min-width: 0; overflow: hidden; font-size: 16px; text-overflow: ellipsis; white-space: nowrap; }
.rp-command-editor .community-note-editor-head .text-button { min-height: 44px; padding: 8px; }
.rp-editor-tabs {
  position: sticky; z-index: 3; top: 66px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 5px; margin: 0 -14px 12px; padding: 8px 10px;
  border-bottom: 1px solid rgb(var(--gm-ink-50-rgb) / 0.07); background: rgb(var(--gm-ink-850-rgb) / 0.96);
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
}
.rp-editor-tab {
  display: grid; grid-template-columns: auto minmax(0,auto); align-items: center; justify-content: center; gap: 4px;
  min-width: 0; min-height: 44px; padding: 6px 4px; border: 1px solid transparent; border-radius: 12px;
  color: var(--gm-ink-300); background: rgb(var(--gm-ink-50-rgb) / 0.025); font-size: 10px; font-weight:700; line-height: 1.15;
}
.rp-editor-tab.active { border-color: rgb(var(--gm-ink-50-rgb) / 0.13); color: var(--gm-ink-50); background: rgb(var(--gm-violet-500-rgb) / 0.22); }
.rp-editor-tab > span { font-size: 13px; }
.rp-editor-panels { min-height: 300px; }
.rp-editor-panel {
  display: grid; gap: 11px; padding: 13px; overflow: hidden;
  border: 1px solid rgb(var(--gm-ink-50-rgb) / 0.075); border-radius: 16px; background: rgb(var(--gm-ink-50-rgb) / 0.025);
}
.rp-editor-panel.hidden { display: none !important; }
.rp-editor-panel-heading { display: grid; gap: 2px; margin-bottom: 1px; }
.rp-editor-panel-heading strong { font-size: 14px; }
.rp-editor-panel-heading small { color: var(--muted); font-size: 10px; line-height: 1.35; }
.rp-command-editor input,
.rp-command-editor textarea { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.rp-command-editor .settings-field span { overflow-wrap: anywhere; }
.rp-command-editor textarea { resize: vertical; }
.rp-command-editor input[readonly] { color: var(--gm-violet-300); background: rgb(var(--gm-violet-500-rgb) / 0.08); cursor: not-allowed; }
.rp-variable-help {
  margin: 0 !important; padding: 8px 9px; border-radius: 8px;
  background: rgb(var(--gm-violet-500-rgb) / 0.07); font-size: 9px !important; line-height: 1.55;
}
.rp-context-help { margin: 0 !important; font-size: 10px !important; line-height: 1.45; }
.rp-editor-toggle {
  display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center;
  gap: 9px; min-height: 54px; padding: 9px 10px;
  border: 1px solid rgb(var(--gm-ink-50-rgb) / 0.075); border-radius: 12px; background: rgb(var(--gm-ink-50-rgb) / 0.025);
}
.rp-editor-toggle > span:first-child { display: grid; min-width: 0; gap: 2px; }
.rp-editor-toggle strong { font-size: 12px; }
.rp-editor-toggle small { color: var(--muted); font-size: 9px; line-height: 1.35; }
.rp-editor-toggle input { position: absolute; opacity: 0; pointer-events: none; }
.rp-image-add {
  display: grid !important; grid-template-columns: minmax(0,1fr); gap: 3px !important;
  min-height: 64px; padding: 12px !important; border: 1px dashed rgb(var(--gm-ink-50-rgb) / 0.16) !important;
  color: var(--gm-violet-300); background: rgb(var(--gm-violet-500-rgb) / 0.08); text-align: center;
}
.rp-image-add > span { font-size: 13px; font-weight:700; }
.rp-image-add small { color: var(--muted); font-size: 9px; font-weight:600; }
.rp-image-preview {
  display: grid; place-items: center; width: 100%; margin: 0 !important;
  overflow: hidden; border-radius: 12px;
}
.rp-image-preview:empty { display: none; }
.rp-image-preview img {
  width: min(100%,280px); max-width: 100% !important; height: auto;
  max-height: 180px !important; border-radius: 12px; object-fit: contain !important;
}
.rp-image-state {
  display: block; width: 100%; padding: 10px; border-radius: 12px;
  color: var(--gm-red-400); background: rgb(var(--gm-red-500-rgb) / 0.08); font-size: 10px;
  overflow-wrap: anywhere; text-align: center;
}
.rp-remove-image { min-height: 38px !important; color: var(--gm-red-400) !important; border-color: rgb(var(--gm-red-400-rgb) / 0.18) !important; }
.rp-command-editor .compact-two-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.rp-command-editor .compact-two-grid .button { min-width: 0; white-space: normal; }
.rp-delete-editor {
  width: 100%; min-height: 40px; margin-top: 8px; border: 1px solid rgb(var(--gm-red-400-rgb) / 0.2);
  color: var(--gm-red-400); background: rgb(var(--gm-red-500-rgb) / 0.07); font-size: 11px; font-weight:700;
}
.rp-editor-actions {
  position: sticky; z-index: 2; bottom: calc(0px - max(14px,env(safe-area-inset-bottom)));
  margin: 12px -14px 0; padding: 12px 14px max(14px,env(safe-area-inset-bottom));
  background: linear-gradient(180deg,transparent,var(--gm-ink-850) 24%);
}
.rp-editor-actions .button { min-height: 46px !important; }
#community-settings-page .settings-editor.is-rp-editor .settings-sticky-save,
#community-settings-page .settings-sticky-save.is-rp-section {
  position: static !important; inset: auto !important; z-index: auto !important;
  margin-top: 8px !important; padding: 0 !important; background: transparent !important;
}
.settings-sticky-save.is-rp-section .settings-save { min-height: 44px !important; }

@media (max-width: 380px) {
  .rp-add-button { min-width: 44px; width: 44px !important; padding: 0 !important; }
  .rp-add-button > span:last-child { display: none; }
  .rp-command-summary { grid-template-columns: minmax(0,1fr) 42px; gap: 5px; padding: 7px; }
  .rp-row-switch { width: 42px; min-width: 42px; }
  .rp-editor-tab { grid-template-columns: 1fr; gap: 1px; font-size: 9px; }
}
@media (max-width: 310px) {
  #settings-panel-rp .compact-settings-card { padding-inline: 8px !important; }
  .rp-command-main { grid-template-columns: 38px minmax(0,1fr); gap: 7px; }
  .rp-command-icon { width: 38px; height: 38px; }
  .rp-command-editor .compact-two-grid { grid-template-columns: 1fr; }
}
@media (min-width: 721px) {
  .rp-command-editor-home { align-items: center; padding: 28px; }
  .rp-command-editor {
    width: min(680px,100%); max-height: min(88dvh,820px); border-bottom: 1px solid rgb(var(--gm-ink-50-rgb) / 0.13) !important;
    border-radius: 20px !important;
  }
}

/* Community settings share the approved promo editor's palette and form rhythm.
   Scope to the real settings page; the common header and feature shells stay shared. */
#community-settings-page.community-settings-premium,
#permissions-page.permissions-premium {
  --cs-line: var(--gm-line-strong);
  --cs-cream: var(--gm-ink-100);
  --cs-muted: var(--gm-ink-200);
  --cs-purple-line: var(--gm-ink-500);
  --cs-surface: var(--gm-ink-900);
  color: var(--gm-ink-100);
  font: 400 .9375rem/1.45 var(--gm-font-ui);
}
#community-settings-page.community-settings-premium :is(.settings-destinations, .settings-community-list, .settings-community-item, .settings-community-menu, .settings-editor, .settings-panel, .settings-card, .settings-subsection-body, .settings-field, #campaign-workspace) {
  min-width: 0;
  max-width: 100%;
}
#community-settings-page.community-settings-premium :is(.settings-destinations, .settings-community-list, .settings-community-menu, .settings-editor, .settings-panel, .settings-card, .settings-subsection-body, #campaign-workspace) {
  grid-template-columns: minmax(0, 1fr);
}
#community-settings-page.community-settings-premium :is(button, input, select, textarea, summary):focus-visible {
  outline: 2px solid var(--gm-violet-400);
  outline-offset: 2px;
}
#community-settings-page.community-settings-premium .native-feature-lead {
  margin-bottom: 16px;
  color: var(--cs-muted);
  font-size: .9em;
}
#community-settings-page.community-settings-premium .settings-destinations { gap: 12px; }
#community-settings-page.community-settings-premium .settings-destinations > h3 {
  color: var(--cs-cream);
  font: 400 1.15em/1.25 var(--gm-font-ui);
}
#community-settings-page.community-settings-premium .settings-community-kind-label {
  margin: 12px 3px 2px;
  color: var(--gm-violet-400);
  font-size: .75em;
  font-weight:500;
  letter-spacing: .06em;
}
#community-settings-page.community-settings-premium .settings-community-list { gap: 10px; }
#community-settings-page.community-settings-premium :is(.settings-community-item, .settings-add-chat) {
  overflow: visible;
  border: 1px solid var(--gm-ink-500);
  border-radius: 16px;
  background: radial-gradient(ellipse at 0 0, rgb(var(--gm-violet-900-rgb) / 0.533), transparent 65%), var(--cs-surface);
  box-shadow: none;
}
#community-settings-page.community-settings-premium .settings-community-item.expanded {
  border-color: var(--gm-line-strong);
  box-shadow: inset 0 0 0 1px var(--gm-ink-600);
}
#community-settings-page.community-settings-premium .settings-community-summary {
  grid-template-columns: 44px minmax(0, 1fr) 20px;
  grid-template-areas: "avatar copy disclosure" "avatar status disclosure";
  gap: 4px 10px;
  min-height: 82px;
  padding: 12px;
  border-radius: 12px;
  color: var(--gm-ink-100);
}
#community-settings-page.community-settings-premium .settings-community-item.expanded .settings-community-summary {
  border-bottom: 1px solid var(--gm-ink-500);
  border-radius: 12px 12px 0 0;
}
#community-settings-page.community-settings-premium .settings-community-avatar {
  grid-area: avatar;
  width: 44px;
  height: 44px;
  border-color: var(--gm-ink-400);
  border-radius: 12px;
  font-size: .85em;
}
#community-settings-page.community-settings-premium .settings-community-copy { grid-area: copy; }
#community-settings-page.community-settings-premium :is(.settings-community-copy strong, .settings-community-copy small, .settings-menu-copy strong, .settings-menu-copy small) {
  overflow: visible;
  white-space: normal;
  overflow-wrap: anywhere;
}
#community-settings-page.community-settings-premium .settings-community-copy strong { font-size: 1em; font-weight:500; line-height: 1.3; }
#community-settings-page.community-settings-premium .settings-community-copy small { color: var(--cs-muted); font-size: .8em; }
#community-settings-page.community-settings-premium .settings-community-status {
  display: block;
  grid-area: status;
  font-size: .75em;
  font-weight:400;
  white-space: normal;
  overflow-wrap: anywhere;
}
#community-settings-page.community-settings-premium .settings-community-disclosure { grid-area: disclosure; color: var(--gm-violet-400); }
#community-settings-page.community-settings-premium .settings-community-disclosure::before { content: none; }
#community-settings-page.community-settings-premium .settings-community-menu {
  gap: 7px;
  padding: 4px clamp(6px, 2vw, 12px) 12px;
  border-radius: 0 0 12px 12px;
  background: rgb(var(--gm-ink-900-rgb) / 0.533);
  counter-reset: settings-group;
}
#community-settings-page.community-settings-premium .settings-menu-group-label {
  display: flex;
  min-width: 0;
  overflow-wrap: anywhere;
  align-items: center;
  gap: 8px;
  padding: 13px 3px 4px;
  color: var(--cs-cream);
  font: 400 1.1em/1.3 var(--gm-font-ui);
  letter-spacing: 0;
  text-transform: none;
  counter-increment: settings-group;
}
#community-settings-page.community-settings-premium .settings-menu-group-label::before {
  content: counter(settings-group);
  display: grid;
  place-items: center;
  flex: 0 0 26px;
  height: 30px;
  border: 1px solid var(--gm-line-strong);
  border-radius: 8px;
  background: var(--gm-ink-800);
  color: var(--gm-gold-500);
  font-size: 18px;
}
#community-settings-page.community-settings-premium .settings-menu-row {
  grid-template-columns: 32px minmax(0, 1fr) 38px;
  gap: 8px;
  min-height: 66px;
  padding: 10px 8px;
  border: 1px solid var(--gm-ink-500);
  border-radius: 8px;
  background: linear-gradient(140deg, rgb(var(--gm-ink-800-rgb) / 0.533), var(--gm-ink-900));
}
#community-settings-page.community-settings-premium .settings-menu-row.selected {
  margin-bottom: -7px;
  border-color: var(--gm-line-strong);
  border-bottom-color: var(--gm-ink-500);
  border-radius: 8px 8px 0 0;
  background: linear-gradient(120deg, var(--gm-violet-900), var(--gm-ink-850));
}
#community-settings-page.community-settings-premium .settings-menu-icon {
  width: 32px;
  height: 36px;
  border: 0;
  color: var(--gm-violet-300);
  background: transparent;
}
#community-settings-page.community-settings-premium .settings-menu-icon svg { width: 23px; height: 23px; }
#community-settings-page.community-settings-premium .settings-menu-copy { gap: 4px; }
#community-settings-page.community-settings-premium .settings-menu-copy strong { color: var(--cs-cream); font-weight:500; font-size: 1em; line-height: 1.3; }
#community-settings-page.community-settings-premium .settings-menu-copy small { color: var(--cs-muted); font-size: .8em; line-height: 1.4; }
#community-settings-page.community-settings-premium .settings-menu-tail { color: var(--gm-violet-400); }
#community-settings-page.community-settings-premium .settings-add-chat { min-height: 76px; padding: 12px; }
#community-settings-page.community-settings-premium .settings-add-chat strong { color: var(--cs-cream); font-size: 1em; font-weight:500; overflow-wrap: anywhere; }
#community-settings-page.community-settings-premium .settings-add-chat small { color: var(--cs-muted); font-size: .8em; }
#community-settings-page.community-settings-premium .settings-add-icon { border-color: var(--gm-ink-500); background: var(--gm-ink-750); }
#community-settings-page.community-settings-premium .settings-editor {
  container: community-editor / inline-size;
  gap: 12px;
  padding: clamp(6px, 2vw, 12px);
  border-color: var(--gm-line-strong);
  border-radius: 0 0 8px 8px;
  background: radial-gradient(ellipse at 15% 0, rgb(var(--gm-ink-800-rgb) / 0.533), transparent 65%), var(--cs-surface);
}
#community-settings-page.community-settings-premium .settings-editor .settings-panel { gap: 12px; padding-bottom: 0; }
#community-settings-page.community-settings-premium .settings-editor :is(.settings-card, .settings-audit-section),
#community-settings-page.community-settings-premium .settings-editor .settings-panel > .settings-card:only-child:not(.settings-subsection-card) {
  padding: clamp(8px, 2vw, 16px);
  border: 1px solid var(--cs-line);
  border-radius: 8px;
  background: linear-gradient(145deg, rgb(var(--gm-ink-850-rgb) / 0.941), rgb(var(--gm-ink-900-rgb) / 0.961));
}
#community-settings-page.community-settings-premium .settings-editor .settings-subsection-card { padding: 0; }
#community-settings-page.community-settings-premium .settings-editor .settings-card-head {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  min-height: 44px;
}
#community-settings-page.community-settings-premium .settings-card-head > div { flex: 1 1 7em; }
#community-settings-page.community-settings-premium .settings-editor .settings-subsection-card > .settings-card-head { padding: 8px; }
#community-settings-page.community-settings-premium .settings-editor :is(.settings-card-head h3, .section-heading h2) {
  color: var(--cs-cream);
  font: 400 1.15em/1.3 var(--gm-font-ui);
  overflow-wrap: anywhere;
}
#community-settings-page.community-settings-premium [data-settings-step]::before { content: attr(data-settings-step) ". "; color: var(--gm-gold-500); }
#community-settings-page.community-settings-premium .settings-subsection-toggle {
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  border: 1px solid var(--gm-ink-500);
  border-radius: 8px;
  color: var(--gm-violet-400);
  background: var(--gm-ink-800);
}
#community-settings-page.community-settings-premium .settings-subsection-body { gap: 12px; padding: 12px 8px; border-top-color: var(--gm-ink-500); background: transparent; }
#community-settings-page.community-settings-premium :is(label, .settings-help, .settings-help-box, .settings-field > span, .settings-field > small) { overflow-wrap: anywhere; }
#community-settings-page.community-settings-premium .settings-field { gap: 7px; color: var(--gm-gold-400); }
#community-settings-page.community-settings-premium .settings-field > span { color: var(--gm-gold-400); font-size: .9em; font-weight:400; line-height: 1.4; text-align: start; }
#community-settings-page.community-settings-premium :is(.settings-editor input:not([type='checkbox']):not([type='hidden']):not([type='file']), .settings-editor select, .settings-editor textarea) {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  height: auto;
  min-height: 44px;
  padding: .7em .65em;
  border: 1px solid var(--cs-line);
  border-radius: 8px;
  background: var(--gm-ink-900);
  color: var(--gm-ink-100);
  font: inherit;
  line-height: 1.3;
}
#community-settings-page.community-settings-premium .settings-editor textarea { resize: vertical; }
#community-settings-page.community-settings-premium :is(.settings-help, .settings-help-box, .settings-field > small) { margin: 0; color: var(--cs-muted); font-size: .8em; line-height: 1.45; }
#community-settings-page.community-settings-premium .settings-help-box { padding: 10px; border-left-color: var(--gm-line-strong); background: rgb(var(--gm-ink-750-rgb) / 0.333); }
#community-settings-page.community-settings-premium :is(.compact-two-grid, .note-editor-top-grid, .voice-duration-range) { grid-template-columns: repeat(auto-fit, minmax(min(100%, 11em), 1fr)); gap: 10px; }
#community-settings-page.community-settings-premium :is(.duration-editor, .duration-grid, .subscription-grace-duration) { grid-template-columns: repeat(auto-fit, minmax(min(100%, 5.5em), 1fr)) !important; gap: 8px !important; }
#community-settings-page.community-settings-premium .duration-editor label { padding: 0 !important; gap: 6px !important; border: 0 !important; background: transparent !important; }
#community-settings-page.community-settings-premium .duration-editor label > span { color: var(--cs-muted) !important; font-size: .8em !important; line-height: 1.3 !important; white-space: normal; }
#community-settings-page.community-settings-premium .duration-editor label > input {
  height: auto !important;
  min-height: 44px;
  padding: .7em .4em !important;
  border: 1px solid var(--cs-line) !important;
  background: var(--gm-ink-900) !important;
  color: var(--gm-ink-100) !important;
  font: inherit !important;
  line-height: 1.3 !important;
}
#community-settings-page.community-settings-premium .mini-switch { justify-content: center; min-width: 44px; min-height: 44px; }
#community-settings-page.community-settings-premium .mini-switch:focus-within { outline: 2px solid var(--gm-violet-400); outline-offset: 2px; border-radius: 8px; }
#community-settings-page.community-settings-premium :is(.settings-toggle-row, .settings-row-switch, .settings-toggle-list > label) { gap: 10px; min-height: 54px; padding: 10px; border-color: var(--gm-ink-500); border-radius: 8px; background: rgb(var(--gm-ink-800-rgb) / 0.267); }
#community-settings-page.community-settings-premium :is(.settings-toggle-row strong, .settings-row-switch b, .settings-toggle-list span) { min-width: 0; color: var(--cs-cream); font-size: .95em; font-weight:500; }
#community-settings-page.community-settings-premium :is(.settings-toggle-row small, .settings-row-switch small) { color: var(--cs-muted); font-size: .8em; line-height: 1.4; }
#community-settings-page.community-settings-premium .settings-toggle-row > span { min-width: 0; }
#community-settings-page.community-settings-premium :is(.reaction-details, .settings-helper-details, .campaign-step) { overflow: visible; border-color: var(--gm-ink-500); border-radius: 8px; background: var(--gm-ink-900); }
#community-settings-page.community-settings-premium :is(.reaction-details summary, .settings-helper-details summary) { gap: 8px; min-height: 44px; padding: 11px; color: var(--cs-cream); font-size: 1em; font-weight:500; overflow-wrap: anywhere; }
#community-settings-page.community-settings-premium :is(.reaction-details-body, .settings-helper-details .template-help) { padding: 11px 8px; border-top-color: var(--gm-ink-500); }
#community-settings-page.community-settings-premium .template-chip-row { grid-template-columns: minmax(0, 1fr); }
#community-settings-page.community-settings-premium .template-chip-row code { justify-self: start; max-width: 100%; overflow: visible; white-space: normal; overflow-wrap: anywhere; }
#community-settings-page.community-settings-premium :is(.community-rule-page, .community-note-editor:not(.rp-command-editor), .note-image-section, .community-note-row, .welcome-button-row, .settings-audit-item) { min-width: 0; border-color: var(--gm-ink-500); border-radius: 8px; background: var(--gm-ink-900); }
#community-settings-page.community-settings-premium .community-rule-page.is-main { border-color: var(--gm-line-strong); }
#community-settings-page.community-settings-premium .community-rule-copy strong { color: var(--cs-cream); font-size: .95em; font-weight:500; }
#community-settings-page.community-settings-premium .community-rule-copy small { font-size: .8em; }
#community-settings-page.community-settings-premium .community-rule-order { width: 44px; }
#community-settings-page.community-settings-premium .community-rule-order button { min-width: 44px; min-height: 44px; }
#community-settings-page.community-settings-premium .community-note-row { grid-template-columns: 44px minmax(0, 1fr) 44px !important; gap: 8px !important; }
#community-settings-page.community-settings-premium .community-note-row.simple-extra-row { grid-template-columns: minmax(0, 1fr) 44px !important; }
#community-settings-page.community-settings-premium .community-note-delete { min-width: 44px; min-height: 44px; padding: 0; border: 1px solid var(--gm-ink-500); border-radius: 8px; color: var(--gm-ink-200); background: var(--gm-ink-800); font-size: 24px; }
#community-settings-page.community-settings-premium .community-note-position-input { min-width: 0; width: 44px; padding-inline: 2px; }
#community-settings-page.community-settings-premium .community-note-open { min-height: 44px; grid-template-columns: 24px minmax(0, 1fr) 14px; gap: 6px; padding: 9px; border-color: var(--gm-ink-500); color: var(--gm-violet-300); background: var(--gm-ink-850); }
#community-settings-page.community-settings-premium .community-note-copy strong { color: var(--cs-cream); font-size: .95em; font-weight:500; }
#community-settings-page.community-settings-premium .community-note-copy small { color: var(--cs-muted); font-size: .8em; }
#community-settings-page.community-settings-premium :is(.community-note-editor:not(.rp-command-editor), .note-image-section) { grid-template-columns: minmax(0, 1fr); min-width: 0; }
#community-settings-page.community-settings-premium :is(.community-note-editor-head, .note-image-head) { flex-wrap: wrap; gap: 10px; min-width: 0; }
#community-settings-page.community-settings-premium :is(.community-note-editor-head > strong, .note-image-head > span) { flex: 1 1 8em; min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
#community-settings-page.community-settings-premium .note-image-head .note-image-add { flex: 0 1 auto; max-width: 100%; }
#community-settings-page.community-settings-premium .note-image-section > small { min-width: 0; color: var(--cs-muted); font-size: .8em; line-height: 1.4; overflow-wrap: anywhere; }
@container community-editor (max-width: 22em) {
  #community-settings-page.community-settings-premium .community-note-row:not(.simple-extra-row) { grid-template-columns: minmax(0, 1fr) 44px !important; }
  #community-settings-page.community-settings-premium .community-note-row .community-note-open { grid-column: 1 / -1; grid-row: 1; }
  #community-settings-page.community-settings-premium .community-note-row:not(.simple-extra-row) .community-note-position-input { grid-column: 1; grid-row: 2; justify-self: start; width: min(100%, 5em); }
  #community-settings-page.community-settings-premium .community-note-row .community-note-delete { grid-column: 2; grid-row: 2; }
}
#community-settings-page.community-settings-premium .settings-editor :is(.button, .note-add-button, .text-button, .settings-picker-button, .settings-icon-button, .note-image-add) {
  min-width: 44px;
  min-height: 44px;
  height: auto;
  max-width: 100%;
  padding: .6em .7em;
  border: 1px solid var(--gm-ink-400);
  border-radius: 8px;
  background: linear-gradient(140deg, var(--gm-ink-800), var(--gm-ink-900));
  color: var(--gm-ink-100);
  font: inherit;
  line-height: 1.3;
  white-space: normal;
  overflow-wrap: anywhere;
}
#community-settings-page.community-settings-premium .settings-editor :is(.note-add-button:not(.rp-add-button), .settings-icon-button) { flex: 0 0 max(44px, 1.3em); width: max(44px, 1.3em); padding: 0; font-size: 24px; }
#community-settings-page.community-settings-premium .settings-editor .text-button { width: auto; }
#community-settings-page.community-settings-premium .settings-editor .rp-search input { padding: 0; border: 0; border-radius: 0; background: transparent; font-size: .9em; }
#community-settings-page.community-settings-premium .settings-editor :is(.button-primary, .settings-save) { border-color: var(--gm-line-strong); box-shadow: inset 0 0 0 2px rgb(var(--gm-red-800-rgb) / 0.55); background: linear-gradient(120deg, var(--gm-violet-800), var(--gm-violet-700) 65%, var(--gm-violet-800)); color: var(--gm-ink-100); }
#community-settings-page.community-settings-premium .settings-editor .button.danger { border-color: var(--gm-ink-500); background: var(--gm-ink-800); color: var(--gm-ink-200); }
#community-settings-page.community-settings-premium .settings-editor .settings-sticky-save { position: static; margin: 0; padding-top: 12px; border-top: 1px solid var(--gm-ink-500); background: transparent; }
#community-settings-page.community-settings-premium :is(.settings-list-loading, .settings-audit-list, .community-notes-list) { min-width: 0; color: var(--cs-muted); font-size: .9em; overflow-wrap: anywhere; }

/* Channel campaigns keep their existing publication, prize and draft controllers. */
#community-settings-page.community-settings-premium .campaign-hero { grid-template-columns: 36px minmax(0, 1fr) 44px; gap: 8px; padding: 10px; border-color: var(--gm-gold-700); border-radius: 8px; background: linear-gradient(145deg, var(--gm-ink-750), var(--gm-ink-900)); }
#community-settings-page.community-settings-premium .campaign-hero-icon { width: 36px; height: 40px; border-radius: 8px; background: var(--gm-violet-900); box-shadow: none; font-size: 22px; }
#community-settings-page.community-settings-premium :is(.campaign-hero h3, .campaign-editor-heading h3) { color: var(--cs-cream); font: 400 1.15em/1.3 var(--gm-font-ui); overflow-wrap: anywhere; }
#community-settings-page.community-settings-premium :is(.campaign-hero p, .campaign-hero .eyebrow, .campaign-health small, .campaign-step summary small, .campaign-inline-help, .campaign-device-time, .campaign-empty) { color: var(--cs-muted); font-size: .8em; line-height: 1.4; overflow-wrap: anywhere; }
#community-settings-page.community-settings-premium .campaign-health strong { font-size: .9em; font-weight:500; overflow-wrap: anywhere; }
#community-settings-page.community-settings-premium .campaign-editor-heading { grid-template-columns: 44px minmax(0, 1fr); align-items: center; }
#community-settings-page.community-settings-premium .campaign-editor-heading .campaign-badge { grid-column: 2; justify-self: start; max-width: 100%; }
#community-settings-page.community-settings-premium .campaign-step > summary { grid-template-columns: 26px minmax(0, 1fr) auto; gap: 8px; min-height: 44px; padding: 10px 8px; }
#community-settings-page.community-settings-premium .campaign-step > summary > span { width: 26px; height: 30px; border: 1px solid var(--gm-line-strong); border-radius: 8px; background: var(--gm-ink-800); color: var(--gm-gold-500); font: 400 18px/1 var(--gm-font-ui); }
#community-settings-page.community-settings-premium .campaign-step summary strong { color: var(--cs-cream); font: 400 1.1em/1.3 var(--gm-font-ui); overflow-wrap: anywhere; }
#community-settings-page.community-settings-premium .campaign-step-body { padding: 12px 8px; border-top-color: var(--gm-ink-500); }
#community-settings-page.community-settings-premium :is(.campaign-step-body, .campaign-prize-panel, .campaign-prize-list, .campaign-prize-place) { grid-template-columns: minmax(0, 1fr); min-width: 0; max-width: 100%; }
#community-settings-page.community-settings-premium #campaign-workspace button { min-width: 44px; min-height: 44px; height: auto; max-width: 100%; padding: .6em .65em; font: inherit; font-size: .9em; line-height: 1.3; white-space: normal; overflow-wrap: anywhere; }
#community-settings-page.community-settings-premium #campaign-workspace :is(.campaign-icon-button, .campaign-editor-heading > button) { width: 44px; min-height: 44px; padding: 0; border-color: var(--gm-ink-500); background: var(--gm-ink-800); color: var(--gm-ink-100); }
#community-settings-page.community-settings-premium :is(.campaign-date-grid, .campaign-preview-bar, .campaign-row-actions, .campaign-material-grid) { grid-template-columns: repeat(auto-fit, minmax(min(100%, 10em), 1fr)); }
#community-settings-page.community-settings-premium .campaign-editor-actions { position: static; grid-template-columns: repeat(auto-fit, minmax(min(100%, 9em), 1fr)); background: transparent; }
#community-settings-page.community-settings-premium :is(.campaign-step-body, .campaign-section-head, .campaign-prize-place, .campaign-material-slot, .campaign-material, .campaign-health > div) { min-width: 0; }
#community-settings-page.community-settings-premium .campaign-section-head { flex-wrap: wrap; gap: 8px; }
#community-settings-page.community-settings-premium .campaign-section-head > div { min-width: 0; flex: 1 1 9em; }
#community-settings-page.community-settings-premium .campaign-section-head > button { flex: 0 1 auto; min-width: 44px; max-width: 100%; }
#community-settings-page.community-settings-premium .campaign-section-head strong { color: var(--cs-cream); font-size: .95em; font-weight:500; overflow-wrap: anywhere; }
#community-settings-page.community-settings-premium .campaign-section-head small { color: var(--cs-muted); font-size: .8em; line-height: 1.4; overflow-wrap: anywhere; }
#community-settings-page.community-settings-premium .campaign-prize-place { padding: 10px 8px; border-color: var(--gm-ink-500); background: var(--gm-ink-900); }
#community-settings-page.community-settings-premium .campaign-prize-place > header { flex-wrap: wrap; }
#community-settings-page.community-settings-premium .campaign-prize-place > header strong { min-width: 0; font-size: .95em; font-weight:500; overflow-wrap: anywhere; }
#community-settings-page.community-settings-premium .campaign-prize-help { grid-template-columns: minmax(0, 1fr); min-width: 0; padding: 10px 8px; border-color: var(--gm-ink-500); border-radius: 8px; background: rgb(var(--gm-ink-800-rgb) / 0.267); color: var(--cs-muted); font-size: .8em; overflow-wrap: anywhere; }
#community-settings-page.community-settings-premium .campaign-prize-help strong { color: var(--cs-cream); font-size: 1em; font-weight:500; }
#community-settings-page.community-settings-premium :is(.campaign-create-button, #campaign-save-draft, #campaign-publish) { border-color: var(--gm-line-strong); background: linear-gradient(120deg, var(--gm-violet-800), var(--gm-violet-700) 65%, var(--gm-violet-800)); color: var(--gm-ink-100); }

/* The existing RP dialog is portalled to body, so its opt-in travels with it. */
.community-settings-premium-rp .rp-command-editor {
  border-color: var(--gm-line-strong) !important;
  background: radial-gradient(ellipse at 15% 0, var(--gm-ink-750), var(--gm-ink-900) 55%) !important;
  color: var(--gm-ink-100);
  font: 400 .9375rem/1.45 var(--gm-font-ui);
}
.community-settings-premium-rp .community-note-editor-head { position: static; flex-wrap: wrap; border-bottom-color: var(--gm-ink-500); background: transparent; }
.community-settings-premium-rp .community-note-editor-head > span { flex: 1 1 8em; overflow: visible; }
.community-settings-premium-rp .community-note-editor-head strong { overflow: visible; white-space: normal; overflow-wrap: anywhere; color: var(--gm-ink-100); font: 400 1.2em/1.3 var(--gm-font-ui); }
.community-settings-premium-rp .community-note-editor-head small { color: var(--gm-violet-400); font-size: .75em; font-weight:500; }
.community-settings-premium-rp .rp-editor-tabs { position: static; grid-template-columns: repeat(auto-fit, minmax(min(100%, 7em), 1fr)); background: transparent; border-bottom-color: var(--gm-ink-500); }
.community-settings-premium-rp .rp-editor-tab { min-height: 44px; padding: 8px; border-color: var(--gm-ink-500); color: var(--gm-ink-200); font-size: .85em; font-weight:500; line-height: 1.3; }
.community-settings-premium-rp .rp-editor-tab.active { color: var(--gm-ink-100); border-color: var(--gm-line-strong); background: var(--gm-violet-900); }
.community-settings-premium-rp .rp-editor-panel { padding: 12px; border-color: var(--gm-line-strong); border-radius: 8px; background: var(--gm-ink-900); }
.community-settings-premium-rp :is(.rp-editor-panel-heading strong, .rp-editor-toggle strong) { color: var(--gm-ink-100); font-size: 1em; font-weight:500; overflow-wrap: anywhere; }
.community-settings-premium-rp :is(.rp-editor-panel-heading small, .rp-editor-toggle small, .rp-image-add small) { color: var(--gm-ink-200); font-size: .8em; line-height: 1.4; overflow-wrap: anywhere; }
.community-settings-premium-rp .settings-field { display: grid; gap: 7px; margin: 0; color: var(--gm-gold-400); }
.community-settings-premium-rp .settings-field > span { color: var(--gm-gold-400); font-size: .9em; font-weight:400; }
.community-settings-premium-rp :is(input:not([type='checkbox']):not([type='hidden']):not([type='file']), textarea) { width: 100%; min-width: 0; min-height: 44px; padding: .7em .65em; border: 1px solid var(--gm-line-strong); border-radius: 8px; background: var(--gm-ink-900); color: var(--gm-ink-100); font: inherit; line-height: 1.3; }
.community-settings-premium-rp .rp-command-editor :is(button, .note-image-add) { min-width: 44px; min-height: 44px; height: auto; max-width: 100%; border-color: var(--gm-ink-400); background: linear-gradient(140deg, var(--gm-ink-800), var(--gm-ink-900)); color: var(--gm-ink-100); font: inherit; line-height: 1.3; white-space: normal; overflow-wrap: anywhere; }
.community-settings-premium-rp :is(.settings-help, .rp-variable-help, .rp-context-help) { color: var(--gm-ink-200); font-size: .8em !important; line-height: 1.45; }
.community-settings-premium-rp .rp-editor-actions { position: static; grid-template-columns: repeat(auto-fit, minmax(min(100%, 8em), 1fr)); background: transparent; }
.community-settings-premium-rp #save-rp-command { border: 1px solid var(--gm-line-strong); border-radius: 8px; background: linear-gradient(120deg, var(--gm-violet-800), var(--gm-violet-700) 65%, var(--gm-violet-800)); color: var(--gm-ink-100); }
.community-settings-premium-rp :is(button, input, textarea):focus-visible { outline: 2px solid var(--gm-violet-400); outline-offset: 2px; }

/* Roles use the same restrained gold/purple settings surfaces and type scale. */
#permissions-page.permissions-premium { container: permissions / inline-size; }
#permissions-page.permissions-premium .native-feature-header h2 { color: var(--cs-cream); font-family: var(--gm-font-display); font-weight:400; }
#permissions-page.permissions-premium .native-feature-lead { color: var(--cs-muted); }
#permissions-page.permissions-premium :is(.permission-community-picker, .permission-search-box, .permission-note, .permission-role-card, .permission-member-card, .permission-role-create-form) {
  min-width: 0; max-width: 100%; border: 1px solid var(--cs-line); border-radius: 8px;
  background: linear-gradient(145deg, rgb(var(--gm-ink-850-rgb) / 0.941), rgb(var(--gm-ink-900-rgb) / 0.961)); box-shadow: none;
}
#permissions-page.permissions-premium :is(.permission-role-card, .permission-member-card, .permission-note) { padding: clamp(10px, 2vw, 18px); }
#permissions-page.permissions-premium :is(.permission-role-title, .permission-group-title strong, .permission-member-name) { color: var(--cs-cream); font-family: var(--gm-font-display); font-weight:500; }
#permissions-page.permissions-premium :is(.permission-role-summary, .permission-group-title small, .permission-view-summary, .permission-note) { color: var(--cs-muted); }
#permissions-page.permissions-premium :is(.permission-tabs, .permission-role-toolbar, .permission-role-create-form) { display: flex; flex-wrap: wrap; gap: 10px; }
#permissions-page.permissions-premium .permission-tabs > button { flex: 1 1 8em; }
#permissions-page.permissions-premium .permission-role-toolbar > .permission-view-summary { flex: 1 1 10em; }
#permissions-page.permissions-premium .permission-role-create-form > label { flex: 1 1 9em; min-width: 0; }
#permissions-page.permissions-premium :is(button, input:not([type='checkbox']):not([type='color']), select, textarea) {
  min-height: 44px; height: auto; max-width: 100%; min-width: 0; padding: .65em .7em;
  border-color: var(--cs-purple-line); border-radius: 8px; background: var(--gm-ink-900);
  color: var(--gm-ink-100); font: inherit; line-height: 1.4;
}
#permissions-page.permissions-premium :is(input[type='search'], input[type='text'], select, textarea) { width: 100%; }
#permissions-page.permissions-premium :is(button, summary) { white-space: normal; overflow-wrap: anywhere; }
#permissions-page.permissions-premium :is(button, input, select, textarea, summary):focus-visible { outline: 2px solid var(--gm-violet-400); outline-offset: 2px; }
#permissions-page.permissions-premium :is(.permission-tab.active, .button-primary) {
  border-color: var(--gm-line-strong); background: linear-gradient(120deg, var(--gm-violet-800), var(--gm-violet-700) 65%, var(--gm-violet-800)); color: var(--gm-ink-100);
}
#permissions-page.permissions-premium .permission-group-card { min-width: 0; border: 1px solid var(--gm-ink-500); border-radius: 8px; background: var(--gm-ink-900); }
#permissions-page.permissions-premium :is(.permission-group-heading, .permission-role-header, .permission-group-body, .permission-row, .individual-permission-row) { min-width: 0; max-width: 100%; }
#permissions-page.permissions-premium :is(.permission-group-heading, .permission-role-header) { flex-wrap: wrap; gap: 8px; }
#permissions-page.permissions-premium :is(.permission-group-title, .permission-label, .individual-permission-copy) { min-width: 0; overflow-wrap: anywhere; }
#permissions-page.permissions-premium .permission-group-toggle { min-width: 44px; flex-shrink: 0; color: var(--gm-violet-400); }
#permissions-page.permissions-premium .permission-row { border-bottom-color: var(--gm-ink-600); }
#permissions-page.permissions-premium .permission-role-heading { display: grid; grid-template-columns: 32px minmax(0,1fr) 18px; gap: 6px 8px; padding: 8px; align-items: center; }
#permissions-page.permissions-premium .permission-role-icon { grid-column: 1; grid-row: 1 / 3; width: 32px; height: 40px; }
#permissions-page.permissions-premium .permission-role-copy { grid-column: 2; grid-row: 1; min-width: 0; }
#permissions-page.permissions-premium .permission-role-copy strong { font: 500 1.15em/1.3 var(--gm-font-ui); color: var(--cs-cream); }
#permissions-page.permissions-premium .permission-role-copy small { display: block; white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: anywhere; line-height: 1.4; }
#permissions-page.permissions-premium .permission-role-badge { grid-column: 2; grid-row: 2; justify-self: start; max-width: 100%; white-space: normal; }
#permissions-page.permissions-premium .permission-role-lock { grid-column: 3; grid-row: 2; }
#permissions-page.permissions-premium .permission-role-heading > .permission-chevron { grid-column: 3; grid-row: 1; }
#permissions-page.permissions-premium .permission-search-box input { border: 0; padding: 0; background: transparent; }
#permissions-page.permissions-premium .community-context-picker-chevron svg { width: 14px; height: 14px; }
#permissions-page.permissions-premium .permission-group-heading { display: flex; flex-wrap: wrap; gap: 4px; }
#permissions-page.permissions-premium .permission-group-heading > .permission-group-toggle { flex: 1 1 13em; }
#permissions-page.permissions-premium .permission-group-bulk { margin: 0 8px 8px; }
#permissions-page.permissions-premium :is(.permission-group-title, .permission-switch-copy, .permission-member-copy) :is(strong, small) { display: block; white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: anywhere; -webkit-line-clamp: unset; }
#permissions-page.permissions-premium .permission-control-row { grid-template-columns: 24px minmax(0,1fr) 44px; gap: 8px; }
#permissions-page.permissions-premium .permission-control-icon { width: 24px; }
#permissions-page.permissions-premium .permission-custom-role-actions { display: flex; flex-wrap: wrap; gap: 8px; }
#permissions-page.permissions-premium .permission-custom-role-actions > button { flex: 1 1 9em; }
#permissions-page.permissions-premium .permission-member-row { display: grid; grid-template-columns: 36px minmax(0,1fr) 18px; gap: 8px; }
#permissions-page.permissions-premium .permission-member-avatar { width: 36px; height: 36px; grid-row: 1 / 3; }
#permissions-page.permissions-premium .permission-member-copy { grid-column: 2; grid-row: 1; }
#permissions-page.permissions-premium .permission-member-meta { grid-column: 2; grid-row: 2; white-space: normal; }
#permissions-page.permissions-premium .permission-member-row > .more-menu-arrow { grid-column: 3; grid-row: 1; }
#permissions-page.permissions-premium .individual-permission-row { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,12em),1fr)); gap: 10px; }
#permissions-page.permissions-premium input[type='color'] { width: 44px; height: 44px; min-height: 44px; }

.autokick-form, .autokick-reminder, #autokick-reminder-list { display: grid; gap: 12px; min-width: 0; }
.autokick-toggle, .autokick-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.autokick-toggle { min-height: 44px; }
.autokick-toggle input { appearance: none; position: relative; width: 44px; height: 26px; flex: 0 0 44px; border: 1px solid #685373; border-radius: 16px; background: #282532; cursor: pointer; }
.autokick-toggle input::before { content: ''; position: absolute; left: 3px; top: 3px; width: 18px; height: 18px; border-radius: 50%; background: #bcb7c6; }
.autokick-toggle input:checked { background: #713090; border-color: #c986dc; }
.autokick-toggle input:checked::before { left: 21px; background: #fff3fa; }
.autokick-toggle input:focus-visible { outline: 2px solid #ce76eb; outline-offset: 3px; }
.autokick-toggle span { flex: 1 1 10em; }
.autokick-reminder { margin: 12px 0; padding: 12px; border: 1px solid #654775; border-radius: 8px; background: #0d0b18; }
.autokick-reminder > button { justify-self: start; }
.autokick-card :is(summary, button) { min-height: 44px; height: auto; white-space: normal; overflow-wrap: anywhere; }
.autokick-card details > summary { display: flex; align-items: center; color: #eed5ac; cursor: pointer; font: 400 1.1em/1.4 var(--gm-font-ui); }
.autokick-card details > summary::before { content: '›'; margin-right: .6em; color: #c997d9; }
.autokick-card details[open] > summary::before { transform: rotate(90deg); }
.autokick-card :is(.autokick-journal, .autokick-reminders) { border-top: 1px solid #594431; padding-top: 8px; }
#autokick-error { color: #f9a5b2; }
#autokick-journal { display: grid; gap: 8px; font-size: .85em; color: #b5afb0; overflow-wrap: anywhere; }
#promo-page .promo-admin-community { color: var(--gm-gold-500); font-size: .85em; overflow-wrap: anywhere; }
#promo-redeem-community-wrap { display: grid; gap: 5px; min-width: 0; }
#promo-redeem-community-wrap select { width: 100%; min-width: 0; min-height: 44px; height: auto; color: var(--gm-ink-100); background: var(--gm-ink-900); border: 1px solid var(--gm-line-strong); }

/* Shared purple/gold surfaces: navigation, support and authorized selectors. */
.community-select-trigger { width: 100%; min-width: 0; min-height: 48px; height: auto; padding: 12px; border: 1px solid var(--gm-ink-400); border-radius: 8px; color: var(--gm-ink-100); background: var(--gm-ink-900); text-align: left; white-space: normal; overflow-wrap: anywhere; }
.community-select-dialog { box-sizing: border-box; width: min(620px,calc(100% - 24px)); max-height: calc(100dvh - 32px); margin: auto; padding: 18px; overflow-y: auto; overscroll-behavior: contain; color: var(--gm-ink-100); border: 1px solid var(--gm-ink-400); border-radius: 16px; background: linear-gradient(145deg,var(--gm-ink-750),var(--gm-ink-900) 70%); box-shadow: 0 20px 70px rgb(var(--gm-ink-950-rgb) / 0.733); }
.community-select-dialog::backdrop { background: rgb(var(--gm-ink-950-rgb) / 0.78); }
.community-select-dialog h2 { font: 400 1.4em/1.3 var(--gm-font-display); margin: 0 0 12px; overflow-wrap: anywhere; }
.community-select-dialog h3 { color: var(--gm-violet-400); font-size: 1em; margin: 18px 0 8px; }
.community-select-option, .community-select-close { min-height: 44px; height: auto; padding: 12px; border: 1px solid var(--gm-ink-400); border-radius: 8px; background: var(--gm-ink-850); color: var(--gm-ink-100); white-space: normal; overflow-wrap: anywhere; }
.community-select-option { display: block; width: 100%; margin-top: 8px; text-align: left; }
.community-select-option[aria-pressed='true'] { border-color: var(--gm-line-strong); background: linear-gradient(100deg,var(--gm-violet-700),var(--gm-ink-800)); }
.community-select-option[aria-pressed='true']::before { content: '✓ '; color: var(--gm-gold-400); }
.community-select-dialog button:focus-visible, .community-select-trigger:focus-visible { outline: 2px solid var(--gm-violet-300); outline-offset: 2px; }
#promo-page #promo-history-disclosure > summary { cursor: pointer; min-height: 48px; list-style: none; }
#promo-history-disclosure > summary::-webkit-details-marker { display: none; }
#promo-history-disclosure > summary::after { content: '⌄'; color: var(--gm-violet-300); font-size: 1.4em; }
#promo-history-disclosure[open] > summary::after { transform: rotate(180deg); }
#promo-history-disclosure > summary:focus-visible { outline: 2px solid var(--gm-violet-300); outline-offset: 4px; }
#ticket-create-sheet, #ticket-manage-sheet { z-index: 120; }
#ticket-create-sheet .bottom-sheet, #ticket-manage-sheet .bottom-sheet, #ticket-community-picker-sheet .bottom-sheet {
  box-sizing: border-box; width: min(720px,100%); max-height: calc(100dvh - 24px - env(safe-area-inset-top)); padding: 18px 16px max(20px,env(safe-area-inset-bottom)); overflow-y: auto; overscroll-behavior: contain;
  border: 1px solid var(--gm-line-strong); border-radius: 20px 20px 8px 8px; color: var(--gm-ink-100); background: radial-gradient(ellipse at top left,var(--gm-violet-900) 0,transparent 50%),var(--gm-ink-900);
}
#ticket-create-sheet .sheet-heading h2, #tickets-page h2, #more-page .more-menu-group-head h3 { color: var(--gm-ink-100); font-family: var(--gm-font-display); }
#ticket-create-sheet .sheet-heading h2, #ticket-community-picker-sheet .sheet-heading h2 { min-width: 0; overflow-wrap: anywhere; }
#ticket-create-form { display: grid; gap: 16px; min-width: 0; }
#ticket-create-form .form-group { min-width: 0; margin: 0; }
#ticket-create-form :is(input:not([type='file']),textarea,select) { box-sizing: border-box; width: 100%; min-width: 0; min-height: 48px; height: auto; padding: 12px; border: 1px solid var(--gm-ink-400); border-radius: 8px; color: var(--gm-ink-100); background: var(--gm-ink-900); font-size: 1em; }
#ticket-create-form textarea { min-height: 120px; resize: vertical; }
#ticket-create-form :is(button,label,small) { height: auto; white-space: normal; overflow-wrap: anywhere; }
#ticket-create-form button { min-height: 44px; }
#ticket-create-sheet .sheet-heading .icon-button, #ticket-community-picker-sheet .sheet-heading .icon-button { width: 44px; height: 44px; min-width: 44px; min-height: 44px; flex: 0 0 44px; }
#ticket-create-sheet .ticket-community-choice-copy strong, #ticket-community-picker-sheet .ticket-community-choice-row-copy strong { white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: anywhere; }
#ticket-create-submit { border: 1px solid var(--gm-line-strong); border-radius: 8px; background: linear-gradient(110deg,var(--gm-violet-800),var(--gm-violet-600)); color: var(--gm-ink-100); }
#tickets-page .ticket-filters { display: flex; flex-wrap: wrap; gap: 8px; }
#tickets-page .ticket-extra-filters { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,20rem),1fr)) !important; gap: 8px; }
#tickets-page .ticket-extra-filters select { min-height: 44px; height: auto; width: 100%; min-width: 0; padding: 10px; border: 1px solid var(--gm-ink-400); border-radius: 8px; background: var(--gm-ink-900); color: var(--gm-violet-300); }
#tickets-page .ticket-chip { flex: 1 1 7em; width: auto; min-height: 44px; height: auto; padding: 10px; border: 1px solid var(--gm-ink-400); border-radius: 8px; white-space: normal; color: var(--gm-violet-300); background: var(--gm-ink-850); }
#tickets-page .ticket-chip.active { color: var(--gm-ink-100); border-color: var(--gm-line-strong); background: linear-gradient(110deg,var(--gm-violet-700),var(--gm-ink-750)); }
#tickets-page .ticket-chip { min-width: max-content; }
#tickets-page .ticket-chip-label { min-width: max-content; overflow: visible; white-space: nowrap; text-overflow: clip; }
#tickets-page .ticket-item, #more-page .more-menu-item { border: 1px solid var(--gm-ink-400); border-radius: 12px; background: radial-gradient(ellipse at top left,var(--gm-ink-750),transparent 70%),var(--gm-ink-900); box-shadow: inset 0 1px rgb(var(--gm-gold-500-rgb) / 0.052); }
#tickets-page .ticket-item-top { display: grid; grid-template-columns: minmax(0,1fr); gap: 8px; }
#tickets-page .ticket-item-top > strong { white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: anywhere; color: var(--gm-ink-100); }
#tickets-page .ticket-item-badges { display: flex; flex-wrap: wrap; gap: 6px; }
#tickets-page .ticket-item-main { min-width: 0; }
#tickets-page #ticket-context-community-name { white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: anywhere; }
#more-page .more-menu-group { padding: 14px; border: 1px solid var(--gm-line-strong); border-radius: 16px; background: rgb(var(--gm-ink-900-rgb) / 0.478); }
#more-page .more-menu-list { gap: 18px; }
#more-page .more-menu-group { display: grid; gap: 8px; }
#more-page .more-menu-icon { border: 1px solid var(--gm-ink-400); border-radius: 8px; color: var(--gm-violet-300); background: linear-gradient(145deg,var(--gm-violet-800),var(--gm-ink-800)); }
#more-page .more-menu-copy, #tickets-page .ticket-item { min-width: 0; overflow-wrap: anywhere; }
#more-page .more-menu-copy strong { color: var(--gm-ink-100); }
#more-page .more-menu-arrow { color: var(--gm-gold-500); }
#ticket-detail-page.gm-ticket-v6 { --v6-bg: var(--gm-ink-900); --v6-border: var(--gm-line-strong); --v6-purple: var(--gm-violet-700); --v6-muted: var(--gm-ink-200); background: radial-gradient(ellipse at top left,var(--gm-violet-900),transparent 65%),var(--gm-ink-900) !important; }
#ticket-detail-page .gm-ticket-v6-card { border-color: var(--gm-line-strong) !important; border-radius: 12px !important; background: var(--gm-ink-850) !important; }
#ticket-detail-page .gm-ticket-v6-header { border-bottom-color: var(--gm-line-strong) !important; background: var(--gm-ink-900) !important; }
#ticket-detail-page .gm-ticket-v6-title strong, #ticket-detail-subject { color: var(--gm-ink-100) !important; font-family: var(--gm-font-display); }
#ticket-detail-page .gm-ticket-v6-compose-row textarea { border-color: var(--gm-ink-400) !important; background: var(--gm-ink-900) !important; }
#ticket-detail-page .gm-ticket-v6-send { border: 1px solid var(--gm-line-strong) !important; background: linear-gradient(120deg,var(--gm-violet-700),var(--gm-violet-600)) !important; }
#ticket-detail-page .gm-ticket-v6-subject > strong, #ticket-detail-page .gm-ticket-v6-meta span { white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: anywhere; }
#ticket-detail-page .gm-ticket-v6-headline { flex-wrap: wrap; }
#ticket-detail-page .gm-ticket-v6-meta { grid-template-columns: repeat(auto-fit,minmax(min(100%,10em),1fr)); }
#ticket-detail-page .gm-ticket-v6-meta span { font-size: .8125rem; line-height: 1.4; }
#ticket-detail-page .gm-ticket-v6-meta small { font-size: .75rem; }
#ticket-detail-page .gm-ticket-v6-compose-row { grid-template-columns: auto minmax(0,1fr) auto; }
#ticket-detail-page .gm-ticket-v6-attach, #ticket-detail-page .gm-ticket-v6-send { width: max(44px,1.5em) !important; height: max(44px,1.5em) !important; min-height: 44px !important; }
