	section.force-print *
	{
		print-color-adjust: exact;
	}
	
	body section.force-print {
		background-color: white;
		color: black;
	}

	section.force-print hr {
		background-color: black;
	}

	section.force-print aside,
	section.force-print [class *= "sidebar"],
	section.force-print [id *= "sidebar"] {
		border-color: gray;
	}

	section.force-print button,
	section.force-print input[type="button"],
	section.force-print input[type="submit"]
	{
		background: linear-gradient(to bottom, #ccc, #e5e5e5);
		color: black;
	}

	section.force-print button:hover,
	section.force-print input[type="button"]:hover,
	section.force-print input[type="submit"]:hover
	{
		background: linear-gradient(to bottom, #c5c5c5, #ddd);
	}

    body section.force-print
    {
        width: var(--a4-width);
        height: var(--a4-height);
		aspect-ratio: calc(var(--a4-width) / var(--a4-height));
        padding: var(--a4-margins);
        box-sizing: border-box;
    }
    body.landscape section.force-print
    {
        width: var(--a4-height);
        height: var(--a4-width);
		aspect-ratio: calc(var(--a4-height) / var(--a4-width));
    }

    section.force-print header
    {
        background: white;
    }

    section.force-print footer
    {
        justify-content: space-between;
        background-color: white;
    }
	
	section.force-print .grid:nth-of-type(2)
	{
		grid-template-columns: 1fr 2fr 1fr;
	}

    section.force-print .grid > div
    {
        border-color: #ccc;
        box-shadow: none;
        background: white;
    }

    section.force-print .grid > div > p:nth-child(1)
    {
        background: #eee;
        font-size: var(--key-font-size);
        line-height: 1.5em;
        text-align: center;
    }

    section.force-print .grid > div > p:nth-child(2)
    {
        color: black;
        font-size: var(--value-font-size);
        line-height: 1.5em;
    }

    section.force-print main div:has(> .table)
    {
        border-color: #ccc;
        box-shadow: none;
        background: white;
    }

    section.force-print main div:has(> .table) + p,
    section.force-print main div:has(> .table) + p + p
    {
        color: black;
        font-size: 8pt;
    }

    section.force-print .table thead
    {
        background: #eee;
        font-size: var(--key-font-size);
        line-height: 1.5em;
    }

    section.force-print .table td
    {
        color: black;
        font-size: var(--value-font-size);
        line-height: 1.5em;
    }

    section.force-print .table tbody #passenger:not(:nth-last-child(-n + 2)),
    section.force-print .table thead
    {
        border-block-end-color: #ccc;
    }

    section.force-print .table th:not(:last-child),
    section.force-print .table td:not(:last-child)
    {
        border-inline-end-color: #ccc;
    }
    
    section.force-print .table th:not(:nth-last-child(-n + 2)),
    section.force-print .table td:not(:nth-last-child(-n + 2))
    {
        border-inline-end-color: #ccc;
    }
    section.force-print .table th:nth-last-child(-n + 2),
    section.force-print .table td:nth-last-child(-n + 2)
    {
        border-inline-end: none;
    }

    section.force-print #title
    {
        margin-top: 8px;
        color: black;
    }

    section.force-print .non-printable
    {
        display: none !important;
    }

/* Entry Receipt Print Styles - ONLY when body has print-receipt class */
/* This prevents interference with manifest printing */
@media print {
    body.print-receipt {
        margin: 0;
        padding: 0;
    }
    
    body.print-receipt > *:not(#entry-receipt) {
        display: none !important;
    }
    
    body.print-receipt #entry-receipt {
        display: block !important;
        width: 80mm !important;
        max-width: 80mm !important;
        height: auto !important;
        margin: 0 !important;
        padding: 8mm !important;
        box-sizing: border-box;
        font-family: 'Courier New', monospace;
        background: white !important;
        page-break-after: auto;
    }

    body.print-receipt #entry-receipt * {
        color: black !important;
        print-color-adjust: exact;
        -webkit-print-color-adjust: exact;
    }
    
    @page {
        size: 80mm auto;
        margin: 0;
    }
}