:root {
    --invoice-bg-1: #091120;
    --invoice-bg-2: #10203a;
    --invoice-surface: rgba(8, 14, 26, 0.78);
    --invoice-surface-soft: rgba(255, 255, 255, 0.05);
    --invoice-border: rgba(255, 255, 255, 0.1);
    --invoice-text: #f6f7fb;
    --invoice-soft: rgba(246, 247, 251, 0.7);
    --invoice-accent: #ffb649;
    --invoice-accent-2: #7fe8c9;
    --invoice-ink: #102038;
    --invoice-paper: #ffffff;
    --invoice-paper-soft: #f4f7fb;
    --invoice-paper-border: #d5deea;
    --invoice-danger: #ef6f62;
    --invoice-page-width: 210mm;
    --invoice-page-height: 297mm;
    --invoice-print-margin: 12mm;
    --invoice-printable-width: calc(var(--invoice-page-width) - (var(--invoice-print-margin) * 2));
    --invoice-printable-height: calc(var(--invoice-page-height) - (var(--invoice-print-margin) * 2));
    --invoice-print-scale: 1;
    --invoice-print-source-height: 0px;
}

* {
    box-sizing: border-box;
}

html,
body {
    min-height: 100%;
    margin: 0;
    background:
        radial-gradient(circle at top left, rgba(127, 232, 201, 0.16), transparent 28%),
        radial-gradient(circle at top right, rgba(255, 182, 73, 0.18), transparent 34%),
        linear-gradient(135deg, var(--invoice-bg-1), var(--invoice-bg-2) 62%, #08101d);
}

body,
input,
select,
textarea,
button {
    font-family: "Aptos", "Segoe UI Variable", "Segoe UI", sans-serif;
}

button,
input,
select,
textarea {
    font: inherit;
}

.invoice-page {
    width: min(1460px, 100%);
    margin: 0 auto;
    padding: 30px 24px 72px;
    color: var(--invoice-text);
}

.invoice-hero,
.invoice-status-bar,
.invoice-workflow-bar,
.invoice-editor-panel,
.invoice-preview-stage {
    background: var(--invoice-surface);
    border: 1px solid var(--invoice-border);
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.22);
    backdrop-filter: blur(16px);
}

.invoice-hero {
    display: flex;
    justify-content: space-between;
    gap: 28px;
    align-items: end;
    padding: 26px 28px;
    border-radius: 30px;
}

.invoice-hero-copy {
    display: grid;
    gap: 12px;
}

.invoice-eyebrow,
.invoice-section-kicker {
    margin: 0;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--invoice-accent-2);
}

.invoice-title {
    margin: 0;
    max-width: 920px;
    font-size: clamp(32px, 4vw, 54px);
    line-height: 1.02;
    letter-spacing: -0.05em;
}

.invoice-copy {
    max-width: 820px;
    margin: 0;
    font-size: 16px;
    line-height: 1.8;
    color: var(--invoice-soft);
}

.invoice-hero-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 12px;
}

.invoice-primary-button,
.invoice-secondary-button,
.invoice-mini-button,
.invoice-row-action {
    appearance: none;
    border: 1px solid transparent;
    cursor: pointer;
    transition:
        transform 160ms ease,
        background 160ms ease,
        border-color 160ms ease,
        color 160ms ease,
        box-shadow 160ms ease;
}

.invoice-primary-button,
.invoice-secondary-button {
    min-height: 48px;
    padding: 0 20px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 800;
}

.invoice-primary-button {
    background: linear-gradient(135deg, var(--invoice-accent), #ff8861);
    color: #101824;
    box-shadow: 0 18px 36px rgba(255, 134, 74, 0.22);
}

.invoice-secondary-button,
.invoice-mini-button,
.invoice-row-action {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.1);
    color: var(--invoice-text);
}

.invoice-primary-button:hover,
.invoice-secondary-button:hover,
.invoice-mini-button:hover,
.invoice-row-action:hover {
    transform: translateY(-1px);
}

.invoice-status-bar {
    margin-top: 18px;
    padding: 16px 22px;
    border-radius: 24px;
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center;
}

.invoice-workflow-bar {
    margin-top: 18px;
    padding: 20px 22px;
    border-radius: 26px;
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: start;
}

.invoice-workflow-copy {
    display: grid;
    gap: 10px;
}

.invoice-workflow-copy h2 {
    margin: 0;
    font-size: clamp(20px, 2.2vw, 28px);
    line-height: 1.15;
    letter-spacing: -0.04em;
}

.invoice-workflow-actions {
    min-width: min(100%, 420px);
    display: grid;
    justify-items: end;
    gap: 12px;
}

.invoice-workflow-checklist {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
}

.invoice-workflow-chip {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 12px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.04);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.04em;
}

.invoice-workflow-chip.is-complete {
    color: #082317;
    background: linear-gradient(135deg, #7fe8c9, #b4ffe0);
}

.invoice-workflow-chip.is-pending {
    color: var(--invoice-soft);
}

.invoice-status-chip-shell {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    font-weight: 700;
}

.invoice-status-dot {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: var(--invoice-accent-2);
    box-shadow: 0 0 0 8px rgba(127, 232, 201, 0.14);
}

.invoice-status-note,
.invoice-section-note {
    margin: 0;
    color: var(--invoice-soft);
    font-size: 13px;
    line-height: 1.7;
}

.invoice-layout {
    margin-top: 24px;
    display: grid;
    grid-template-columns: minmax(340px, 470px) minmax(0, 1fr);
    gap: 24px;
    align-items: start;
}

.invoice-page.is-simple-mode .invoice-advanced-only,
.invoice-page.is-simple-mode .invoice-advanced-panel {
    display: none !important;
}

.invoice-editor-panel,
.invoice-preview-stage {
    border-radius: 30px;
}

.invoice-editor-panel {
    padding: 24px;
}

.invoice-panel-section + .invoice-panel-section {
    margin-top: 26px;
    padding-top: 26px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.invoice-section-heading,
.invoice-preview-meta {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: end;
}

.invoice-section-heading {
    margin-bottom: 16px;
}

.invoice-section-heading h2,
.invoice-preview-meta h2 {
    margin: 8px 0 0;
    font-size: 20px;
    line-height: 1.25;
    letter-spacing: -0.03em;
}

.invoice-preview-column {
    display: grid;
    gap: 16px;
}

.invoice-preview-stage {
    padding: 26px;
    overflow: auto;
}

.invoice-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.invoice-field {
    display: grid;
    gap: 8px;
}

.invoice-field-full {
    grid-column: 1 / -1;
}

.invoice-field span {
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--invoice-soft);
}

.invoice-field input,
.invoice-field select,
.invoice-field textarea {
    width: 100%;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 18px;
    background: rgba(1, 8, 18, 0.4);
    color: var(--invoice-text);
    padding: 13px 14px;
    outline: none;
    resize: vertical;
}

.invoice-field input:focus,
.invoice-field select:focus,
.invoice-field textarea:focus,
.invoice-item-description:focus,
.invoice-item-notes:focus,
.invoice-item-input:focus,
.invoice-custom-input:focus,
.invoice-custom-value:focus {
    border-color: rgba(127, 232, 201, 0.5);
    box-shadow: 0 0 0 4px rgba(127, 232, 201, 0.12);
}

.invoice-mini-button {
    min-height: 38px;
    padding: 0 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    white-space: nowrap;
}

.invoice-lines-note {
    margin-bottom: 14px;
}

.invoice-item-list {
    display: grid;
    gap: 14px;
}

.invoice-item-card {
    padding: 18px;
    border-radius: 24px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.03);
    display: grid;
    gap: 16px;
}

.invoice-item-card-head {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: start;
}

.invoice-item-card-copy {
    display: grid;
    gap: 6px;
}

.invoice-item-card-copy strong {
    font-size: 18px;
    line-height: 1.2;
    letter-spacing: -0.03em;
}

.invoice-item-card-label {
    margin: 0;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--invoice-soft);
}

.invoice-item-total-pill {
    min-width: 146px;
    padding: 12px 14px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
    display: grid;
    gap: 6px;
}

.invoice-item-total-pill span {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--invoice-soft);
}

.invoice-item-total-pill strong {
    font-size: 18px;
    line-height: 1.15;
}

.invoice-item-card-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.invoice-inline-field {
    display: grid;
    gap: 8px;
}

.invoice-inline-field span {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--invoice-soft);
}

.invoice-inline-field-full {
    grid-column: 1 / -1;
}

.invoice-item-card-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.invoice-table-wrap {
    overflow: auto;
    border-radius: 22px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.03);
}

.invoice-editor-table {
    width: 100%;
    min-width: 860px;
    border-collapse: separate;
    border-spacing: 0;
}

.invoice-editor-table th,
.invoice-editor-table td {
    padding: 14px 12px;
    vertical-align: top;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.invoice-editor-table th {
    position: sticky;
    top: 0;
    background: rgba(13, 22, 38, 0.92);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--invoice-soft);
    text-align: left;
}

.invoice-item-cell-main {
    min-width: 240px;
}

.invoice-item-description,
.invoice-item-notes,
.invoice-item-input,
.invoice-custom-input,
.invoice-custom-value {
    width: 100%;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(0, 0, 0, 0.18);
    color: var(--invoice-text);
    border-radius: 16px;
    padding: 11px 12px;
    outline: none;
}

.invoice-item-description,
.invoice-item-input,
.invoice-custom-input,
.invoice-custom-value {
    min-height: 44px;
}

.invoice-item-notes {
    min-height: 86px;
    margin-top: 8px;
    resize: vertical;
}

.invoice-item-input {
    text-align: center;
}

.invoice-row-total {
    min-width: 110px;
    font-weight: 800;
    white-space: nowrap;
}

.invoice-row-actions {
    display: grid;
    gap: 8px;
}

.invoice-row-action {
    min-height: 36px;
    padding: 0 12px;
    border-radius: 14px;
    font-size: 12px;
    font-weight: 800;
}

.invoice-row-action.is-danger {
    border-color: rgba(239, 111, 98, 0.3);
    color: #ffd7d3;
}

.invoice-custom-fields {
    display: grid;
    gap: 12px;
}

.invoice-custom-row {
    display: grid;
    grid-template-columns: minmax(140px, 0.7fr) minmax(0, 1.3fr) auto;
    gap: 10px;
}

.invoice-preview-shell {
    width: min(100%, 920px);
    margin: 0 auto;
    transform-origin: top center;
}

.invoice-sheet {
    width: 100%;
    background: var(--invoice-paper);
    color: var(--invoice-ink);
    border-radius: 30px;
    padding: 34px;
    box-shadow: 0 26px 60px rgba(0, 0, 0, 0.22);
}

.invoice-sheet-top {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    align-items: start;
}

.invoice-brand {
    display: flex;
    gap: 18px;
    align-items: center;
}

.invoice-avatar {
    width: 72px;
    height: 72px;
    border-radius: 24px;
    overflow: hidden;
    background: linear-gradient(135deg, #eff6ff, #dde8f7);
    border: 1px solid var(--invoice-paper-border);
    display: grid;
    place-items: center;
    flex: 0 0 auto;
}

.invoice-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.invoice-avatar span {
    font-size: 24px;
    font-weight: 900;
    letter-spacing: -0.06em;
}

.invoice-brand-copy {
    display: grid;
    gap: 6px;
}

.invoice-brand-copy p,
.invoice-brand-copy h2,
.invoice-brand-copy h3,
.invoice-brand-copy small,
.invoice-meta-card p,
.invoice-meta-card strong,
.invoice-highlight-card span,
.invoice-highlight-card strong,
.invoice-party-card p,
.invoice-party-card strong,
.invoice-party-card li,
.invoice-custom-pill span,
.invoice-table td,
.invoice-table th,
.invoice-side-card p,
.invoice-side-card strong,
.invoice-footer-note {
    margin: 0;
}

.invoice-brand-copy h2 {
    font-size: 34px;
    line-height: 0.94;
    letter-spacing: -0.06em;
}

.invoice-brand-copy h3 {
    font-size: 16px;
    color: #415066;
}

.invoice-brand-copy p {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #6e7f98;
}

.invoice-brand-copy small {
    color: #66748b;
    line-height: 1.55;
}

.invoice-meta-card {
    min-width: 280px;
    padding: 18px;
    border-radius: 22px;
    border: 1px solid var(--invoice-paper-border);
    background: var(--invoice-paper-soft);
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 18px;
}

.invoice-meta-card div {
    display: grid;
    gap: 6px;
}

.invoice-meta-card p {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #72819a;
}

.invoice-meta-card strong {
    font-size: 15px;
    line-height: 1.4;
}

.invoice-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: 0 12px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    background: #edf1f8;
    color: #233554;
}

.invoice-badge.is-draft {
    background: #edf1f8;
    color: #344765;
}

.invoice-badge.is-sent {
    background: #eaf5ff;
    color: #0a5d91;
}

.invoice-badge.is-paid {
    background: #e8fbf4;
    color: #12774c;
}

.invoice-badge.is-partial {
    background: #fff6e8;
    color: #a86406;
}

.invoice-badge.is-overdue {
    background: #fff0ee;
    color: #a2322a;
}

.invoice-highlight-strip {
    margin-top: 24px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.invoice-highlight-card,
.invoice-party-card,
.invoice-side-card,
.invoice-custom-pill {
    border: 1px solid var(--invoice-paper-border);
    background: var(--invoice-paper-soft);
}

.invoice-highlight-card {
    padding: 16px 18px;
    border-radius: 20px;
    display: grid;
    gap: 8px;
}

.invoice-highlight-card span,
.invoice-party-card p,
.invoice-side-card p {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #73829a;
}

.invoice-highlight-card strong {
    font-size: 24px;
    line-height: 1.05;
    letter-spacing: -0.04em;
}

.invoice-party-grid {
    margin-top: 24px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.invoice-party-card {
    border-radius: 24px;
    padding: 20px;
    display: grid;
    gap: 12px;
}

.invoice-party-card strong {
    font-size: 18px;
    letter-spacing: -0.03em;
}

.invoice-party-card ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 8px;
}

.invoice-party-card li {
    font-size: 14px;
    line-height: 1.55;
    color: #405067;
    word-break: break-word;
}

.invoice-custom-grid {
    margin-top: 18px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.invoice-custom-pill {
    padding: 12px 14px;
    border-radius: 18px;
    min-width: 160px;
    display: grid;
    gap: 6px;
}

.invoice-custom-pill span {
    font-size: 10px;
}

.invoice-custom-pill strong {
    font-size: 14px;
    line-height: 1.45;
    color: #24324a;
}

.invoice-table-wrap-preview {
    margin-top: 20px;
    overflow: auto;
}

.invoice-table {
    width: 100%;
    border-collapse: collapse;
}

.invoice-table th,
.invoice-table td {
    padding: 14px 12px;
    border-bottom: 1px solid #dde5f0;
    text-align: left;
    vertical-align: top;
}

.invoice-table th {
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #71839d;
}

.invoice-table td {
    font-size: 14px;
    line-height: 1.55;
    color: #2a3b55;
}

.invoice-table td.is-number,
.invoice-table th.is-number {
    text-align: right;
    white-space: nowrap;
}

.invoice-table-description {
    display: grid;
    gap: 4px;
}

.invoice-table-description strong {
    font-size: 15px;
    color: #1d2b42;
}

.invoice-table-description small {
    color: #66748c;
}

.invoice-bottom-grid {
    margin-top: 24px;
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(260px, 0.9fr);
    gap: 18px;
}

.invoice-side-card {
    padding: 20px;
    border-radius: 24px;
    display: grid;
    gap: 12px;
}

.invoice-side-card strong {
    font-size: 19px;
    line-height: 1.2;
    letter-spacing: -0.03em;
}

.invoice-side-card-content {
    display: grid;
    gap: 8px;
    color: #435169;
    line-height: 1.7;
}

.invoice-payment-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 8px;
}

.invoice-payment-list li {
    color: #405067;
    line-height: 1.6;
    word-break: break-word;
}

.invoice-payment-list strong {
    font-size: 14px;
    color: #1c2b41;
}

.invoice-total-list {
    display: grid;
    gap: 10px;
}

.invoice-total-row {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    font-size: 14px;
    color: #405067;
}

.invoice-total-row strong {
    font-size: 15px;
    color: #1f2f46;
}

.invoice-total-row.is-grand {
    margin-top: 8px;
    padding-top: 12px;
    border-top: 1px solid var(--invoice-paper-border);
}

.invoice-total-row.is-grand strong {
    font-size: 22px;
    line-height: 1;
}

.invoice-footer-note {
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid #dde4ef;
    font-size: 12px;
    color: #6d7d95;
    display: flex;
    justify-content: space-between;
    gap: 14px;
}

.invoice-empty {
    color: #7b89a0;
    font-style: italic;
}

.invoice-preview-stage a,
.invoice-side-card a {
    color: #0e6ea0;
    text-decoration: none;
}

.invoice-preview-stage a:hover,
.invoice-side-card a:hover {
    text-decoration: underline;
}

@media (max-width: 1220px) {
    .invoice-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 840px) {
    .invoice-page {
        padding-inline: 14px;
    }

    .invoice-hero,
    .invoice-status-bar,
    .invoice-workflow-bar,
    .invoice-section-heading,
    .invoice-preview-meta,
    .invoice-sheet-top,
    .invoice-footer-note {
        flex-direction: column;
        align-items: start;
    }

    .invoice-hero-actions,
    .invoice-form-grid,
    .invoice-workflow-actions,
    .invoice-workflow-checklist {
        width: 100%;
    }

    .invoice-form-grid,
    .invoice-item-card-grid,
    .invoice-highlight-strip,
    .invoice-party-grid,
    .invoice-bottom-grid {
        grid-template-columns: 1fr;
    }

    .invoice-editor-panel,
    .invoice-preview-stage,
    .invoice-hero {
        border-radius: 24px;
        padding: 18px;
    }

    .invoice-custom-row {
        grid-template-columns: 1fr;
    }

    .invoice-item-card-head,
    .invoice-item-card-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .invoice-item-total-pill {
        width: 100%;
        min-width: 0;
    }

    .invoice-meta-card {
        width: 100%;
        min-width: 0;
    }

    .invoice-sheet {
        padding: 20px;
        border-radius: 22px;
    }
}

@media print {
    @page {
        size: A4 portrait;
        margin: var(--invoice-print-margin);
    }

    html,
    body {
        width: var(--invoice-page-width);
        min-height: var(--invoice-page-height);
        background: #ffffff !important;
    }

    body {
        margin: 0 !important;
    }

    #navbar,
    .invoice-hero,
    .invoice-status-bar,
    .invoice-editor-panel,
    .invoice-preview-meta {
        display: none !important;
    }

    .invoice-page,
    .invoice-layout,
    .invoice-preview-column,
    .invoice-preview-stage,
    #invoice-preview,
    .invoice-preview-shell {
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
    }

    .invoice-page,
    .invoice-layout,
    .invoice-preview-column {
        display: block !important;
    }

    .invoice-preview-stage {
        width: var(--invoice-printable-width) !important;
        min-height: var(--invoice-printable-height) !important;
        margin: 0 auto !important;
        overflow: visible !important;
        display: flex !important;
        justify-content: center !important;
        align-items: flex-start !important;
    }

    #invoice-preview {
        width: var(--invoice-printable-width) !important;
        height: calc(var(--invoice-print-source-height) * var(--invoice-print-scale)) !important;
        overflow: hidden !important;
    }

    .invoice-preview-shell {
        width: var(--invoice-printable-width) !important;
        max-width: none !important;
        transform: scale(var(--invoice-print-scale)) !important;
        transform-origin: top center !important;
    }

    .invoice-sheet {
        border-radius: 0 !important;
        padding: 34px !important;
        box-shadow: none !important;
        width: var(--invoice-printable-width) !important;
        max-width: none !important;
    }

    .invoice-table-wrap-preview {
        overflow: visible !important;
    }

    .invoice-highlight-card,
    .invoice-party-card,
    .invoice-side-card,
    .invoice-custom-pill,
    .invoice-meta-card {
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .invoice-sheet,
    .invoice-sheet * {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
}
