/* PulseBot v22.0.13 — exact community-module match.
   Scope is limited to Welcome, Goodbye, Self Roles, Boosts and Suggestions.
   The geometry mirrors the established Logs / Automod / Verification pages. */

body#pulsebot-app:is(
  .dashboard-active-welcome,
  .dashboard-active-goodbye,
  .dashboard-active-selfrole,
  .dashboard-active-boosts,
  .dashboard-active-suggestions
) {
  --pbce-blue: #3b82f6;
  --pbce-blue-hover: #4b8df7;
  --pbce-blue-soft: rgba(59,130,246,.075);
  --pbce-blue-line: rgba(59,130,246,.30);
  --pbce-panel: rgba(15,19,25,.78);
  --pbce-panel-head: rgba(255,255,255,.018);
  --pbce-input: #0b0f15;
  --pbce-line: rgba(255,255,255,.075);
  --pbce-line-strong: rgba(255,255,255,.13);
  --pbce-text: #edf1f7;
  --pbce-text-2: #c8ced8;
  --pbce-muted: #8c96a4;
  --pbce-soft: #667180;
}

/* Same page width and vertical rhythm as the established core modules. */
body#pulsebot-app:is(
  .dashboard-active-welcome,
  .dashboard-active-goodbye,
  .dashboard-active-selfrole,
  .dashboard-active-boosts,
  .dashboard-active-suggestions
) .content-stack {
  min-width: 0 !important;
  max-width: 1180px !important;
  margin-inline: auto !important;
  display: block !important;
}

body#pulsebot-app:is(
  .dashboard-active-welcome,
  .dashboard-active-goodbye,
  .dashboard-active-selfrole,
  .dashboard-active-boosts,
  .dashboard-active-suggestions
) .server-top {
  min-height: 66px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  margin: 0 0 18px !important;
  padding: 10px 4px 14px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--pbce-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body#pulsebot-app:is(
  .dashboard-active-welcome,
  .dashboard-active-goodbye,
  .dashboard-active-selfrole,
  .dashboard-active-boosts,
  .dashboard-active-suggestions
) .server-top-copy {
  min-width: 0 !important;
  gap: 12px !important;
}

body#pulsebot-app:is(
  .dashboard-active-welcome,
  .dashboard-active-goodbye,
  .dashboard-active-selfrole,
  .dashboard-active-boosts,
  .dashboard-active-suggestions
) .server-top-icon {
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  display: grid !important;
  place-items: center !important;
  border: 1px solid var(--pbce-line) !important;
  border-radius: 10px !important;
  background: rgba(255,255,255,.025) !important;
  color: #a9b9d3 !important;
  box-shadow: none !important;
}

body#pulsebot-app:is(
  .dashboard-active-welcome,
  .dashboard-active-goodbye,
  .dashboard-active-selfrole,
  .dashboard-active-boosts,
  .dashboard-active-suggestions
) .server-top h2 {
  margin: 0 !important;
  color: var(--pbce-text) !important;
  font-size: .92rem !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  letter-spacing: -.012em !important;
}

body#pulsebot-app:is(
  .dashboard-active-welcome,
  .dashboard-active-goodbye,
  .dashboard-active-selfrole,
  .dashboard-active-boosts,
  .dashboard-active-suggestions
) .server-top :is(p,small) {
  margin: 2px 0 0 !important;
  color: var(--pbce-soft) !important;
  font-size: .68rem !important;
  line-height: 1.35 !important;
}

body#pulsebot-app:is(
  .dashboard-active-welcome,
  .dashboard-active-goodbye,
  .dashboard-active-selfrole,
  .dashboard-active-boosts,
  .dashboard-active-suggestions
) .server-top .btn {
  min-height: 36px !important;
  padding: 0 14px !important;
  border: 1px solid var(--pbce-line-strong) !important;
  border-radius: 9px !important;
  background: transparent !important;
  color: var(--pbce-text-2) !important;
  font-size: .78rem !important;
  box-shadow: none !important;
  transform: none !important;
}

/* The outer module shell is intentionally borderless, exactly like core modules. */
body#pulsebot-app:is(
  .dashboard-active-welcome,
  .dashboard-active-goodbye,
  .dashboard-active-selfrole,
  .dashboard-active-boosts,
  .dashboard-active-suggestions
) .module-panel {
  overflow: visible !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !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,
  .dashboard-active-suggestions
) .module-headline {
  min-height: 96px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
  margin: 0 0 20px !important;
  padding: 18px 4px 22px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--pbce-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body#pulsebot-app:is(
  .dashboard-active-welcome,
  .dashboard-active-goodbye,
  .dashboard-active-selfrole,
  .dashboard-active-boosts,
  .dashboard-active-suggestions
) .module-heading-copy {
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 15px !important;
}

body#pulsebot-app:is(
  .dashboard-active-welcome,
  .dashboard-active-goodbye,
  .dashboard-active-selfrole,
  .dashboard-active-boosts,
  .dashboard-active-suggestions
) .module-heading-icon {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  display: grid !important;
  place-items: center !important;
  border: 1px solid var(--pbce-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,
  .dashboard-active-suggestions
) .module-heading-icon svg {
  width: 18px !important;
  height: 18px !important;
}

body#pulsebot-app:is(
  .dashboard-active-welcome,
  .dashboard-active-goodbye,
  .dashboard-active-selfrole,
  .dashboard-active-boosts,
  .dashboard-active-suggestions
) .module-headline h2 {
  margin: 0 !important;
  color: var(--pbce-text) !important;
  font-size: 1.3rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: -.025em !important;
}

body#pulsebot-app:is(
  .dashboard-active-welcome,
  .dashboard-active-goodbye,
  .dashboard-active-selfrole,
  .dashboard-active-boosts,
  .dashboard-active-suggestions
) .module-headline :is(p,.notice) {
  max-width: 720px !important;
  margin: 5px 0 0 !important;
  color: var(--pbce-muted) !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,
  .dashboard-active-suggestions
) .module-status {
  flex: 0 0 auto !important;
  min-height: 30px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 10px !important;
  border: 1px solid var(--pbce-line) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.025) !important;
  color: var(--pbce-muted) !important;
  font-size: .7rem !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  box-shadow: none !important;
}

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

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

body#pulsebot-app:is(
  .dashboard-active-welcome,
  .dashboard-active-goodbye,
  .dashboard-active-selfrole,
  .dashboard-active-boosts,
  .dashboard-active-suggestions
) .module-form {
  width: 100% !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0,1fr) !important;
  gap: 16px !important;
  margin: 0 !important;
  padding: 0 0 96px !important;
}

body#pulsebot-app:is(
  .dashboard-active-welcome,
  .dashboard-active-goodbye,
  .dashboard-active-selfrole,
  .dashboard-active-boosts,
  .dashboard-active-suggestions
) .module-form > * {
  min-width: 0 !important;
}

body#pulsebot-app:is(
  .dashboard-active-welcome,
  .dashboard-active-goodbye,
  .dashboard-active-selfrole,
  .dashboard-active-boosts,
  .dashboard-active-suggestions
) .module-panel-special {
  margin: 0 !important;
  padding: 16px 18px !important;
  border: 0 !important;
  border-left: 2px solid var(--pbce-blue) !important;
  border-radius: 0 12px 12px 0 !important;
  background: rgba(59,130,246,.045) !important;
  box-shadow: none !important;
}

body#pulsebot-app:is(
  .dashboard-active-welcome,
  .dashboard-active-goodbye,
  .dashboard-active-selfrole,
  .dashboard-active-boosts,
  .dashboard-active-suggestions
) .module-panel-special h2 {
  margin: 0 0 5px !important;
  color: var(--pbce-text) !important;
  font-size: .98rem !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  letter-spacing: -.015em !important;
}

body#pulsebot-app:is(
  .dashboard-active-welcome,
  .dashboard-active-goodbye,
  .dashboard-active-selfrole,
  .dashboard-active-boosts,
  .dashboard-active-suggestions
) .module-panel-special p {
  max-width: 760px !important;
  margin: 0 !important;
  color: var(--pbce-muted) !important;
  font-size: .8rem !important;
  line-height: 1.55 !important;
}

/* Every regular section uses the exact core-module card geometry. */
body#pulsebot-app:is(
  .dashboard-active-welcome,
  .dashboard-active-goodbye,
  .dashboard-active-selfrole,
  .dashboard-active-boosts,
  .dashboard-active-suggestions
) :is(.module-form > .form-section,.selfrole-section) {
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid var(--pbce-line) !important;
  border-radius: 14px !important;
  background: var(--pbce-panel) !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,
  .dashboard-active-suggestions
) .form-section-head {
  min-height: 0 !important;
  display: block !important;
  margin: 0 !important;
  padding: 15px 17px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--pbce-line) !important;
  background: var(--pbce-panel-head) !important;
}

body#pulsebot-app:is(
  .dashboard-active-welcome,
  .dashboard-active-goodbye,
  .dashboard-active-selfrole,
  .dashboard-active-boosts,
  .dashboard-active-suggestions
) .form-section-head h3 {
  margin: 0 !important;
  color: var(--pbce-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,
  .dashboard-active-suggestions
) .form-section-head p {
  max-width: 760px !important;
  margin: 5px 0 0 !important;
  color: var(--pbce-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,
  .dashboard-active-suggestions
) .form-section-body {
  padding: 17px !important;
  background: transparent !important;
}

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

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

body#pulsebot-app:is(
  .dashboard-active-welcome,
  .dashboard-active-goodbye,
  .dashboard-active-selfrole,
  .dashboard-active-boosts,
  .dashboard-active-suggestions
) .field > label {
  margin: 0 !important;
  color: var(--pbce-text-2) !important;
  font-size: .77rem !important;
  font-weight: 550 !important;
  line-height: 1.35 !important;
}

body#pulsebot-app:is(
  .dashboard-active-welcome,
  .dashboard-active-goodbye,
  .dashboard-active-selfrole,
  .dashboard-active-boosts,
  .dashboard-active-suggestions
) .field > small {
  margin: 0 !important;
  color: var(--pbce-soft) !important;
  font-size: .69rem !important;
  line-height: 1.45 !important;
}

body#pulsebot-app:is(
  .dashboard-active-welcome,
  .dashboard-active-goodbye,
  .dashboard-active-selfrole,
  .dashboard-active-boosts,
  .dashboard-active-suggestions
) :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea,.multi-picker-trigger) {
  width: 100% !important;
  min-height: 44px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 9px !important;
  background: var(--pbce-input) !important;
  color: var(--pbce-text) !important;
  font-size: .82rem !important;
  box-shadow: none !important;
  outline: none !important;
}

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

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

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

body#pulsebot-app:is(
  .dashboard-active-welcome,
  .dashboard-active-goodbye,
  .dashboard-active-selfrole,
  .dashboard-active-boosts,
  .dashboard-active-suggestions
) .check-grid {
  gap: 8px !important;
}

body#pulsebot-app:is(
  .dashboard-active-welcome,
  .dashboard-active-goodbye,
  .dashboard-active-selfrole,
  .dashboard-active-boosts,
  .dashboard-active-suggestions
) .action-row {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 0 12px !important;
}

/* Unique community builders are normalized to the same plain section language. */
body#pulsebot-app.dashboard-active-selfrole :is(.selfrole-editor,.selfrole-item),
body#pulsebot-app.dashboard-active-boosts :is(.boost-editor-layout,.boost-preview-card,.embed-preview-card),
body#pulsebot-app.dashboard-active-suggestions :is(.notice-card,.variable-help),
body#pulsebot-app:is(.dashboard-active-welcome,.dashboard-active-goodbye) :is(.embed-builder-card,.variable-help) {
  border-color: var(--pbce-line) !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.012) !important;
  box-shadow: none !important;
  filter: none !important;
}

body#pulsebot-app:is(
  .dashboard-active-welcome,
  .dashboard-active-goodbye,
  .dashboard-active-selfrole,
  .dashboard-active-boosts,
  .dashboard-active-suggestions
) :is(.premium-badge,.premium-inline-badge,.server-premium-badge) {
  border-color: var(--pbce-blue-line) !important;
  background: transparent !important;
  color: #a9c9ff !important;
  box-shadow: none !important;
}

body#pulsebot-app:is(
  .dashboard-active-welcome,
  .dashboard-active-goodbye,
  .dashboard-active-selfrole,
  .dashboard-active-boosts,
  .dashboard-active-suggestions
) :is(.btn-primary,.module-save-button) {
  border-color: rgba(126,174,255,.28) !important;
  background: var(--pbce-blue) !important;
  color: #fff !important;
  box-shadow: none !important;
  transform: none !important;
}

body#pulsebot-app:is(
  .dashboard-active-welcome,
  .dashboard-active-goodbye,
  .dashboard-active-selfrole,
  .dashboard-active-boosts,
  .dashboard-active-suggestions
) :is(.btn-primary,.module-save-button):hover:not(:disabled) {
  background: var(--pbce-blue-hover) !important;
  box-shadow: none !important;
  transform: none !important;
}

@media (max-width: 720px) {
  body#pulsebot-app:is(
    .dashboard-active-welcome,
    .dashboard-active-goodbye,
    .dashboard-active-selfrole,
    .dashboard-active-boosts,
    .dashboard-active-suggestions
  ) .server-top {
    min-height: 0 !important;
    align-items: flex-start !important;
    flex-direction: column !important;
    margin-bottom: 16px !important;
    padding: 8px 0 14px !important;
  }

  body#pulsebot-app:is(
    .dashboard-active-welcome,
    .dashboard-active-goodbye,
    .dashboard-active-selfrole,
    .dashboard-active-boosts,
    .dashboard-active-suggestions
  ) .module-headline {
    min-height: 0 !important;
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 14px !important;
    margin-bottom: 16px !important;
    padding: 14px 0 18px !important;
  }

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

  body#pulsebot-app:is(
    .dashboard-active-welcome,
    .dashboard-active-goodbye,
    .dashboard-active-selfrole,
    .dashboard-active-boosts,
    .dashboard-active-suggestions
  ) .module-form {
    gap: 14px !important;
    padding-bottom: 92px !important;
  }

  body#pulsebot-app:is(
    .dashboard-active-welcome,
    .dashboard-active-goodbye,
    .dashboard-active-selfrole,
    .dashboard-active-boosts,
    .dashboard-active-suggestions
  ) :is(.module-form > .form-section,.selfrole-section) {
    border-radius: 12px !important;
  }

  body#pulsebot-app:is(
    .dashboard-active-welcome,
    .dashboard-active-goodbye,
    .dashboard-active-selfrole,
    .dashboard-active-boosts,
    .dashboard-active-suggestions
  ) .form-section-head {
    padding: 14px !important;
  }

  body#pulsebot-app:is(
    .dashboard-active-welcome,
    .dashboard-active-goodbye,
    .dashboard-active-selfrole,
    .dashboard-active-boosts,
    .dashboard-active-suggestions
  ) .form-section-body {
    padding: 14px !important;
  }
}
