/* PulseBot v21.9.1 — community modules visual system.
   Appearance only: Welcome, Goodbye, Self Roles and Boosts. */

body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-selfrole,.dashboard-active-boosts) {
  --pbcm-blue: #3b82f6;
  --pbcm-blue-hover: #4a8cf3;
  --pbcm-blue-pressed: #2e6fd2;
  --pbcm-blue-soft: rgba(59,130,246,.075);
  --pbcm-blue-line: rgba(59,130,246,.27);
  --pbcm-line: rgba(255,255,255,.075);
  --pbcm-line-strong: rgba(255,255,255,.13);
  --pbcm-surface: rgba(14,18,24,.82);
  --pbcm-surface-2: rgba(255,255,255,.022);
  --pbcm-text: #edf2f8;
  --pbcm-text-2: #c9d0da;
  --pbcm-muted: #8d97a5;
  --pbcm-soft: #677280;
}

/* Match the established module shell exactly. */
body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-selfrole,.dashboard-active-boosts) .module-headline {
  min-height: 96px !important;
  margin: 0 0 20px !important;
  padding: 18px 4px 22px !important;
}

body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-selfrole,.dashboard-active-boosts) .module-heading-copy {
  gap: 15px !important;
}

body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-selfrole,.dashboard-active-boosts) .module-heading-icon {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  border: 1px solid var(--pbcm-blue-line) !important;
  border-radius: 11px !important;
  background: rgba(59,130,246,.07) !important;
  color: #a9c9ff !important;
  box-shadow: none !important;
}

body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-selfrole,.dashboard-active-boosts) .module-headline h2 {
  font-size: 1.3rem !important;
}

body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-selfrole,.dashboard-active-boosts) .module-headline p {
  max-width: 720px !important;
  font-size: .82rem !important;
  line-height: 1.55 !important;
}

body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-selfrole,.dashboard-active-boosts) .module-status {
  min-height: 30px !important;
  display: inline-flex !important;
  align-items: center !important;
  padding: 0 10px !important;
  border: 1px solid var(--pbcm-line) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.025) !important;
  color: var(--pbcm-muted) !important;
  font-size: .7rem !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}

body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-selfrole,.dashboard-active-boosts) .module-status::before {
  content: none !important;
  display: none !important;
}

body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-selfrole,.dashboard-active-boosts) .module-status.on {
  border-color: var(--pbcm-blue-line) !important;
  background: var(--pbcm-blue-soft) !important;
  color: #a9c9ff !important;
}

body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-selfrole,.dashboard-active-boosts) .module-form {
  width: 100% !important;
  min-width: 0 !important;
  display: grid !important;
  gap: 18px !important;
  padding-bottom: 104px !important;
}

body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-selfrole,.dashboard-active-boosts) .module-form > .form-section {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid var(--pbcm-line) !important;
  border-radius: 14px !important;
  background: var(--pbcm-surface) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-selfrole,.dashboard-active-boosts) .form-section-head {
  min-width: 0 !important;
  margin: 0 !important;
  padding: 17px 19px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--pbcm-line) !important;
  background: rgba(255,255,255,.016) !important;
}

body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-selfrole,.dashboard-active-boosts) .form-section-head h3 {
  margin: 0 !important;
  color: var(--pbcm-text) !important;
  font-size: .9rem !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  letter-spacing: -.012em !important;
}

body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-selfrole,.dashboard-active-boosts) .form-section-head p {
  max-width: 760px !important;
  margin: 5px 0 0 !important;
  color: var(--pbcm-muted) !important;
  font-size: .75rem !important;
  line-height: 1.5 !important;
}

body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-selfrole,.dashboard-active-boosts) .form-section-body {
  min-width: 0 !important;
  padding: 21px !important;
  background: transparent !important;
}

body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-selfrole,.dashboard-active-boosts) .field {
  min-width: 0 !important;
  gap: 8px !important;
  margin: 0 0 19px !important;
}

body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-selfrole,.dashboard-active-boosts) .field:last-child {
  margin-bottom: 0 !important;
}

body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-selfrole,.dashboard-active-boosts) .module-grid {
  min-width: 0 !important;
  gap: 20px 24px !important;
}

body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-selfrole,.dashboard-active-boosts) .action-row {
  gap: 12px !important;
  margin: 20px 0 0 !important;
}

/* Inputs remain calm and neutral. */
body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-selfrole,.dashboard-active-boosts) :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea) {
  border-color: rgba(255,255,255,.11) !important;
  border-radius: 10px !important;
  background: #0c1117 !important;
  color: var(--pbcm-text) !important;
  box-shadow: none !important;
}

body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-selfrole,.dashboard-active-boosts) :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea):focus {
  border-color: rgba(59,130,246,.55) !important;
  box-shadow: 0 0 0 2px rgba(59,130,246,.09) !important;
  outline: none !important;
}

body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-selfrole,.dashboard-active-boosts) textarea {
  min-height: 116px !important;
  resize: vertical !important;
}

/* The same compact blue checkbox used in prior modules. */
body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-selfrole,.dashboard-active-boosts) .check-grid {
  gap: 9px !important;
}

body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-selfrole,.dashboard-active-boosts) .check {
  min-width: 0 !important;
  min-height: 44px !important;
  padding: 10px 12px !important;
  border: 1px solid var(--pbcm-line) !important;
  border-radius: 10px !important;
  background: rgba(255,255,255,.018) !important;
  color: var(--pbcm-text-2) !important;
  box-shadow: none !important;
}

body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-selfrole,.dashboard-active-boosts) .check:hover {
  border-color: rgba(255,255,255,.12) !important;
  background: rgba(255,255,255,.028) !important;
}

body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-selfrole,.dashboard-active-boosts) .check > input[type="checkbox"] {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-selfrole,.dashboard-active-boosts) .check > .check-box {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  min-height: 16px !important;
  display: grid !important;
  place-items: center !important;
  border: 1px solid #697483 !important;
  border-radius: 4px !important;
  background: transparent !important;
  box-shadow: none !important;
}

body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-selfrole,.dashboard-active-boosts) .check > .check-box::after {
  content: "" !important;
  width: 7px !important;
  height: 4px !important;
  border: solid #fff !important;
  border-width: 0 0 2px 2px !important;
  opacity: 0 !important;
  transform: translateY(-1px) rotate(-45deg) !important;
}

body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-selfrole,.dashboard-active-boosts) .check > input[type="checkbox"]:checked + .check-box,
body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-selfrole,.dashboard-active-boosts) .check.is-checked > .check-box {
  border-color: var(--pbcm-blue) !important;
  background: var(--pbcm-blue) !important;
  box-shadow: none !important;
}

body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-selfrole,.dashboard-active-boosts) .check > input[type="checkbox"]:checked + .check-box::after,
body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-selfrole,.dashboard-active-boosts) .check.is-checked > .check-box::after {
  opacity: 1 !important;
}

body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-selfrole,.dashboard-active-boosts) .check > input[type="checkbox"]:focus-visible + .check-box {
  outline: 2px solid rgba(59,130,246,.34) !important;
  outline-offset: 2px !important;
}

/* Variable tokens: simple copy rows, no glowing pills. */
body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-boosts) .variable-help {
  margin-top: 22px !important;
  padding-top: 18px !important;
  border-top: 1px solid var(--pbcm-line) !important;
}

body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-boosts) .variable-help-head {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 16px !important;
  margin-bottom: 12px !important;
}

body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-boosts) .variable-help-head strong {
  color: var(--pbcm-text) !important;
  font-size: .82rem !important;
  font-weight: 600 !important;
}

body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-boosts) .variable-help-head span {
  color: var(--pbcm-soft) !important;
  font-size: .72rem !important;
}

body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-boosts) .variable-grid {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  gap: 8px !important;
}

body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-boosts) .variable-chip {
  min-width: 0 !important;
  min-height: 48px !important;
  display: grid !important;
  grid-template-columns: minmax(90px,auto) minmax(0,1fr) !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 9px 12px !important;
  border: 1px solid var(--pbcm-line) !important;
  border-radius: 9px !important;
  background: rgba(255,255,255,.015) !important;
  color: var(--pbcm-text-2) !important;
  text-align: left !important;
  box-shadow: none !important;
  transform: none !important;
}

body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-boosts) .variable-chip:hover,
body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-boosts) .variable-chip:focus-visible {
  border-color: var(--pbcm-blue-line) !important;
  background: rgba(59,130,246,.045) !important;
  color: var(--pbcm-text) !important;
  box-shadow: none !important;
  transform: none !important;
}

body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-boosts) .variable-chip code {
  color: #9fc4ff !important;
  font-size: .76rem !important;
  font-weight: 600 !important;
}

body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-boosts) .variable-chip span {
  min-width: 0 !important;
  overflow: hidden !important;
  color: var(--pbcm-muted) !important;
  font-size: .72rem !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* Embed builders align with the verification module. */
body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-selfrole) .embed-builder-grid {
  grid-template-columns: minmax(0,1.12fr) minmax(280px,.88fr) !important;
  gap: 24px !important;
  align-items: start !important;
}

body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-selfrole,.dashboard-active-boosts) .embed-editor-preview {
  position: sticky !important;
  top: 92px !important;
  padding: 16px !important;
  border: 1px solid var(--pbcm-line) !important;
  border-radius: 12px !important;
  background: #0a0f15 !important;
  box-shadow: none !important;
}

/* Self-role panels and role rows. */
body#pulsebot-app.dashboard-active-selfrole .plan-limit-label,
body#pulsebot-app.dashboard-active-selfrole .limit-note {
  margin: 0 !important;
  border-color: var(--pbcm-line) !important;
  background: rgba(255,255,255,.016) !important;
  color: var(--pbcm-muted) !important;
  box-shadow: none !important;
}

body#pulsebot-app.dashboard-active-selfrole .selfrole-section .form-section-head {
  display: grid !important;
  gap: 4px !important;
}

body#pulsebot-app.dashboard-active-selfrole .selfrole-section .message-list {
  display: grid !important;
  gap: 8px !important;
}

body#pulsebot-app.dashboard-active-selfrole .selfrole-section .message-rule-card {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto !important;
  align-items: center !important;
  gap: 18px !important;
  padding: 13px 14px !important;
  border: 1px solid var(--pbcm-line) !important;
  border-radius: 10px !important;
  background: rgba(255,255,255,.018) !important;
  box-shadow: none !important;
  transform: none !important;
}

body#pulsebot-app.dashboard-active-selfrole .selfrole-section .message-rule-card:hover {
  border-color: rgba(255,255,255,.12) !important;
  background: rgba(255,255,255,.026) !important;
  transform: none !important;
}

body#pulsebot-app.dashboard-active-selfrole .selfrole-section .message-rule-card > div:first-child {
  min-width: 0 !important;
  display: grid !important;
  gap: 4px !important;
}

body#pulsebot-app.dashboard-active-selfrole .selfrole-section .message-rule-card strong {
  overflow: hidden !important;
  color: var(--pbcm-text) !important;
  font-size: .84rem !important;
  font-weight: 600 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body#pulsebot-app.dashboard-active-selfrole .selfrole-section .message-rule-card span {
  overflow: hidden !important;
  color: var(--pbcm-muted) !important;
  font-size: .73rem !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body#pulsebot-app.dashboard-active-selfrole .selfrole-section .rule-actions {
  display: flex !important;
  gap: 8px !important;
}

body#pulsebot-app.dashboard-active-selfrole .selfrole-section .action-row {
  align-items: center !important;
  justify-content: space-between !important;
  padding-top: 16px !important;
  border-top: 1px solid var(--pbcm-line) !important;
}

body#pulsebot-app.dashboard-active-selfrole .selfrole-section [data-selfrole-add],
body#pulsebot-app.dashboard-active-selfrole [data-publish-selfrole] {
  border: 1px solid rgba(126,174,255,.28) !important;
  background: #3478e5 !important;
  background-image: none !important;
  color: #fff !important;
  box-shadow: none !important;
  transform: none !important;
}

body#pulsebot-app.dashboard-active-selfrole .selfrole-section [data-selfrole-add]:hover,
body#pulsebot-app.dashboard-active-selfrole [data-publish-selfrole]:hover {
  border-color: rgba(156,194,255,.42) !important;
  background: var(--pbcm-blue-hover) !important;
  box-shadow: none !important;
  transform: none !important;
}

body#pulsebot-app.dashboard-active-selfrole .module-form > p {
  display: flex !important;
  justify-content: flex-end !important;
  margin: -6px 0 4px !important;
}

body#pulsebot-app.dashboard-active-selfrole .counter-pill {
  min-width: 48px !important;
  min-height: 28px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 9px !important;
  border: 1px solid var(--pbcm-line) !important;
  border-radius: 8px !important;
  background: rgba(255,255,255,.02) !important;
  color: var(--pbcm-muted) !important;
  font-size: .72rem !important;
  box-shadow: none !important;
}

/* Self-role editors reuse the clean ticket editor language. */
body#pulsebot-app.dashboard-active-selfrole .selfrole-editor {
  width: min(620px, calc(100vw - 28px)) !important;
  max-width: 620px !important;
  padding: 0 !important;
  border: 1px solid var(--pbcm-line-strong) !important;
  border-radius: 14px !important;
  background: #0d131c !important;
  box-shadow: 0 22px 60px rgba(0,0,0,.42) !important;
}

body#pulsebot-app.dashboard-active-selfrole .selfrole-editor .message-editor-card {
  padding: 22px !important;
  border: 0 !important;
  border-radius: inherit !important;
  background: transparent !important;
  box-shadow: none !important;
}

body#pulsebot-app.dashboard-active-selfrole .selfrole-editor .modal-head {
  margin: 0 0 20px !important;
  padding: 0 0 16px !important;
  border-bottom: 1px solid var(--pbcm-line) !important;
}

body#pulsebot-app.dashboard-active-selfrole .selfrole-editor .modal-close {
  border-color: var(--pbcm-line-strong) !important;
  background: rgba(255,255,255,.025) !important;
  color: var(--pbcm-text-2) !important;
  box-shadow: none !important;
}

/* Boost editor: balanced fields and a neutral live preview. */
body#pulsebot-app.dashboard-active-boosts .boost-editor-layout {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0,1.12fr) minmax(290px,.88fr) !important;
  gap: 24px !important;
  align-items: start !important;
}

body#pulsebot-app.dashboard-active-boosts .boost-editor-fields,
body#pulsebot-app.dashboard-active-boosts .boost-preview-column {
  min-width: 0 !important;
}

body#pulsebot-app.dashboard-active-boosts .boost-preview-column {
  position: sticky !important;
  top: 92px !important;
  padding: 16px !important;
  border: 1px solid var(--pbcm-line) !important;
  border-radius: 12px !important;
  background: #0a0f15 !important;
  box-shadow: none !important;
}

body#pulsebot-app.dashboard-active-boosts .boost-preview-label {
  display: grid !important;
  gap: 3px !important;
  margin-bottom: 13px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid var(--pbcm-line) !important;
}

body#pulsebot-app.dashboard-active-boosts .boost-preview-label strong {
  color: var(--pbcm-text) !important;
  font-size: .8rem !important;
  font-weight: 600 !important;
}

body#pulsebot-app.dashboard-active-boosts .boost-preview-label span {
  color: var(--pbcm-muted) !important;
  font-size: .7rem !important;
}

body#pulsebot-app.dashboard-active-boosts .notice-card {
  border: 1px solid var(--pbcm-line) !important;
  border-radius: 10px !important;
  background: rgba(255,255,255,.018) !important;
  color: var(--pbcm-muted) !important;
  box-shadow: none !important;
}

/* Buttons and Premium UI never fall back to purple. */
body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-selfrole,.dashboard-active-boosts) :is(.btn-primary,.premium-inline-badge,.premium-badge,.server-premium-badge) {
  border-color: rgba(126,174,255,.28) !important;
  background-color: #3478e5 !important;
  background-image: none !important;
  color: #fff !important;
  box-shadow: none !important;
}

body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-selfrole,.dashboard-active-boosts) .btn-primary:hover,
body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-selfrole,.dashboard-active-boosts) .btn-primary:focus-visible {
  border-color: rgba(156,194,255,.42) !important;
  background-color: var(--pbcm-blue-hover) !important;
  background-image: none !important;
  box-shadow: none !important;
  transform: none !important;
}

/* Same fixed save action as every rebuilt module. */
body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-selfrole,.dashboard-active-boosts) .module-form > .module-savebar {
  position: fixed !important;
  inset: auto 22px 22px auto !important;
  z-index: 980 !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  backdrop-filter: none !important;
  box-shadow: none !important;
}

body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-selfrole,.dashboard-active-boosts) .module-form > .module-savebar > .notice {
  display: none !important;
}

body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-selfrole,.dashboard-active-boosts) .module-save-button {
  min-width: 196px !important;
  min-height: 46px !important;
  padding: 0 20px !important;
  border: 1px solid rgba(134,180,255,.32) !important;
  border-radius: 9px !important;
  background: #3478e5 !important;
  background-image: none !important;
  color: #fff !important;
  font-size: .86rem !important;
  font-weight: 600 !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.30) !important;
  transform: none !important;
}

body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-selfrole,.dashboard-active-boosts) .module-save-button::before,
body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-selfrole,.dashboard-active-boosts) .module-save-button::after {
  content: none !important;
  display: none !important;
}

body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-selfrole,.dashboard-active-boosts) .module-save-button:hover:not(:disabled),
body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-selfrole,.dashboard-active-boosts) .module-save-button:focus-visible:not(:disabled) {
  background: var(--pbcm-blue-hover) !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.30) !important;
  transform: none !important;
}

body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-selfrole,.dashboard-active-boosts) .module-save-button:active:not(:disabled) {
  background: var(--pbcm-blue-pressed) !important;
}

/* Module switch uses blue, never green. */
body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-selfrole,.dashboard-active-boosts) .toggle input:checked + .toggle-track {
  border-color: var(--pbcm-blue) !important;
  background: var(--pbcm-blue) !important;
  box-shadow: none !important;
}

body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-selfrole,.dashboard-active-boosts) .switch-state.on {
  color: #a9c9ff !important;
}

@media (max-width: 900px) {
  body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-selfrole) .embed-builder-grid,
  body#pulsebot-app.dashboard-active-boosts .boost-editor-layout {
    grid-template-columns: 1fr !important;
  }

  body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-selfrole,.dashboard-active-boosts) .embed-editor-preview,
  body#pulsebot-app.dashboard-active-boosts .boost-preview-column {
    position: static !important;
  }
}

@media (max-width: 640px) {
  body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-selfrole,.dashboard-active-boosts) .form-section-body {
    padding: 17px !important;
  }

  body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-boosts) .variable-grid {
    grid-template-columns: 1fr !important;
  }

  body#pulsebot-app.dashboard-active-selfrole .selfrole-section .message-rule-card {
    grid-template-columns: 1fr !important;
  }

  body#pulsebot-app.dashboard-active-selfrole .selfrole-section .rule-actions {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }

  body#pulsebot-app.dashboard-active-selfrole .selfrole-section .rule-actions .btn {
    width: 100% !important;
  }

  body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-selfrole,.dashboard-active-boosts) .module-form > .module-savebar {
    inset: auto 12px 12px 12px !important;
  }

  body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye,.dashboard-active-selfrole,.dashboard-active-boosts) .module-save-button {
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* PulseBot v21.9.2 — Suggestions module aligned with the rebuilt community modules. */
body#pulsebot-app.dashboard-active-suggestions {
  --pbcm-blue: #3b82f6;
  --pbcm-blue-hover: #4a8cf3;
  --pbcm-blue-pressed: #2e6fd2;
  --pbcm-blue-soft: rgba(59,130,246,.075);
  --pbcm-blue-line: rgba(59,130,246,.27);
  --pbcm-line: rgba(255,255,255,.075);
  --pbcm-line-strong: rgba(255,255,255,.13);
  --pbcm-surface: rgba(14,18,24,.82);
  --pbcm-text: #edf2f8;
  --pbcm-text-2: #c9d0da;
  --pbcm-muted: #8d97a5;
  --pbcm-soft: #677280;
}

body#pulsebot-app.dashboard-active-suggestions .module-headline {
  min-height: 96px !important;
  margin: 0 0 20px !important;
  padding: 18px 4px 22px !important;
}

body#pulsebot-app.dashboard-active-suggestions .module-heading-copy {
  gap: 15px !important;
}

body#pulsebot-app.dashboard-active-suggestions .module-heading-icon {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  border: 1px solid var(--pbcm-blue-line) !important;
  border-radius: 11px !important;
  background: rgba(59,130,246,.07) !important;
  color: #a9c9ff !important;
  box-shadow: none !important;
}

body#pulsebot-app.dashboard-active-suggestions .module-headline h2 {
  font-size: 1.3rem !important;
}

body#pulsebot-app.dashboard-active-suggestions .module-headline p {
  max-width: 720px !important;
  font-size: .82rem !important;
  line-height: 1.55 !important;
}

body#pulsebot-app.dashboard-active-suggestions .module-status {
  min-height: 30px !important;
  display: inline-flex !important;
  align-items: center !important;
  padding: 0 10px !important;
  border: 1px solid var(--pbcm-line) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.025) !important;
  color: var(--pbcm-muted) !important;
  font-size: .7rem !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}

body#pulsebot-app.dashboard-active-suggestions .module-status::before {
  content: none !important;
  display: none !important;
}

body#pulsebot-app.dashboard-active-suggestions .module-status.on {
  border-color: var(--pbcm-blue-line) !important;
  background: var(--pbcm-blue-soft) !important;
  color: #a9c9ff !important;
}

body#pulsebot-app.dashboard-active-suggestions .module-form {
  width: 100% !important;
  min-width: 0 !important;
  display: grid !important;
  gap: 18px !important;
  padding-bottom: 104px !important;
}

body#pulsebot-app.dashboard-active-suggestions .module-form > .form-section {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid var(--pbcm-line) !important;
  border-radius: 14px !important;
  background: var(--pbcm-surface) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

body#pulsebot-app.dashboard-active-suggestions .form-section-head {
  min-width: 0 !important;
  margin: 0 !important;
  padding: 17px 19px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--pbcm-line) !important;
  background: rgba(255,255,255,.016) !important;
}

body#pulsebot-app.dashboard-active-suggestions .form-section-head h3 {
  margin: 0 !important;
  color: var(--pbcm-text) !important;
  font-size: .9rem !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  letter-spacing: -.012em !important;
}

body#pulsebot-app.dashboard-active-suggestions .form-section-head p {
  max-width: 760px !important;
  margin: 5px 0 0 !important;
  color: var(--pbcm-muted) !important;
  font-size: .75rem !important;
  line-height: 1.5 !important;
}

body#pulsebot-app.dashboard-active-suggestions .form-section-body {
  min-width: 0 !important;
  padding: 21px !important;
  background: transparent !important;
}

body#pulsebot-app.dashboard-active-suggestions .field {
  min-width: 0 !important;
  gap: 8px !important;
  margin: 0 0 19px !important;
}

body#pulsebot-app.dashboard-active-suggestions .field:last-child {
  margin-bottom: 0 !important;
}

body#pulsebot-app.dashboard-active-suggestions .module-grid {
  min-width: 0 !important;
  gap: 20px 24px !important;
}

body#pulsebot-app.dashboard-active-suggestions :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea) {
  border-color: rgba(255,255,255,.11) !important;
  border-radius: 10px !important;
  background: #0c1117 !important;
  color: var(--pbcm-text) !important;
  box-shadow: none !important;
}

body#pulsebot-app.dashboard-active-suggestions :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea):focus {
  border-color: rgba(59,130,246,.55) !important;
  box-shadow: 0 0 0 2px rgba(59,130,246,.09) !important;
  outline: none !important;
}

body#pulsebot-app.dashboard-active-suggestions .check-grid {
  gap: 9px !important;
  margin: 4px 0 20px !important;
}

body#pulsebot-app.dashboard-active-suggestions .check {
  min-width: 0 !important;
  min-height: 44px !important;
  padding: 10px 12px !important;
  border: 1px solid var(--pbcm-line) !important;
  border-radius: 10px !important;
  background: rgba(255,255,255,.018) !important;
  color: var(--pbcm-text-2) !important;
  box-shadow: none !important;
}

body#pulsebot-app.dashboard-active-suggestions .check:hover {
  border-color: rgba(255,255,255,.12) !important;
  background: rgba(255,255,255,.028) !important;
}

body#pulsebot-app.dashboard-active-suggestions .check > input[type="checkbox"] {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

body#pulsebot-app.dashboard-active-suggestions .check > .check-box {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  min-height: 16px !important;
  display: grid !important;
  place-items: center !important;
  border: 1px solid #697483 !important;
  border-radius: 4px !important;
  background: transparent !important;
  box-shadow: none !important;
}

body#pulsebot-app.dashboard-active-suggestions .check > .check-box::after {
  content: "" !important;
  width: 7px !important;
  height: 4px !important;
  border: solid #fff !important;
  border-width: 0 0 2px 2px !important;
  opacity: 0 !important;
  transform: translateY(-1px) rotate(-45deg) !important;
}

body#pulsebot-app.dashboard-active-suggestions .check > input[type="checkbox"]:checked + .check-box,
body#pulsebot-app.dashboard-active-suggestions .check.is-checked > .check-box {
  border-color: var(--pbcm-blue) !important;
  background: var(--pbcm-blue) !important;
  box-shadow: none !important;
}

body#pulsebot-app.dashboard-active-suggestions .check > input[type="checkbox"]:checked + .check-box::after,
body#pulsebot-app.dashboard-active-suggestions .check.is-checked > .check-box::after {
  opacity: 1 !important;
}

body#pulsebot-app.dashboard-active-suggestions .check > input[type="checkbox"]:focus-visible + .check-box {
  outline: 2px solid rgba(59,130,246,.34) !important;
  outline-offset: 2px !important;
}

body#pulsebot-app.dashboard-active-suggestions .notice-card {
  margin-top: 20px !important;
  padding: 15px 16px !important;
  border: 1px solid var(--pbcm-line) !important;
  border-radius: 10px !important;
  background: rgba(255,255,255,.018) !important;
  color: var(--pbcm-muted) !important;
  box-shadow: none !important;
}

body#pulsebot-app.dashboard-active-suggestions .notice-card strong {
  color: var(--pbcm-text) !important;
  font-size: .8rem !important;
  font-weight: 600 !important;
}

body#pulsebot-app.dashboard-active-suggestions .notice-card p {
  margin: 6px 0 0 !important;
  color: var(--pbcm-muted) !important;
  font-size: .73rem !important;
  line-height: 1.55 !important;
}

body#pulsebot-app.dashboard-active-suggestions :is(.btn-primary,.premium-inline-badge,.premium-badge,.server-premium-badge) {
  border-color: rgba(126,174,255,.28) !important;
  background-color: #3478e5 !important;
  background-image: none !important;
  color: #fff !important;
  box-shadow: none !important;
}

body#pulsebot-app.dashboard-active-suggestions .btn-primary:hover,
body#pulsebot-app.dashboard-active-suggestions .btn-primary:focus-visible {
  border-color: rgba(156,194,255,.42) !important;
  background-color: var(--pbcm-blue-hover) !important;
  background-image: none !important;
  box-shadow: none !important;
  transform: none !important;
}

body#pulsebot-app.dashboard-active-suggestions .module-form > .module-savebar {
  position: fixed !important;
  inset: auto 22px 22px auto !important;
  z-index: 980 !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  backdrop-filter: none !important;
  box-shadow: none !important;
}

body#pulsebot-app.dashboard-active-suggestions .module-form > .module-savebar > .notice {
  display: none !important;
}

body#pulsebot-app.dashboard-active-suggestions .module-save-button {
  min-width: 196px !important;
  min-height: 46px !important;
  padding: 0 20px !important;
  border: 1px solid rgba(134,180,255,.32) !important;
  border-radius: 9px !important;
  background: #3478e5 !important;
  background-image: none !important;
  color: #fff !important;
  font-size: .86rem !important;
  font-weight: 600 !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.30) !important;
  transform: none !important;
}

body#pulsebot-app.dashboard-active-suggestions .module-save-button::before,
body#pulsebot-app.dashboard-active-suggestions .module-save-button::after {
  content: none !important;
  display: none !important;
}

body#pulsebot-app.dashboard-active-suggestions .module-save-button:hover:not(:disabled),
body#pulsebot-app.dashboard-active-suggestions .module-save-button:focus-visible:not(:disabled) {
  background: var(--pbcm-blue-hover) !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.30) !important;
  transform: none !important;
}

body#pulsebot-app.dashboard-active-suggestions .module-save-button:active:not(:disabled) {
  background: var(--pbcm-blue-pressed) !important;
}

body#pulsebot-app.dashboard-active-suggestions .toggle input:checked + .toggle-track {
  border-color: var(--pbcm-blue) !important;
  background: var(--pbcm-blue) !important;
  box-shadow: none !important;
}

body#pulsebot-app.dashboard-active-suggestions .switch-state.on {
  color: #a9c9ff !important;
}

/* Multi-selects keep the compact blue selection language from the other modules. */
body#pulsebot-app.dashboard-active-suggestions .multi-picker {
  border-color: var(--pbcm-line) !important;
  border-radius: 11px !important;
  background: #0b1016 !important;
  box-shadow: none !important;
}

body#pulsebot-app.dashboard-active-suggestions .multi-picker-option,
body#pulsebot-app.dashboard-active-suggestions .multi-picker-item {
  border-color: transparent !important;
  background: rgba(255,255,255,.018) !important;
  box-shadow: none !important;
}

body#pulsebot-app.dashboard-active-suggestions .multi-picker-option:hover,
body#pulsebot-app.dashboard-active-suggestions .multi-picker-item:hover {
  border-color: rgba(255,255,255,.08) !important;
  background: rgba(255,255,255,.03) !important;
}

body#pulsebot-app.dashboard-active-suggestions .multi-picker-option.is-selected,
body#pulsebot-app.dashboard-active-suggestions .multi-picker-item.is-selected,
body#pulsebot-app.dashboard-active-suggestions .multi-picker-option:has(input:checked),
body#pulsebot-app.dashboard-active-suggestions .multi-picker-item:has(input:checked) {
  border-color: var(--pbcm-blue-line) !important;
  background: rgba(59,130,246,.085) !important;
  color: var(--pbcm-text) !important;
}

@media (max-width: 640px) {
  body#pulsebot-app.dashboard-active-suggestions .form-section-body {
    padding: 17px !important;
  }

  body#pulsebot-app.dashboard-active-suggestions .module-grid {
    grid-template-columns: 1fr !important;
  }

  body#pulsebot-app.dashboard-active-suggestions .module-form > .module-savebar {
    inset: auto 12px 12px 12px !important;
  }

  body#pulsebot-app.dashboard-active-suggestions .module-save-button {
    width: 100% !important;
    min-width: 0 !important;
  }
}
