/* Customer controls follow the forest theme; document artwork keeps its chosen colors. */
body.cso-forms{--blue:#174c3c;--ink:#203d2c;--muted:#526958;color:#203d2c}
body.cso-forms main{color:#203d2c}
body.cso-forms main :is(.section-card,.optional,.nested,.entry-row,.invoice-item,.order-summary){border-color:#d3dfcb}
body.cso-forms main :is(.section-card h2,.section-card h3,form label,form legend,form summary,.summary-title){color:#294b36}
body.cso-forms main form label>span:not(.cps-required):not(.field-error){color:inherit}
body.cso-forms main :is(.cps-required,.required-mark){color:var(--cps-error-ink,#922b3e)}
body.cso-forms main form .cps-optional-note{color:#60725d!important}
body.cso-forms main :is(.helper,.muted,.privacy-note,.source-badge,.summary-title>small,.box-number,.order-reference){color:#526958}
body.cso-forms main :is(.primary,button#download,button#sidebar-checkout,button#prepare-payment,button#complete-free){background:#174c3c;border-color:#174c3c;color:#fff}
body.cso-forms main :is(.primary,button#download,button#sidebar-checkout,button#prepare-payment,button#complete-free):hover{background:#103b2e;border-color:#103b2e}
body.cso-forms :is(main,dialog,.mobile-actions) :is(.secondary,.text-button,.enlarge,.back-link){color:#315e43}
body.cso-forms :is(main,dialog,.mobile-actions) .secondary{border-color:#becfb3;background:#fff}
body.cso-forms :is(main,dialog,.mobile-actions) .secondary:hover{background:#edf3e5;border-color:#8daa80}
body.cso-forms main form :is(input:not([type=checkbox]):not([type=radio]),select,textarea):not([aria-invalid=true]){border-color:#bdceb7;color:#203d2c;background-color:#fff}
body.cso-forms :is(main,dialog) select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23315e43' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 7.5 5 5 5-5'/%3E%3C/svg%3E");background-position:right 13px center;background-repeat:no-repeat;background-size:17px;padding-right:40px}
body.cso-forms :is(main,dialog) :is(input[type=checkbox],input[type=radio]){accent-color:#174c3c}
body.cso-forms main .method-options label:has(input:checked){border-color:#8eac80;background:#eff4e8}
body.cso-forms main :is(.preview-sidebar,.review-summary,.invoice-item,.checkout-summary,.invoice-design-body){background:#f1f5eb;border-color:#d3dfcb}
body.cso-forms main .preview-header :is(h2,.eyebrow){color:#315e43}
body.cso-forms main .preview-header h2 span{color:#526958}
body.cso-forms main :is(.order-total,.invoice-currency){background:#edf3e5;border-color:#c8d9bd;color:#315e43}
body.cso-forms main :is(.order-line strong,.order-total strong){color:#203d2c}
body.cso-forms main :is(.order-summary>p,.order-line small,.checkout-includes p,.checkout-terms,.forms-checkout-panel-heading p){color:#526958}
body.cso-forms main .order-summary{background:#fff}
body.cso-forms :is(main,dialog) :is(.preview-spinner,.loading-spinner){border-color:#d2dfc7;border-top-color:#315e43}
body.cso-forms :is(main,dialog) .button-spinner{border-color:#ffffff55;border-top-color:#fff}
body.cso-forms :is(main,dialog) .preview-loader{color:#315e43}
body.cso-forms dialog .dialog-preview-paper{background:#f0f4eb}
body.cso-forms :is(.dialog-header button,.invoice-design-heading>button){background:#edf3e5;color:#315e43}
body.cso-forms main .entry-row .remove,body.cso-forms main .invoice-item-heading button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;margin:8px 0 0;padding:7px 11px;border:1px solid #c9d8c0;border-radius:7px;background:#fff;color:#315e43;font-size:12px;line-height:1.5}
body.cso-forms main :is(.entry-row .remove,.invoice-item-heading button):hover{background:#edf3e5;border-color:#8daa80}
body.cso-forms main .invoice-item-heading button{margin:0}
body.cso-forms main :is(.entry-row,.invoice-item){min-width:0}
body.cso-forms main form input[type=file]::file-selector-button{margin-right:12px;padding:8px 12px;border:1px solid #becfb3;border-radius:6px;background:#edf3e5;color:#174c3c;font:600 13px/1.5 var(--cso-font);cursor:pointer}
body.cso-forms :is(.banner-document,.invoice-banner-art){color:#294b36}
body.cso-forms .banner-document :is(.document-check,.banner-check){color:#315e43;border-color:#c6d8b9;background:#edf3e5}
body.cso-forms #checkout-page :is(.flow-heading,.order-total),body.cso-forms #order-page .order-success-hero{background:linear-gradient(115deg,#edf3e5,#f8faf3);border-color:#cddcc2}
body.cso-forms #checkout-page :is(h1,h2,h3,.order-total strong,.forms-checkout-panel-heading h2),body.cso-forms #order-page :is(h1,h2,h3){color:#294b36}
body.cso-forms #checkout-page :is(.checkout-body,.checkout-aside){border-top-color:#8eac80}
body.cso-forms #checkout-page .eyebrow{color:#315e43;border-color:#c6d8b9}
body.cso-forms :is(#checkout-page,#order-page) .section-card{border-color:#d3dfcb}
body.cso-forms #checkout-page .checkout-body label{color:#294b36}
body.cso-forms #checkout-page .checkout-body input:not([type=checkbox]):not([aria-invalid=true]){border-color:#bdceb7;color:#203d2c}
body.cso-forms #checkout-page :is(.flow-heading p,.order-line,.order-line small,.checkout-terms,.checkout-includes p,.forms-checkout-panel-heading p){color:#526958}
body.cso-forms #checkout-page .coupon-input .secondary{color:#315e43;background:#eff4e8;border-color:#becfb3}
body.cso-forms :is(.forms-checkout-paper,.pdf-badge){border-color:#c6d8b9;color:#315e43}
body.cso-forms .forms-checkout-paper{border-top-color:#315e43}
body.cso-forms .forms-checkout-paper>svg{color:#315e43}
body.cso-forms #order-page .order-actions .primary{background:#174c3c;border-color:#174c3c}
body.cso-forms .mobile-actions .primary{background:#174c3c;border-color:#174c3c;color:#fff}
body.cso-forms :is(.invoice-design-thumbnails button[aria-pressed=true],.invoice-appearance [data-invoice-color][aria-pressed=true]){border-color:#315e43;box-shadow:0 0 0 1px #315e43}
body.cso-forms .invoice-design-thumbnails button[aria-pressed=true]{color:#315e43}
body.cso-forms main button:disabled{cursor:not-allowed}
/* Information pages use the same accents without recoloring the document samples. */
body.cso-forms.forms-site{--presentation-border:#d3dfcb}
body.cso-forms.forms-site .product-hero{background:linear-gradient(115deg,#fff,#eff4e8);border-color:#d3dfcb}
body.cso-forms.forms-site .product-hero h1 em{color:#315e43}
body.cso-forms.forms-site .product-hero>div:first-child>.eyebrow{color:#315e43;background:#edf3e5;border-color:#d3dfcb}
body.cso-forms.forms-site .product-preview{background:#f1f5eb;border-color:#d3dfcb}
body.cso-forms.forms-site :is(.sample-heading,.sample-heading>span:last-child,.product-points>span){color:#526958}
body.cso-forms.forms-site .product-points b{background:#edf3e5;color:#315e43}
body.cso-forms.forms-site .product-hero .intro-price-line strong{color:#174c3c}
body.cso-forms.forms-site :is(.section-intro .eyebrow,.included-section .eyebrow,.faq-section .eyebrow,.text-link){color:#315e43}
body.cso-forms.forms-site :is(.step-number,.prepare-card li>strong){color:#315e43}
body.cso-forms.forms-site .included-section{background:#f1f5eb;border-color:#d3dfcb}
body.cso-forms.forms-site .bottom-cta{background:#174c3c;border-color:#174c3c;color:#fff}
body.cso-forms.forms-site .bottom-cta :is(h2,p,.eyebrow){color:#fff}
body.cso-forms.forms-site .bottom-cta .primary{background:#fff;color:#174c3c;border-color:#fff}
@media(max-width:760px){body.cso-forms main :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:16px}}
@media(forced-colors:active){body.cso-forms :is(main,dialog) select{appearance:auto;background-image:none}body.cso-forms main :is(.cps-required,.required-mark){color:CanvasText}}

/* Checkout and completion panels are siblings of main in the form tools. */
body.cso-forms :is(#checkout-page,#order-page){--blue:#174c3c;--ink:#264d36;--muted:#52695b;--border:#cfddc7;color:#264d36}
body.cso-forms :is(#checkout-page,#order-page) :is(.primary,#prepare-payment,#complete-free){background:#174c3c;border-color:#174c3c;color:#fff;box-shadow:0 4px 12px #174c3c16}
body.cso-forms :is(#checkout-page,#order-page) :is(.primary,#prepare-payment,#complete-free):hover{background:#103b2e;border-color:#103b2e;color:#fff}
body.cso-forms :is(#checkout-page,#order-page) :is(.secondary,.text-button,.back-link){color:#315e43;background:#fff;border-color:#bdcfb7}
body.cso-forms :is(#checkout-page,#order-page) :is(.secondary,.text-button,.back-link):hover{background:#edf3e6;border-color:#8daa80;color:#174c3c}
body.cso-forms :is(#checkout-page,#order-page) :is(a,.checkout-terms a){color:#315e43;text-underline-offset:4px}
body.cso-forms :is(#checkout-page,#order-page) .primary:visited{color:#fff}
body.cso-forms :is(#checkout-page,#order-page) :is(.paypal-copy-choice,.checkout-note){background:#f1f5eb;border-color:#cfddc7;color:#52695b}
body.cso-forms :is(#checkout-page,#order-page) .checkout-note{border-left-color:#73996a}
body.cso-forms :is(#checkout-page,#order-page) :is(.checkout-note strong,.paypal-copy-choice label,.paypal-copy-choice label>span){color:#315e43}
body.cso-forms :is(#checkout-page,#order-page) :is(.checkout-note p,.paypal-copy-choice small){color:#52695b}
body.cso-forms :is(#checkout-page,#order-page) .order-actions .primary{background:#174c3c;border-color:#174c3c;color:#fff}
body.cso-forms :is(#checkout-page,#order-page) :is(button,a):focus-visible{outline:3px solid #769a68;outline-offset:3px}

body.cso-forms #order-page :is(.document-card,.order-delivery,.order-reference,.order-payment,.order-access,.order-expiry){background:#f1f5eb;border-color:#cfddc7;color:#52695b}
body.cso-forms #order-page :is(.document-card p,.order-delivery p,.order-reference,.order-completed){color:#52695b}
body.cso-forms #order-page :is(.section-card,.document-card){border-top-color:#73996a}
body.cso-forms #order-page .order-total{background:#edf3e6;border-color:#cfddc7;color:#315e43}
body.cso-forms #order-page .pdf-badge{background:#fff;border-color:#c4d8b9;border-top-color:#73996a;color:#315e43}
body.cso-forms #order-page :is(.order-delivery strong,.order-delivery a,.order-line strong,.order-line){color:#315e43}
body.cso-forms #order-page .order-delivery input{border-color:#bdcfb7;color:#315e43;background:#fff}
