/* Shared feedback: discovery, profile/club actions, TV, QR and admin.
 * Keep placement, dismissal and message semantics with their existing owners.
 */
body.dancr-button-system :is(
  #toast,
  .admin-action-toast,
  .tv-status,
  .home-card-qr-notice,
  .home-tv-feed-feedback
) {
  box-sizing: border-box;
  border: 1px solid rgba(255, 255, 255, .18) !important;
  border-radius: 16px !important;
  color: #f5f5f7 !important;
  background: rgba(27, 27, 33, .98) !important;
  box-shadow: 0 12px 36px rgba(0, 0, 0, .38), inset 0 1px 0 rgba(255, 255, 255, .05) !important;
  text-shadow: none !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  line-height: 1.45 !important;
  overflow-wrap: anywhere;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

body.dancr-button-system #toast {
  width: max-content;
  max-width: min(420px, calc(100vw - 32px));
  min-height: 48px;
  padding: 13px 18px;
  font-size: 15px !important;
  text-align: left;
  transition: opacity .18s ease, transform .18s ease;
}

body.dancr-button-system .admin-action-toast {
  top: max(16px, env(safe-area-inset-top, 0px));
  gap: 12px;
  padding: 10px 12px 10px 16px;
  font-size: 14px !important;
}

body.dancr-button-system .admin-action-toast > span {
  width: 30px;
  height: 30px;
  border: 1px solid rgba(255, 255, 255, .16);
  color: #f5f5f7;
  background: rgba(255, 255, 255, .08);
  font-weight: 600;
}

body.dancr-button-system .admin-action-toast strong {
  color: inherit;
  font-size: inherit;
  font-weight: 600;
}

body.dancr-button-system .admin-action-toast button {
  width: 44px;
  min-height: 44px;
  border: 1px solid rgba(255, 255, 255, .14) !important;
  border-radius: 50% !important;
  color: #e4e4e9 !important;
  background: rgba(255, 255, 255, .06) !important;
  box-shadow: none !important;
}

body.dancr-button-system .admin-action-toast button:focus-visible {
  outline: 2px solid #f5f5f7;
  outline-offset: 3px;
}

body.dancr-button-system .tv-status {
  padding: 12px 16px;
  font-size: 14px !important;
}

body.dancr-button-system .home-card-qr-notice::after {
  border-color: rgba(255, 255, 255, .18);
  background: rgb(27, 27, 33);
}

body.dancr-button-system .home-card-qr-notice strong {
  color: #f5f5f7;
  font-weight: 650;
  line-height: 1.4;
}

body.dancr-button-system .home-card-qr-notice span {
  color: #d0d0d8;
  font-weight: 500;
  line-height: 1.45;
}

/* Small media/share messages keep their existing layout without a green tint. */
body.dancr-button-system :is(
  .profile-tv-viewer-status,
  .profile-media-viewer-share-status,
  .profile-action-status,
  .tv-video-viewer-footer > p[aria-live],
  .share-status
) {
  color: #e4e4e9 !important;
  font-weight: 600 !important;
}

@media (prefers-reduced-motion: reduce) {
  body.dancr-button-system :is(#toast, .home-card-qr-notice, .home-tv-feed-feedback) {
    transition: none !important;
  }
}

/* Persistent guidance stays in the form or section that owns it. Explicit
 * selectors keep operational badges, chat messages and alerts out of this skin.
 * The legacy customer selector also overrides its old colored left-border rule.
 */
body.dancr-button-system :is(
  .rule-note,
  #customerDashboard .rule-note,
  .dancer-signup-note,
  .session-notice,
  .recovery-security,
  .login-recovery-security,
  .venue-team-permission-note,
  .nfc-supply-note,
  .nfc-test-status,
  .nfc-card:not([data-phase="error"]) .nfc-status,
  .customer-action-status,
  .photo-upload-status,
  .shift-checkin-card .shift-checkin-status,
  .venue-contract-preview-note,
  .venue-deal-rule-note,
  .venue-deal-live-edit-note,
  .venue-deal-request-feedback,
  .venue-deal-feedback,
  .dancer-payout-setup-notice,
  .dancer-onboarding-complete-note,
  .dancer-nats-signup-callout,
  .tv-schedule-context-note,
  .tv-studio-status,
  .tv-studio-lock,
  .tv-studio-limit,
  .venue-tv-status,
  .admin-tv-status,
  .admin-info-note,
  .pilot-method-note,
  .dancer-roster-status,
  .review-feedback,
  .dmca-admin-status,
  .dmca-status,
  .counter-status,
  .agent-notice,
  .sales-message,
  .earnings-notice
):not(.error, .is-error, [role="alert"]) {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
  padding: 12px 14px !important;
  border: 1px solid rgba(255, 255, 255, .12) !important;
  border-radius: 14px !important;
  color: #d5d5dd !important;
  background: #1b1b21 !important;
  box-shadow: none !important;
  text-shadow: none !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
  letter-spacing: 0 !important;
  overflow-wrap: anywhere;
}

/* Structured notices share the same reading weight as a simple one-line note. */
body.dancr-button-system :is(
  .rule-note,
  .dancer-signup-note,
  .dancer-payout-setup-notice,
  .dancer-onboarding-complete-note,
  .dancer-nats-signup-callout,
  .nfc-supply-note,
  .venue-team-permission-note,
  .tv-schedule-context-note,
  .tv-studio-lock,
  .tv-studio-limit,
  .venue-deal-request-feedback
):not(.error, .is-error, [role="alert"]) :is(p, small, strong, h2, .auth-signup-note-copy) {
  color: #d5d5dd !important;
  text-shadow: none !important;
  line-height: 1.55 !important;
}

body.dancr-button-system :is(
  .dancer-signup-note,
  .dancer-payout-setup-notice,
  .dancer-onboarding-complete-note,
  .dancer-nats-signup-callout,
  .nfc-supply-note,
  .tv-schedule-context-note,
  .tv-studio-lock,
  .tv-studio-limit
) > :is(span, p, small) {
  color: #d5d5dd !important;
  font-weight: 500 !important;
}

body.dancr-button-system :is(
  .rule-note,
  .dancer-signup-note,
  .dancer-payout-setup-notice,
  .dancer-onboarding-complete-note,
  .dancer-nats-signup-callout,
  .nfc-supply-note,
  .tv-schedule-context-note
) :is(strong, h2) {
  font-weight: 600 !important;
}

body.dancr-button-system .rule-note .auth-signup-note-lock {
  border-color: rgba(255, 255, 255, .14) !important;
  color: #c4c4cf !important;
  background: rgba(255, 255, 255, .045) !important;
  box-shadow: none !important;
}

/* Success is a small, existing checkmark rather than a green-filled card. */
body.dancr-button-system .review-feedback.success > span[aria-hidden="true"],
body.dancr-button-system .venue-deal-request-feedback.is-success > span {
  color: #6ee7b7 !important;
  background: transparent !important;
  box-shadow: none !important;
}
