:root {
      /* New Brand Color Palette */
      --primary-red: #DF2C21;
      --dark-red: #B42318;
      --pure-white: #FFFFFF;
      --light-gray: #E5E5E5;
      --medium-gray: #999999;
      --dark-gray: #333333;
      --soft-black: #1A1A1A;
      --muted-coral: #F28B82;
    }

    /* Global body and text styling */
    html, body {
      height: 100%;
    }
    
    body {
      color: var(--dark-gray);
      background-color: var(--pure-white);
      display: flex;
      flex-direction: column;
      margin: 0;
      min-height: 100vh;
    }

    h1, h2, h3, h4, h5, h6 {
      color: var(--soft-black);
    }

    /* Navigation */
    .navbar-light {
      background-color: var(--light-gray) !important;
      border-bottom: 1px solid var(--medium-gray);
    }

    .navbar-brand {
      color: var(--dark-gray) !important;
    }

    .navbar-nav .nav-link {
      color: var(--dark-gray) !important;
    }

    .navbar-nav .nav-link:hover {
      color: var(--soft-black) !important;
    }

    /* Primary buttons */
    .btn-primary {
      background-color: var(--primary-red) !important;
      border-color: var(--primary-red) !important;
      color: var(--pure-white) !important;
    }

    .btn-primary:hover, .btn-primary:focus, .btn-primary:active {
      background-color: var(--dark-red) !important;
      border-color: var(--dark-red) !important;
      color: var(--pure-white) !important;
    }

    /* Success buttons */
    .btn-success {
      background-color: var(--primary-red) !important;
      border-color: var(--primary-red) !important;
      color: var(--pure-white) !important;
    }

    .btn-success:hover, .btn-success:focus, .btn-success:active {
      background-color: var(--dark-red) !important;
      border-color: var(--dark-red) !important;
      color: var(--pure-white) !important;
    }

    /* Secondary buttons */
    .btn-secondary {
      background-color: var(--medium-gray) !important;
      border-color: var(--medium-gray) !important;
      color: var(--pure-white) !important;
    }

    .btn-secondary:hover, .btn-secondary:focus, .btn-secondary:active {
      background-color: var(--dark-gray) !important;
      border-color: var(--dark-gray) !important;
      color: var(--pure-white) !important;
    }

    /* Outline buttons */
    .btn-outline-primary {
      border-color: var(--primary-red) !important;
      color: var(--primary-red) !important;
    }

    .btn-outline-primary:hover, .btn-outline-primary:focus, .btn-outline-primary:active {
      background-color: var(--primary-red) !important;
      border-color: var(--primary-red) !important;
      color: var(--pure-white) !important;
    }

    .btn-outline-secondary {
      border-color: var(--medium-gray) !important;
      color: var(--medium-gray) !important;
    }

    .btn-outline-secondary:hover, .btn-outline-secondary:focus, .btn-outline-secondary:active {
      background-color: var(--medium-gray) !important;
      border-color: var(--medium-gray) !important;
      color: var(--pure-white) !important;
    }

    .btn-outline-info {
      border-color: var(--muted-coral) !important;
      color: var(--primary-red) !important;
    }

    .btn-outline-info:hover, .btn-outline-info:focus, .btn-outline-info:active {
      background-color: var(--muted-coral) !important;
      border-color: var(--muted-coral) !important;
      color: var(--pure-white) !important;
    }

    .btn-outline-success {
      border-color: var(--primary-red) !important;
      color: var(--primary-red) !important;
    }

    .btn-outline-success:hover, .btn-outline-success:focus, .btn-outline-success:active {
      background-color: var(--primary-red) !important;
      border-color: var(--primary-red) !important;
      color: var(--pure-white) !important;
    }

    .btn-outline-warning {
      border-color: var(--muted-coral) !important;
      color: var(--dark-red) !important;
    }

    .btn-outline-warning:hover, .btn-outline-warning:focus, .btn-outline-warning:active {
      background-color: var(--muted-coral) !important;
      border-color: var(--muted-coral) !important;
      color: var(--pure-white) !important;
    }

    .btn-outline-danger {
      border-color: var(--dark-red) !important;
      color: var(--dark-red) !important;
    }

    .btn-outline-danger:hover, .btn-outline-danger:focus, .btn-outline-danger:active {
      background-color: var(--dark-red) !important;
      border-color: var(--dark-red) !important;
      color: var(--pure-white) !important;
    }

    /* Warning buttons */
    .btn-warning {
      background-color: var(--muted-coral) !important;
      border-color: var(--muted-coral) !important;
      color: var(--dark-gray) !important;
    }

    .btn-warning:hover, .btn-warning:focus, .btn-warning:active {
      background-color: var(--primary-red) !important;
      border-color: var(--primary-red) !important;
      color: var(--pure-white) !important;
    }

    /* Danger buttons */
    .btn-danger {
      background-color: var(--dark-red) !important;
      border-color: var(--dark-red) !important;
      color: var(--pure-white) !important;
    }

    .btn-danger:hover, .btn-danger:focus, .btn-danger:active {
      background-color: var(--primary-red) !important;
      border-color: var(--primary-red) !important;
      color: var(--pure-white) !important;
    }

    /* Badges */
    .badge.bg-primary {
      background-color: var(--primary-red) !important;
      color: var(--pure-white) !important;
    }

    .badge.bg-success {
      background-color: var(--primary-red) !important;
      color: var(--pure-white) !important;
    }

    .badge.bg-warning {
      background-color: var(--muted-coral) !important;
      color: var(--dark-gray) !important;
    }

    .badge.bg-danger {
      background-color: var(--dark-red) !important;
      color: var(--pure-white) !important;
    }

    .badge.bg-info {
      background-color: var(--muted-coral) !important;
      color: var(--dark-gray) !important;
    }

    .badge.bg-secondary {
      background-color: var(--medium-gray) !important;
      color: var(--pure-white) !important;
    }

    /* Cards */
    .card {
      border-color: var(--light-gray) !important;
      background-color: var(--pure-white) !important;
    }

    .card-header {
      background-color: var(--pure-white) !important;
      border-bottom-color: var(--light-gray) !important;
      color: var(--dark-gray) !important;
    }

    /* Tables */
    .table {
      color: var(--dark-gray) !important;
    }

    .table-hover tbody tr:hover {
      background-color: rgba(229, 229, 229, 0.3) !important;
    }

    .table-dark {
      background-color: var(--soft-black) !important;
      color: var(--pure-white) !important;
    }

    .table-dark th,
    .table-dark thead th,
    thead.table-dark th,
    .table thead.table-dark th,
    table thead.table-dark th {
      color: var(--pure-white) !important;
      background-color: var(--soft-black) !important;
      border-bottom-color: var(--medium-gray) !important;
    }

    .table-dark th input[type="checkbox"],
    .table-dark thead th input[type="checkbox"],
    thead.table-dark th input[type="checkbox"],
    .table thead.table-dark th input[type="checkbox"],
    table thead.table-dark th input[type="checkbox"] {
      accent-color: var(--primary-red);
      cursor: pointer;
    }

    .table-dark th a,
    .table-dark thead th a,
    thead.table-dark th a,
    .table thead.table-dark th a,
    table thead.table-dark th a {
      color: var(--pure-white) !important;
      text-decoration: none;
    }

    .table-dark th a:hover,
    .table-dark thead th a:hover,
    thead.table-dark th a:hover,
    .table thead.table-dark th a:hover,
    table thead.table-dark th a:hover {
      color: var(--muted-coral) !important;
      text-decoration: underline;
    }

    .table:not(.table-dark) th {
      color: var(--soft-black) !important;
      border-bottom-color: var(--medium-gray) !important;
    }

    /* Form controls */
    .form-control {
      border-color: var(--medium-gray) !important;
      color: var(--dark-gray) !important;
    }

    .form-control:focus {
      border-color: var(--primary-red) !important;
      box-shadow: 0 0 0 0.2rem rgba(223, 44, 33, 0.25) !important;
    }

    .form-select {
      border-color: var(--medium-gray) !important;
      color: var(--dark-gray) !important;
    }

    .form-select:focus {
      border-color: var(--primary-red) !important;
      box-shadow: 0 0 0 0.2rem rgba(223, 44, 33, 0.25) !important;
    }

    /* Pagination */
    .page-link {
      color: var(--primary-red) !important;
      border-color: var(--light-gray) !important;
    }

    .page-link:hover {
      background-color: var(--primary-red) !important;
      border-color: var(--primary-red) !important;
      color: var(--pure-white) !important;
    }

    .page-item.active .page-link {
      background-color: var(--primary-red) !important;
      border-color: var(--primary-red) !important;
      color: var(--pure-white) !important;
    }

    /* Alerts */
    .alert-success {
      background-color: rgba(223, 44, 33, 0.1) !important;
      border-color: var(--primary-red) !important;
      color: var(--dark-red) !important;
    }

    .alert-danger {
      background-color: rgba(180, 35, 24, 0.1) !important;
      border-color: var(--dark-red) !important;
      color: var(--dark-red) !important;
    }

    .alert-warning {
      background-color: rgba(242, 139, 130, 0.1) !important;
      border-color: var(--muted-coral) !important;
      color: var(--dark-red) !important;
    }

    .alert-info {
      background-color: rgba(242, 139, 130, 0.1) !important;
      border-color: var(--muted-coral) !important;
      color: var(--dark-gray) !important;
    }

    /* Text colors */
    .text-muted {
      color: var(--medium-gray) !important;
    }

    .text-danger {
      color: var(--dark-red) !important;
    }

    .text-success {
      color: var(--primary-red) !important;
    }

    .text-warning {
      color: var(--dark-red) !important;
    }

    .text-info {
      color: var(--medium-gray) !important;
    }

    /* Borders */
    .border {
      border-color: var(--light-gray) !important;
    }

    .border-top {
      border-top-color: var(--light-gray) !important;
    }

    .border-bottom {
      border-bottom-color: var(--light-gray) !important;
    }

    /* Logo styling */
    .navbar-brand img {
      height: 40px;
      width: auto;
    }

    /* Print Styles */
    @media print {
      /* Hide navigation, buttons, and non-essential elements */
      .navbar,
      .btn,
      .alert,
      .d-print-none,
      .pagination,
      .footer,
      .card-header .btn,
      .edit-controls,
      .action-buttons,
      .form-check,
      .breadcrumb,
      .card:first-child,
      form {
        display: none !important;
      }

      /* Page setup */
      @page {
        margin: 0.75in 0.5in;
        size: letter portrait;
      }

      /* Reset page margins and background */
      * {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
      }

      body {
        background: white !important;
        font-size: 11pt !important;
        line-height: 1.5 !important;
        color: #000 !important;
        font-family: 'Arial', 'Helvetica', sans-serif !important;
      }

      /* Page layout for print */
      .container,
      .container-fluid {
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
      }

      .row {
        margin: 0 !important;
      }

      .col-lg-12,
      .col-md-12,
      .col-sm-12 {
        width: 100% !important;
        padding: 0 !important;
      }

      /* Card styling for print - remove all cards, just show content */
      .card {
        border: none !important;
        box-shadow: none !important;
        margin-bottom: 0 !important;
        page-break-inside: avoid;
        background: white !important;
      }

      /* Hide search/filter cards */
      .card:first-of-type {
        display: none !important;
      }

      .card-header {
        background-color: #DF2C21 !important;
        color: #FFFFFF !important;
        border: none !important;
        padding: 12pt !important;
        font-weight: bold !important;
        font-size: 14pt !important;
        margin-bottom: 15pt !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
        border-radius: 0 !important;
      }

      .card-header h5 {
        color: #FFFFFF !important;
        margin: 0 !important;
        font-size: 14pt !important;
        font-weight: bold !important;
      }

      .card-body {
        padding: 0 !important;
      }

      /* Typography for print */
      h1, h2, h3, h4, h5, h6 {
        color: #1A1A1A !important;
        margin-top: 0 !important;
        margin-bottom: 12pt !important;
        page-break-after: avoid;
        font-weight: bold !important;
      }

      h1 {
        display: none !important;
      }

      h2 { font-size: 16pt !important; }
      h3 { font-size: 14pt !important; }
      h4 { font-size: 12pt !important; }
      h5 { font-size: 11pt !important; }
      h6 { font-size: 10pt !important; }

      /* Table styling for print */
      .table {
        font-size: 9pt !important;
        margin-bottom: 15pt !important;
        border-collapse: collapse !important;
        width: 100% !important;
        margin-top: 0 !important;
      }

      .table thead {
        background-color: #DF2C21 !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
      }

      .table thead th {
        background-color: #DF2C21 !important;
        color: #FFFFFF !important;
        border: 1px solid #B42318 !important;
        padding: 10pt 6pt !important;
        font-weight: bold !important;
        text-align: left !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
        font-size: 10pt !important;
      }

      /* Hide Actions column */
      .table thead th:last-child,
      .table tbody td:last-child {
        display: none !important;
      }

      .table tbody tr {
        page-break-inside: avoid;
        page-break-after: auto;
      }

      .table tbody tr:nth-child(even) {
        background-color: #F5F5F5 !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
      }

      .table tbody tr:nth-child(odd) {
        background-color: #FFFFFF !important;
      }

      .table td {
        border: 1px solid #ddd !important;
        padding: 8pt 6pt !important;
        vertical-align: top !important;
        color: #000 !important;
        font-size: 9pt !important;
      }

      .table-responsive {
        overflow: visible !important;
      }

      .table-striped tbody tr:nth-of-type(odd) {
        background-color: white !important;
      }

      .table-striped tbody tr:nth-of-type(even) {
        background-color: #F5F5F5 !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
      }

      /* Status badges for print */
      .badge {
        border: 2px solid #333 !important;
        color: black !important;
        background: white !important;
        padding: 2pt 6pt !important;
        font-size: 9pt !important;
        font-weight: bold !important;
        border-radius: 3pt !important;
      }

      .badge.bg-success {
        border-color: #28a745 !important;
        background: #d4edda !important;
        color: #155724 !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
      }

      .badge.bg-warning {
        border-color: #ffc107 !important;
        background: #fff3cd !important;
        color: #856404 !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
      }

      .badge.bg-danger {
        border-color: #dc3545 !important;
        background: #f8d7da !important;
        color: #721c24 !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
      }

      /* Links for print */
      a {
        color: black !important;
        text-decoration: none !important;
      }

      /* Remove link URLs from printing */
      a[href]:after {
        content: none !important;
      }

      /* Page breaks */
      .page-break {
        page-break-before: always;
      }

      /* Logo area for print */
      .print-logo {
        display: block !important;
        text-align: center;
        margin-bottom: 20pt;
        page-break-inside: avoid;
        padding-bottom: 15pt;
        border-bottom: 3px solid #DF2C21 !important;
      }

      .print-logo.d-none {
        display: block !important;
      }

      .print-logo img {
        max-height: 70pt !important;
        width: auto !important;
      }

      /* Report metadata */
      .print-meta {
        display: block !important;
        font-size: 10pt;
        color: #333;
        margin-bottom: 25pt;
        margin-top: 20pt;
        padding: 12pt 15pt;
        background-color: #F5F5F5 !important;
        border-left: 5px solid #DF2C21 !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
        page-break-inside: avoid;
        line-height: 1.8;
      }

      .print-meta.d-none {
        display: block !important;
      }

      .print-meta strong {
        color: #1A1A1A !important;
        font-weight: bold !important;
      }

      /* Ensure proper spacing */
      p {
        margin-bottom: 8pt;
        orphans: 3;
        widows: 3;
      }

      /* Text colors */
      .text-muted {
        color: #666 !important;
      }

      /* Remove empty states for print */
      .alert-info,
      .alert-warning {
        display: none !important;
      }
    }

    /* Navigation styling */
    .navbar-brand:hover {
      opacity: 0.9;
    }

    /* Container width adjustment for desktop */
    .container {
      max-width: 1400px; /* Slightly wider than Bootstrap default */
    }

    /* Mobile optimizations */
    @media (max-width: 768px) {
      body {
        font-size: 0.8rem;
      }
      
      .container-fluid.main-container {
        padding-left: 0.5rem;
        padding-right: 0.5rem;
      }
      
      .table th, .table td {
        font-size: 0.75rem;
        padding: 0.25rem;
      }
      
      .btn-sm {
        font-size: 0.7rem;
        padding: 0.15rem 0.3rem;
      }
      
      .card-body {
        padding: 0.75rem;
      }
    }

    /* Large screen optimizations */
    @media (min-width: 1400px) {
      .container-fluid.main-container {
        max-width: none;
      }
      
      .table th, .table td {
        padding: 0.75rem;
      }
    }

    /* Wide screen layout */
    @media (min-width: 1920px) {
      body {
        font-size: 1rem;
      }
      
      .table th, .table td {
        font-size: 0.9rem;
        padding: 1rem 0.75rem;
      }
      
      .container-fluid.main-container {
        padding-left: 2rem;
        padding-right: 2rem;
      }
    }

    /* Ultra-wide screen optimizations */
    @media (min-width: 2560px) {
      .container-fluid.main-container {
        padding-left: 4rem;
        padding-right: 4rem;
      }
      
      body {
        font-size: 1.1rem;
      }
      
      .table th, .table td {
        font-size: 1rem;
        padding: 1.25rem 1rem;
      }
      
      .btn {
        padding: 0.5rem 1rem;
      }
      
      .card-body {
        padding: 1.5rem;
      }
    }

    /* Button spacing consistency */
    .btn + .btn:not(.btn-group .btn) {
      margin-left: 0.5rem;
    }
    
    /* Horizontal button groups should have consistent spacing */
    .d-flex .btn:not(:last-child) {
      margin-right: 0.5rem;
    }
    
    /* Action button toolbars */
    .btn-toolbar .btn-group + .btn-group {
      margin-left: 0.5rem;
    }
    
    /* Sticky footer layout */
    .main-wrapper {
      flex: 1;
      display: flex;
      flex-direction: column;
    }
    
    .main-content {
      flex: 1;
    }
    
    .footer {
      margin-top: auto;
    }
    
    /* Make container wider on dashboard for better table viewing */
    .container {
      max-width: 95% !important;
    }
    
    @media (min-width: 1200px) {
      .container {
        max-width: 1400px !important;
      }
    }
    
    @media (min-width: 1400px) {
      .container {
        max-width: 1600px !important;
      }
    }

    /* Print Styles */
    @media print {
      /* Hide everything except print content */
      .navbar, .footer, .d-print-none, .action-buttons,
      .btn, button, .modal, .alert, .row, .card, .tab-content, .nav-tabs {
        display: none !important;
      }

      /* Show print header, content, and footer */
      .print-header, .print-only-content, .vendor-print-only-content, .print-page-footer, .print-report-container {
        display: block !important;
      }
/* Default: show regular print, hide vendor print */      .print-only-content {        display: block !important;      }      .vendor-print-only-content {        display: none !important;      }      /* Vendor Print Mode: hide regular print, show vendor print */      body.vendor-print-mode .print-only-content {        display: none !important;      }      body.vendor-print-mode .vendor-print-only-content {        display: block !important;      }

      /* Show report tables when printing */
      .report-print-table,
      .report-print-table-large {
        display: table !important;
      }

      .report-print-table thead,
      .report-print-table tbody,
      .report-print-table-large thead,
      .report-print-table-large tbody {
        display: table-row-group !important;
      }

      .report-print-table tr,
      .report-print-table-large tr {
        display: table-row !important;
      }

      .report-print-table th,
      .report-print-table td,
      .report-print-table-large th,
      .report-print-table-large td {
        display: table-cell !important;
      }

      /* Hide regular print when large print is showing */
      .print-report-regular[style*="display: none"] {
        display: none !important;
      }

      .print-report-large[style*="display: block"] {
        display: block !important;
      }

      /* Print Header */
      .print-header {
        margin-bottom: 15px;
        padding-bottom: 10px;
        border-bottom: 2px solid #000;
      }

      .print-logo-section {
        display: flex;
        align-items: center;
        margin-bottom: 8px;
      }

      .print-logo {
        height: 50px;
        width: auto;
        margin-right: 15px;
      }

      .print-header-text h1 {
        font-size: 16pt;
        color: #000;
        margin: 0;
        font-weight: bold;
        line-height: 1.2;
      }

      .print-subtitle {
        font-size: 10pt;
        color: #000;
        font-weight: normal;
        margin-top: 2px;
      }

      .print-ticket-info {
        margin-top: 8px;
      }

      .print-ticket-row {
        display: flex;
        justify-content: space-between;
        font-size: 8pt;
        color: #000;
        border-top: 1px solid #ccc;
        padding-top: 5px;
      }

      .print-ticket-row span {
        flex: 1;
      }

      /* Body and container */
      body {
        background: white !important;
        color: #000 !important;
        font-size: 8pt;
        line-height: 1.2;
      }

      .container, .main-content {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
      }

      .main-wrapper {
        padding: 0 !important;
      }

      /* Print sections - compact form style */
      .print-section {
        margin-bottom: 12px;
        page-break-inside: avoid;
      }

      .print-section h3 {
        font-size: 10pt;
        font-weight: bold;
        color: #000;
        margin: 0 !important;
        padding: 3px 5px;
        background: #000;
        color: #fff;
        display: block;
        line-height: 1;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
      }

      /* Remove any space after h3 */
      .print-section h3 + .print-table,
      .print-section h3 + .print-text-block,
      .print-section h3 + .print-photo-grid {
        margin-top: 0 !important;
        display: block !important;
      }

      /* Print tables - compact form layout */
      .print-table {
        width: 100% !important;
        border-collapse: collapse;
        margin: 0 !important;
        padding: 0;
        font-size: 8pt;
        border-left: 1px solid #000;
        border-right: 1px solid #000;
        border-top: none;
        border-bottom: none;
        display: block;
      }

      .print-table tbody {
        display: table;
        width: 100%;
        border-collapse: collapse;
      }

      .print-table tr {
        border-bottom: 1px solid #ccc;
        display: table-row;
      }

      .print-table tr:first-child {
        border-top: 1px solid #000;
      }

      .print-table tr:last-child {
        border-bottom: 1px solid #000;
      }

      .print-table th {
        font-weight: bold;
        color: #000;
        text-align: left;
        padding: 2px 5px;
        width: 25%;
        vertical-align: top;
        background: #f0f0f0;
        border-right: 1px solid #ccc;
        display: table-cell;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
      }

      .print-table td {
        color: #000;
        padding: 2px 5px;
        vertical-align: top;
        line-height: 1.3;
        width: 75%;
        display: table-cell;
      }

      /* Print text blocks - compact */
      .print-text-block {
        color: #000;
        padding: 5px;
        background: #fff;
        border: 1px solid #000;
        border-top: 1px solid #000;
        margin-top: 0;
        font-size: 8pt;
        line-height: 1.3;
        min-height: 60px;
      }

      .print-text-block em {
        color: #666;
      }

      /* Print photos */
      .print-photo-grid {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        margin-top: 5px;
      }

      .print-photo-item {
        flex: 0 0 auto;
        text-align: center;
      }

      .print-photo-item img {
        max-width: 150px;
        max-height: 150px;
        border: 1px solid #000;
      }

      .print-photo-caption {
        font-size: 7pt;
        color: #000;
        margin-top: 2px;
      }

      /* Print activity log - compact */
      .print-activity-entry {
        margin-bottom: 8px;
        padding-left: 8px;
        border-left: 2px solid #000;
        page-break-inside: avoid;
      }

      .print-activity-header {
        font-size: 7pt;
        color: #000;
        margin-bottom: 2px;
        font-weight: bold;
      }

      .print-activity-body {
        font-size: 7pt;
        color: #000;
        line-height: 1.2;
      }

      .print-activity-meta {
        font-size: 7pt;
        color: #666;
        margin-top: 2px;
      }

      /* Headings */
      h1, h2, h3, h4, h5, h6 {
        color: #000 !important;
        page-break-after: avoid;
        line-height: 1.2;
      }

      /* Prevent orphans */
      p, li, td {
        orphans: 3;
        widows: 3;
      }

      /* Links - no underlines, just black text */
      a {
        color: #000 !important;
        text-decoration: none !important;
      }

      a[href]:after {
        content: none !important;
      }

      /* Page breaks */
      .page-break-before {
        page-break-before: always;
      }

      .page-break-after {
        page-break-after: always;
      }

      /* Strong and emphasis */
      strong, b {
        font-weight: bold;
        color: #000;
      }

      em, i {
        font-style: italic;
        color: #000;
      }

      /* Remove all background colors except specific print elements */
      * {
        background: transparent !important;
        box-shadow: none !important;
      }

      .print-section h3,
      .print-table th {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
      }

      .print-section h3 {
        background: #000 !important;
        color: #fff !important;
      }

      .print-table th {
        background: #f0f0f0 !important;
      }

      /* Report print table styling */
      .report-print-table {
        width: 100% !important;
        border-collapse: collapse !important;
        font-size: 7pt !important;
        margin: 0 !important;
      }

      .report-print-table thead {
        background: #000 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
      }

      .report-print-table th {
        background: #000 !important;
        color: #fff !important;
        padding: 3px 4px !important;
        border: 1px solid #000 !important;
        font-weight: bold !important;
        font-size: 7pt !important;
        text-align: left !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
      }

      .report-print-table td {
        padding: 2px 4px !important;
        border: 1px solid #ccc !important;
        font-size: 7pt !important;
        line-height: 1.2 !important;
        color: #000 !important;
        vertical-align: top !important;
      }

      .report-print-table tr {
        page-break-inside: avoid !important;
      }

      .report-print-table tbody tr:nth-child(even) {
        background: #f9f9f9 !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
      }

      .report-print-table a {
        color: #000 !important;
        text-decoration: none !important;
      }

      /* Margins - tight for maximum content */
      @page {
        margin: 0.4in 0.5in;
      }

      /* Print page footer - appears on every page */
      .print-page-footer {
        display: table-footer-group;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        height: 20px;
        text-align: center;
        font-size: 7pt;
        color: #000;
        border-top: 1px solid #000;
        padding-top: 3px;
        background: white;
      }

      /* Ensure content has space for footer */
      .print-only-content, .vendor-print-only-content {
        padding-bottom: 30px;
      }

      /* Large Print Mode - Enlarge existing table */
      body.large-print-mode .report-print-table {
        font-size: 11pt !important;
      }

      body.large-print-mode .report-print-table th {
        font-size: 12pt !important;
        padding: 6px 8px !important;
      }

      body.large-print-mode .report-print-table td {
        font-size: 11pt !important;
        padding: 5px 8px !important;
        line-height: 1.4 !important;
      }

      body.large-print-mode .print-header h1 {
        font-size: 22pt !important;
      }

      body.large-print-mode .print-subtitle {
        font-size: 12pt !important;
      }

      body.large-print-mode .print-ticket-row {
        font-size: 10pt !important;
      }
    }
