/* PayStubCheck — Emerald & Ember. Color application only: no global type or layout changes. */
:root {
  --psc-forest: #0B3028;
  --psc-forest-deep: #07251F;
  --psc-action: #087F5B;
  --psc-action-hover: #066448;
  --psc-action-pressed: #054E39;
  --psc-ember: #BF4300;
  --psc-ember-hover: #9D3600;
  --psc-ember-bright: #FF914D;
  --psc-ink: #192B26;
  --psc-muted: #52665E;
  --psc-paper: #FAFCF9;
  --psc-surface: #FFFFFF;
  --psc-mint: #EAF5EF;
  --psc-line: #CCDCD3;
  --psc-control-line: #81978C;
  --psc-danger: #B42332;
  --psc-danger-soft: #FFF1F2;
  --psc-focus: #087F5B;
  --green-brand: var(--psc-action);
  --green: var(--psc-action);
  --green-dark: var(--psc-action-hover);
  --green-xdark: var(--psc-forest);
  --green-light: var(--psc-mint);
  --green-pale: var(--psc-paper);
  --orange: var(--psc-ember);
  --orange-light: #FFF1E6;
  --dark-bg: var(--psc-forest);
  --dark-card: rgba(255,255,255,.07);
  --dark-card-hover: rgba(255,255,255,.11);
  --dark-text: #F4FBF6;
  --dark-text-2: #C5DCD1;
  --dark-text-3: #B0CABD;
  --dark-border: #456C5D;
  --dark-green: #8DE0B2;
  --bg: var(--psc-paper);
  --card: var(--psc-surface);
  --text: var(--psc-ink);
  --text-2: #3D534A;
  --text-3: var(--psc-muted);
  --border: var(--psc-line);
  --border-2: #A8C4B4;
}
/* Document canvases keep the original compatibility variables. These are
   inherited by their children and never change the selected template theme. */
:is(.preview-body, .preview-document, .basic-generic-preview, .premium-generic-preview,
    .ag-paper, .sc-paper, .expense-preview-doc, .gen-lightbox-body,
    .preview-lightbox-content, .premium-sample-lb-body) {
  --green-brand: #04B554; --green: #03843D; --green-dark: #026C33;
  --green-xdark: #07572D; --green-light: #E9FAEF; --green-pale: #F5FCF7;
  --orange: #ec6a00; --orange-light: #fff5e6;
  --text: #17231e; --text-2: #40594E; --text-3: #61766D;
  --border: #D8E9DF; --border-2: #C4DDD0; --card: #ffffff; --bg: #F4F9F6;
  --dark-bg: #0B3D2B; --dark-text: #EEF9F2; --dark-text-2: rgba(238,249,242,.72);
  --dark-text-3: rgba(238,249,242,.44); --dark-green: #5CDD8B;
  --dark-card: rgba(255,255,255,.07); --dark-card-hover: rgba(255,255,255,.11);
  --dark-border: rgba(255,255,255,.10);
}
:is(.hero, .ps-hero, .hero-v3, .ps-hero-v3, .site-footer, footer,
    .section-dark, .products-dark, .pricing-dark) { --orange: var(--psc-ember-bright); }
:is(.btn-green, .btn-green-sm, .btn-primary, .btn-checkout, .btn-step-next,
    .sc-primary, .ca-primary, .nav-cta, .ps-drawer-cta) {
  background: var(--psc-action); border-color: var(--psc-action); color: #fff;
  box-shadow: 0 5px 16px rgba(8,127,91,.17);
}
:is(.btn-green, .btn-green-sm, .btn-primary, .btn-checkout, .btn-step-next,
    .sc-primary, .ca-primary, .nav-cta, .ps-drawer-cta):hover {
  background: var(--psc-action-hover); border-color: var(--psc-action-hover); color: #fff;
}
:is(.btn-green, .btn-green-sm, .btn-primary, .btn-checkout, .btn-step-next,
    .sc-primary, .ca-primary, .nav-cta, .ps-drawer-cta):active {
  background: var(--psc-action-pressed); border-color: var(--psc-action-pressed);
}
:is(.btn-orange, .btn-orange-sm) {
  background: var(--psc-ember); border-color: var(--psc-ember); color: #fff;
  box-shadow: 0 5px 16px rgba(191,67,0,.16);
}
:is(.btn-orange, .btn-orange-sm):hover { background: var(--psc-ember-hover); color:#fff; }
:is(.btn-outline, .btn-step-prev, .sc-secondary) {
  color: var(--psc-action-hover); border-color: var(--psc-control-line); background: var(--psc-surface);
}
/* High-contrast light and dark shared surfaces; geometry stays in its existing stylesheet. */
#main-nav.nav-dark, #main-nav.nav-dark.scrolled { background-color: var(--psc-forest-deep); }
.site-footer, footer { background-color: var(--psc-forest); }
body.psc-trust-page .trust-hero, body.psc-corrections-page .trust-hero {
  background:linear-gradient(128deg,#07251F 0%,#0B3028 58%,#14553F 100%);
}
.footer-links a, .footer-tagline, .footer-copy, .footer-disclaimer,
.ps-footer-address, .ps-footer-secondary { color: #C5DCD1; }
.footer-col-title { color:#F4FBF6; }
.footer-links a:hover, .footer-links a:focus-visible { color:#8DE0B2; }
.section-accent, .generator-title .accent { color:var(--orange); }
.psc-seo-reinforcement { background:linear-gradient(180deg,#FAFCF9,#FFFFFF 56%,#EAF5EF); }
.psc-seo-kicker, .psc-seo-related a, .psc-seo-faq summary::after { color:var(--psc-action-hover); }
.psc-seo-reinforcement h2, .psc-seo-card h3, .psc-seo-faq summary { color:var(--psc-ink); }
.psc-seo-lede, .psc-seo-card p, .psc-seo-card ul, .psc-seo-faq p, .psc-seo-disclaimer { color:var(--psc-muted); }
.psc-seo-card, .psc-seo-faq details { border-color:var(--psc-line); }
.generator-page :is(.form-error, .req-star, .pr-required), .sc-status { color:var(--psc-danger); }
:is(.form-input, .form-select)::placeholder { color:#63766D; opacity:1; }
:is(.form-input, .form-select):focus { border-color:var(--psc-focus); box-shadow:0 0 0 3px #D7EEE2; }
.generator-page :is(.form-input.input-error, [aria-invalid="true"]) { border-color:var(--psc-danger); }
:is(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline:3px solid var(--psc-focus); outline-offset:3px;
}
:is(.nav-dark, footer, .section-dark) :focus-visible { outline-color:#8DE0B2; }
:is(.btn-checkout, .btn-step-next, .sc-primary, .ca-primary):disabled {
  background:#E5EBE7; border-color:#81978C; color:#52665E; box-shadow:none;
}
