/* Canonical brand green: single value everywhere, including inline var() styles. */
:root{--ic-green:var(--ic-primary,#096b54);--th-accent:var(--ic-primary,#096b54)}
.app-theme{--th-accent:var(--ic-primary,#096b54)}
/* Impact Connect - canonical button system v1 (Brand Kit: primary #096b54, white text on green site-wide).
   Loaded AFTER design-system.css so these rules settle every earlier conflict. */
html body .app-theme button,
html body button,
html body .app-theme input[type="submit"],
html body input[type="submit"],
html body input[type="button"],
html body .button,
html body a[class*="button"],
html body [class*="-btn"]:not(.icv-vbtn),
html body .ic-offbar button,
html body .ic-off-banner button,
html body .ic-offdlg .primary{
  min-height:44px!important;
  padding:.7rem 1.1rem!important;
  border-radius:12px!important;
  font:700 .94rem/1.2 system-ui,-apple-system,'Segoe UI',sans-serif!important;
  cursor:pointer;
  border:1px solid var(--ic-primary,#096b54)!important;
  background:var(--ic-primary,#096b54)!important;
  color:#fff!important;
  text-decoration:none!important;
  box-sizing:border-box;
  transition:background .15s ease,border-color .15s ease;
}
html body .app-theme button:hover,
html body button:hover,
html body input[type="submit"]:hover,
html body .button:hover,
html body a[class*="button"]:hover{filter:brightness(1.12);color:#fff!important}
html body .app-theme button:active,
html body button:active{filter:brightness(.92)}
html body button:disabled{opacity:.45;cursor:default}

/* Secondary style - one and only one: white box, green text, green border. */
html body button.secondary,
html body .btn-secondary,
html body .guide-hero a,
html body .guide-hero button,
html body .role-chooser>div button,
html body .role-skip,
html body .role-welcome [data-change],
html body .need-actions [data-share-need],
html body .autofill-notice button,
html body .ic-offdlg .ghost,
html body .pagination-controls button{
  background:#fff!important;
  color:var(--ic-primary,#096b54)!important;
  border:1px solid color-mix(in srgb,var(--ic-primary,#096b54) 35%,#fff)!important;
}
html body button.secondary:hover,
html body .btn-secondary:hover,
html body .guide-hero a:hover,
html body .guide-hero button:hover,
html body .role-chooser>div button:hover,
html body .pagination-controls button:hover{background:#f3faf7!important;border-color:var(--ic-primary,#096b54)!important;color:#096b54!important}

/* Role-chooser cards stay card-shaped but inherit the same shape language. */
html body .role-chooser>div button{text-align:left!important;border-radius:16px!important}
html body .role-chooser>div button b{color:#10231c!important}
html body .role-chooser>div button small{color:#4d5f55!important}

/* Inline-styled green variants collapse to the canonical green, always white text. */
html body button[style*="background"],
html body a[style*="background"]{color:#fff!important}
html body button[style*="#096b54"],html body button[style*="#0d6a4e"],html body button[style*="#0e684f"],html body button[style*="#0a7a5c"],html body button[style*="var(--ic-green)"],
html body a[style*="#096b54"],html body a[style*="#0d6a4e"],html body a[style*="#0e684f"]{background:var(--ic-primary,#096b54)!important;border-color:var(--ic-primary,#096b54)!important;color:#fff!important;border-radius:12px!important}

/* Danger stays red but same shape, white text. */
html body button[style*="#b3261e"],html body button.danger{background:#b3261e!important;border-color:#b3261e!important;color:#fff!important}

/* Text-only icon/name buttons are not boxes. */
html body .wu-card button.icv-vbtn{background:transparent!important;border:0!important;color:#10231c!important;padding:0!important;min-height:0!important;border-radius:0!important}
