.invoice-demo { max-width: 1160px; margin: 0 auto; padding: 28px 0 40px; color: #20212a; }
.invoice-intro { margin-bottom: 28px; }
.invoice-eyebrow { color: #713cab; font-size: .78rem; font-weight: 800; letter-spacing: .09em; }
.invoice-intro h1 { margin: 12px 0; font-size: clamp(1.7rem, 3vw, 2.5rem); line-height: 1.15; }
.invoice-intro p { margin: 8px 0; }
.invoice-muted, .invoice-footnote { color: #5d6573; font-size: .9rem; line-height: 1.6; }
.invoice-steps { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.invoice-step, .invoice-calculation, .invoice-empty { padding: 25px; border: 1px solid #e2e4eb; border-radius: 15px; background: white; box-shadow: 0 4px 18px #24223706; }
.invoice-step-number { display: inline-grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; color: #713cab; background: #f0e9f8; font-weight: 800; flex-shrink: 0; }
.invoice-step h2 { font-size: 1.2rem; margin: 14px 0 8px; }
.invoice-step p { line-height: 1.6; max-width: 46ch; }
.invoice-step form { display: grid; gap: 13px; }
.invoice-step label { font-size: .9rem; }
.invoice-step input[type=file] { width: 100%; min-width: 0; padding: 12px; box-sizing: border-box; background: #f7f7fa; border: 1px dashed #b8b1c7; border-radius: 8px; }
.invoice-step small { display: block; color: #656b78; margin-top: 14px; line-height: 1.5; }
.invoice-button { display: inline-block; width: fit-content; padding: 12px 18px; border: 1px solid #713cab; border-radius: 8px; background: #713cab; color: white; text-decoration: none; font: inherit; font-weight: 700; cursor: pointer; }
.invoice-secondary { background: white; color: #713cab; margin-top: 10px; }
.invoice-button:hover { background: #532780; color: white; }
.invoice-button:focus-visible, .invoice-demo input:focus-visible { outline: 3px solid #e0b800; outline-offset: 3px; }
.invoice-message { background: #ecf8ef; border-left: 4px solid #3f8552; padding: 16px; border-radius: 6px; margin: 0 0 22px; line-height: 1.5; }
.invoice-error { background: #fff0ed; border-color: #b83c26; }
.invoice-results { margin-top: 32px; }
.invoice-result-title { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
.invoice-result-title h2 { font-size: 1.35rem; margin: 0; }
.invoice-empty { padding: 40px 25px; text-align: center; color: #666d7b; }
.invoice-empty strong { font-size: 1.1rem; color: #343947; }
.invoice-calculation { margin-bottom: 20px; }
.invoice-document-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.invoice-document-heading h3 { margin: 0; font-size: 1rem; overflow-wrap: anywhere; }
.invoice-document-heading span { color: #656b78; font-size: .9rem; }
.invoice-amounts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 23px 0; }
.invoice-amounts > div { padding: 18px 14px; background: #f6f7fa; border-radius: 9px; display: flex; flex-direction: column; gap: 9px; }
.invoice-amounts span { font-size: .85rem; }
.invoice-amounts strong { font-size: 1.7rem; }
.invoice-amounts small { font-size: .75rem; }
.invoice-amounts .invoice-kickback { background: #713cab; color: white; }
.invoice-equation { line-height: 1.9; background: #fff9d9; padding: 14px 18px; border-radius: 8px; }
.invoice-equation strong { display: block; }
.invoice-table-scroll { overflow-x: auto; }
.invoice-package-table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.invoice-package-table caption { text-align: left; font-weight: 700; padding: 20px 0 12px; }
.invoice-package-table th, .invoice-package-table td { padding: 12px; border-bottom: 1px solid #e9eaf0; text-align: right; }
.invoice-package-table th:first-child { text-align: left; }
.invoice-package-table thead { color: #656b78; background: #f7f8fa; }
.invoice-footnote { margin-top: 22px; }
@media (max-width: 760px) {
    .invoice-steps { grid-template-columns: 1fr; }
    .invoice-amounts { grid-template-columns: repeat(2, 1fr); }
    .invoice-demo { padding-top: 16px; }
    .invoice-step, .invoice-calculation { padding: 18px; }
    .invoice-amounts strong { font-size: 1.4rem; }
    .invoice-button { max-width: 100%; box-sizing: border-box; }
}
