/* The Pinetree People | Bright green button finish | 2026-09-21
   Additive visual layer only. No layouts, behavior, data, or security rules change.
   Applied to identified PRIMARY green controls only: secondary/pale, white, gold,
   danger/red, disabled styling and verification UI retain their existing behavior.
   First release linked this file only from public/index.html; other page selectors
   remain prepared but inactive until those pages explicitly load the stylesheet. */
:root {
  --ptp-button-gradient: linear-gradient(180deg, #20774e 0%, #196b46 52%, #105638 100%);
  --ptp-button-gradient-hover: linear-gradient(180deg, #258257 0%, #1c7450 52%, #125f40 100%);
}

/* Main feed: primary buttons, green navigation tiles and selected green controls. */
html[data-ptp-gradient="index"] button:not(:disabled):not(:is(
  .btn-ghost, .btn-danger, .google-signin-button, .microsoft-signin-button,
  .guest-signin-button, .verification-summary-button, .pwa-install-button,
  .pwa-install-secondary, .pwa-install-dismiss, .engagement-button,
  .dashboard-tab, .notification-bell, .brand-mark, .mobile-drawer-toggle,
  .pinetree-brief-result, .rep-email-close, .rep-email-mode-button,
  .ptp-profile-name-trigger, .ptp-profile-avatar-trigger, .settings-nav-button
)),
html[data-ptp-gradient="index"] .district-chat-launch-button,
html[data-ptp-gradient="index"] .profile-button:not(:is(.secondary,.disabled)),
html[data-ptp-gradient="index"] .engagement-button.active:not(:is(.bookmarked,.email-rep-button)),
html[data-ptp-gradient="index"] .dashboard-tab.active,
html[data-ptp-gradient="index"] .notification-bell.active,

/* Civic learning and Achievement Center. */
html[data-ptp-gradient="how-to-read-a-bill"] :is(.return-button,.primary-button),
html[data-ptp-gradient="how-to-read-legal-language"] :is(.return-button,.primary-button),
html[data-ptp-gradient="achievement-center"] .btn:not(.secondary),
html[data-ptp-gradient="maine-court-rules"] :is(.return,.button.primary),

/* District chat: primary buttons and selected green tabs. */
html[data-ptp-gradient="district-chat"] :is(.return-button,.button:not(:is(.secondary,.ghost,.danger)),.tab-button.active,.filter-button.active),

/* Consolidated gradebook and other information pages. */
html[data-ptp-gradient="government-gradebook"] :is(button:not(:is(.secondary,.ghost,.danger)),.button:not(:is(.secondary,.ghost,.danger))):not(.download-panel *),
html[data-ptp-gradient="representative-gradebook"] :is(button:not(:is(.secondary,.ghost,.cell-button,.modal-close,[data-bill-head])),.button:not(:is(.secondary,.ghost))),
html[data-ptp-gradient="aboutus"] .nav-button:not(.secondary),
html[data-ptp-gradient="privacy-policy"] .button:not(.secondary),
html[data-ptp-gradient="users-manual"] .button:not(.secondary),
html[data-ptp-gradient="feedback"] :is(button,.button):not(.secondary),
html[data-ptp-gradient="feedback-dashboard"] :is(button,.button):not(:is(.secondary,.danger)),
html[data-ptp-gradient="signup-health"] :is(button,.button):not(:is(.secondary,.danger)),
html[data-ptp-gradient="maine-id-scanner"] button:not(:is(.btn-ghost,.btn-danger)) {
  background: var(--ptp-button-gradient) !important;
  color: #fff;
}

/* Hover/focus: slightly brighter, not neon; no hover effect on disabled buttons. */
html[data-ptp-gradient="index"] button:not(:is(
  .btn-ghost, .btn-danger, .google-signin-button, .microsoft-signin-button,
  .guest-signin-button, .verification-summary-button, .pwa-install-button,
  .pwa-install-secondary, .pwa-install-dismiss, .engagement-button,
  .dashboard-tab, .notification-bell, .brand-mark, .mobile-drawer-toggle,
  .pinetree-brief-result, .rep-email-close, .rep-email-mode-button,
  .ptp-profile-name-trigger, .ptp-profile-avatar-trigger, .settings-nav-button
)):not(:disabled):hover,
html[data-ptp-gradient="index"] .district-chat-launch-button:not(:disabled):hover,
html[data-ptp-gradient="index"] .profile-button:not(:is(.secondary,.disabled)):hover,
html[data-ptp-gradient="index"] .engagement-button.active:not(:is(.bookmarked,.email-rep-button)):not(:disabled):hover,
html[data-ptp-gradient="index"] .engagement-button.email-rep-button:not(:disabled):hover,
html[data-ptp-gradient="index"] .dashboard-tab.active:not(:disabled):hover,
html[data-ptp-gradient="index"] .notification-bell.active:not(:disabled):hover,
html[data-ptp-gradient="how-to-read-a-bill"] :is(.return-button,.primary-button):not(:disabled):hover,
html[data-ptp-gradient="how-to-read-legal-language"] :is(.return-button,.primary-button):not(:disabled):hover,
html[data-ptp-gradient="achievement-center"] .btn:not(.secondary):not(:disabled):hover,
html[data-ptp-gradient="maine-court-rules"] :is(.return,.button.primary):hover,
html[data-ptp-gradient="district-chat"] :is(.return-button,.button:not(:is(.secondary,.ghost,.danger)),.tab-button.active,.filter-button.active):not(:disabled):hover,
html[data-ptp-gradient="government-gradebook"] :is(button:not(:is(.secondary,.ghost,.danger)),.button:not(:is(.secondary,.ghost,.danger))):not(.download-panel *):not(:disabled):hover,
html[data-ptp-gradient="representative-gradebook"] :is(button:not(:is(.secondary,.ghost,.cell-button,.modal-close,[data-bill-head])),.button:not(:is(.secondary,.ghost))):not(:disabled):hover,
html[data-ptp-gradient="aboutus"] .nav-button:not(.secondary):hover,
html[data-ptp-gradient="privacy-policy"] .button:not(.secondary):hover,
html[data-ptp-gradient="users-manual"] .button:not(.secondary):hover,
html[data-ptp-gradient="feedback"] :is(button,.button):not(.secondary):not(:disabled):hover,
html[data-ptp-gradient="feedback-dashboard"] :is(button,.button):not(:is(.secondary,.danger)):not(:disabled):hover,
html[data-ptp-gradient="signup-health"] :is(button,.button):not(:is(.secondary,.danger)):not(:disabled):hover,
html[data-ptp-gradient="maine-id-scanner"] button:not(:is(.btn-ghost,.btn-danger)):not(:disabled):hover {
  background: var(--ptp-button-gradient-hover) !important;
}

/* Preserve original contrast and focus rings. Reduced-motion settings are respected
   because this stylesheet introduces no transitions or animations. */
