@media print {
    body {
        background-color: white !important;
        color: black !important;
        font-family: Arial, sans-serif !important;
        margin: 0;
        padding: 0;
    }
    
    /* Hide non-printable elements */
    nav, footer, .no-print, button, #toast-container, .screen-only {
        display: none !important;
    }

    .print-only {
        display: block !important;
    }

    .print-only.hidden, .hidden-print {
        display: none !important;
    }

    #app-content {
        padding: 0 !important;
        margin: 0 !important;
    }

    /* Registration Form Print Layout */
    .print-form {
        width: 100%;
        max-width: 21cm;
        min-height: 29.7cm;
        margin: 0 auto;
        background: white;
        padding: 20px;
        box-sizing: border-box;
    }

    .print-header-bar {
        background-color: #2563eb !important;
        color: white !important;
        text-align: center;
        padding: 10px;
        font-size: 24px;
        font-weight: bold;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
        margin-bottom: 20px;
    }

    .print-row {
        display: flex;
        justify-content: space-between;
        margin-bottom: 15px;
        align-items: flex-start;
    }

    .print-fields {
        flex: 1;
        padding-right: 20px;
    }

    .print-field {
        margin-bottom: 15px;
        display: flex;
        align-items: center;
    }

    .print-field label {
        width: 120px;
        font-weight: bold;
    }

    .print-field .print-input {
        flex: 1;
        border: 1px solid black !important;
        padding: 5px 10px;
        min-height: 30px;
        display: flex;
        align-items: center;
    }

    .print-no-star {
        border: 4px solid black !important;
        width: 120px;
        height: 120px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }
    
    .print-no-star-label {
        font-weight: bold;
        font-size: 14px;
        margin-bottom: 5px;
    }

    .print-no-star-value {
        font-size: 48px;
        font-weight: bold;
    }

    .print-classes {
        margin-top: 20px;
        border: 1px solid black !important;
        padding: 15px;
    }
    
    .print-classes-title {
        font-weight: bold;
        margin-bottom: 10px;
        text-align: center;
    }

    .print-class-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }

    .print-class-item {
        display: flex;
        align-items: center;
    }
    
    .print-class-box {
        width: 20px;
        height: 20px;
        border: 2px solid black !important;
        margin-right: 10px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: bold;
    }

    .print-signatures {
        margin-top: 40px;
        display: flex;
        justify-content: space-between;
        padding: 0 15px;
    }

    .print-signature {
        text-align: center;
        width: 170px;
        font-size: 13px;
    }

    .print-signature-title {
        font-weight: bold;
        margin-bottom: 5px;
    }

    .print-signature-line {
        border-bottom: 1px solid black !important;
        margin-top: 70px;
        margin-bottom: 5px;
    }

    .print-signature-name {
        font-size: 12px;
        color: #111;
    }
    
    .print-stamp {
        border: 2px solid #2563eb !important;
        color: #2563eb !important;
        padding: 5px;
        font-weight: bold;
        transform: rotate(-15deg);
        display: inline-block;
        margin-top: -60px;
        margin-bottom: 30px;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    /* ======================================================== */
    /* PROFESSIONAL STARTING LIST / DAFTAR KELAS PRINT LAYOUT  */
    /* ======================================================== */
    .print-class-sheet {
        box-sizing: border-box;
        width: 100%;
        max-width: 210mm;
        margin: 0 auto;
        padding: 6mm 4mm 10mm 4mm;
        page-break-after: always;
        break-after: page;
        color: #000 !important;
        background: #fff !important;
        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
    }

    .print-class-sheet:last-child {
        page-break-after: auto;
        break-after: auto;
    }

    /* KOP DOKUMEN RESMI */
    .print-kop-wrapper {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding-bottom: 6px;
        gap: 12px;
    }

    .print-kop-left {
        width: 55px;
        flex-shrink: 0;
    }

    .print-kop-logo-box {
        width: 52px;
        height: 52px;
        border: 2px solid #0f172a;
        border-radius: 8px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 26px;
        background-color: #f8fafc !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .print-kop-center {
        flex: 1;
        text-align: center;
    }

    .print-kop-org {
        font-size: 8.5pt;
        font-weight: 800;
        letter-spacing: 1px;
        text-transform: uppercase;
        color: #334155;
    }

    .print-kop-title {
        font-size: 13pt;
        font-weight: 900;
        letter-spacing: 0.5px;
        text-transform: uppercase;
        color: #000;
        margin: 1px 0;
        line-height: 1.2;
    }

    .print-kop-subtitle {
        font-size: 8pt;
        color: #475569;
        margin-bottom: 4px;
    }

    .print-kop-docname {
        display: inline-block;
        padding: 2px 14px;
        background-color: #0f172a !important;
        color: #ffffff !important;
        font-size: 9pt;
        font-weight: 900;
        letter-spacing: 1.5px;
        border-radius: 4px;
        text-transform: uppercase;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .print-kop-right {
        width: 145px;
        flex-shrink: 0;
    }

    .print-kop-badge-table {
        border: 1px solid #0f172a;
        border-collapse: collapse;
        width: 100%;
        font-size: 7.5pt;
    }

    .print-kop-badge-table td {
        border: 1px solid #0f172a;
        padding: 2px 4px;
    }

    .print-kop-badge-table .badge-lbl {
        background-color: #f1f5f9 !important;
        font-weight: bold;
        color: #475569;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .print-kop-badge-table .badge-val {
        font-weight: 800;
        text-align: center;
        color: #000;
    }

    .print-kop-line {
        border-top: 3px double #000;
        margin: 6px 0 10px 0;
    }

    /* META BOX */
    .print-meta-grid {
        display: grid;
        grid-template-columns: 2fr 1fr 1.5fr 1fr;
        border: 1px solid #0f172a;
        background-color: #f8fafc !important;
        padding: 6px 10px;
        margin-bottom: 10px;
        gap: 8px;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .print-meta-item .meta-label {
        display: block;
        font-size: 6.5pt;
        font-weight: 700;
        color: #64748b;
        text-transform: uppercase;
        margin-bottom: 1px;
    }

    .print-meta-item .meta-value {
        font-size: 8.5pt;
        font-weight: 600;
        color: #0f172a;
    }

    .print-meta-item .meta-value-highlight {
        font-size: 11pt;
        font-weight: 900;
        color: #000;
        text-transform: uppercase;
    }

    /* TABEL DAFTAR KELAS (TANPA KOLOM KATEGORI) */
    .print-table-rekap {
        width: 100%;
        border-collapse: collapse;
        font-size: 8pt;
        margin-bottom: 8px;
    }

    .print-table-rekap th {
        background-color: #0f172a !important;
        color: #ffffff !important;
        border: 1px solid #0f172a !important;
        padding: 5px 6px;
        font-weight: 800;
        text-transform: uppercase;
        font-size: 7.5pt;
        letter-spacing: 0.5px;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .print-table-rekap td {
        border: 1px solid #cbd5e1 !important;
        padding: 4px 6px;
        vertical-align: middle;
        color: #0f172a !important;
    }

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

    .print-nostart-badge {
        display: inline-block;
        font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
        font-size: 9.5pt;
        font-weight: 900;
        background-color: #e2e8f0 !important;
        border: 1px solid #64748b;
        padding: 0 6px;
        border-radius: 4px;
        color: #0f172a !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .badge-lunas-print {
        display: inline-block;
        font-weight: 900;
        font-size: 7pt;
        color: #166534 !important;
        border: 1px solid #166534;
        background-color: #dcfce7 !important;
        padding: 1px 5px;
        border-radius: 3px;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .badge-pending-print {
        display: inline-block;
        font-weight: 900;
        font-size: 7pt;
        color: #991b1b !important;
        border: 1px solid #991b1b;
        background-color: #fee2e2 !important;
        padding: 1px 5px;
        border-radius: 3px;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .print-disclaimer {
        border: 1px dashed #94a3b8;
        background-color: #f8fafc !important;
        padding: 5px 8px;
        font-size: 6.8pt;
        color: #334155;
        line-height: 1.3;
        margin-bottom: 10px;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    /* SIGNATURES AREA */
    .print-signatures-box {
        display: flex;
        justify-content: space-between;
        margin-top: 10px;
        page-break-inside: avoid;
        break-inside: avoid;
    }

    .print-sig-col {
        width: 30%;
        text-align: center;
        font-size: 7.5pt;
    }

    .print-sig-date {
        font-size: 7.5pt;
        font-style: italic;
        margin-bottom: 2px;
        color: #475569;
    }

    .print-sig-title {
        font-weight: 700;
        color: #0f172a;
        margin-bottom: 40px;
    }

    .print-sig-line {
        border-bottom: 1px solid #000;
        margin: 0 10px 3px 10px;
    }

    .print-sig-name {
        font-weight: 800;
        font-size: 7.5pt;
        text-transform: uppercase;
        color: #000;
    }

    .print-peserta-page {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 210mm !important;
        height: 282mm !important;
        margin: 0 auto !important;
        padding: 5mm 6mm 5mm 6mm !important;
        display: flex !important;
        flex-direction: column !important;
        page-break-after: always !important;
        break-after: page !important;
        background: #fff !important;
        color: #000 !important;
        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
        position: relative !important;
    }

    .print-peserta-page:last-child {
        page-break-after: auto !important;
        break-after: auto !important;
    }

    .print-peserta-content {
        flex: 1 0 auto;
        display: flex;
        flex-direction: column;
    }

    .print-running-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 2px 0 5px 0;
        font-size: 7.2pt;
        color: #0f172a;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .print-running-left {
        display: flex;
        align-items: center;
        gap: 6px;
    }

    .print-running-logo {
        font-size: 10pt;
    }

    .print-running-title {
        font-weight: 900;
        text-transform: uppercase;
        letter-spacing: 0.4px;
        color: #0f172a;
    }

    .print-running-sep {
        color: #94a3b8;
    }

    .print-running-sub {
        font-weight: 700;
        color: #b45309;
    }

    .print-running-right {
        font-weight: 700;
        color: #475569;
        font-size: 6.8pt;
    }

    /* Professional Barcode Footer on Every Page */
    .print-page-footer {
        margin-top: auto;
        padding-top: 5px;
        border-top: 1.5px solid #0f172a;
        display: flex;
        align-items: center;
        justify-content: space-between;
        font-size: 6.8pt;
        color: #0f172a;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .print-footer-left {
        flex: 1;
    }

    .print-footer-doc {
        font-weight: 900;
        text-transform: uppercase;
        letter-spacing: 0.4px;
        color: #0f172a;
        font-size: 7pt;
    }

    .print-footer-sub {
        font-size: 6pt;
        color: #475569;
        margin-top: 1px;
    }

    .print-footer-center {
        flex: 0 0 auto;
        text-align: center;
        padding: 0 12px;
    }

    .print-footer-center svg {
        display: block;
        margin: 0 auto;
        max-height: 38px;
    }

    .print-footer-right {
        flex: 1;
        text-align: right;
    }

    .print-page-num {
        display: block;
        font-weight: 900;
        font-size: 7.5pt;
        color: #0f172a;
        letter-spacing: 0.3px;
    }

    .print-page-badge {
        display: inline-block;
        font-size: 5.8pt;
        font-weight: 800;
        color: #166534 !important;
        background-color: #dcfce7 !important;
        border: 1px solid #166534;
        padding: 0.5px 5px;
        border-radius: 2px;
        margin-top: 1px;
        text-transform: uppercase;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .print-peserta-sheet {
        box-sizing: border-box;
        width: 100%;
        max-width: 210mm;
        margin: 0 auto;
        color: #000 !important;
        background: #fff !important;
        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
    }

    .print-peserta-meta-grid {
        display: grid;
        grid-template-columns: 1fr 1fr 1.3fr 1.3fr 1.8fr;
        border: 1px solid #0f172a;
        background-color: #f8fafc !important;
        padding: 6px 10px;
        margin-bottom: 8px;
        gap: 8px;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .print-peserta-table {
        width: 100%;
        border-collapse: collapse;
        font-size: 7.2pt;
        margin-bottom: 8px;
    }

    .print-peserta-table thead {
        display: table-header-group;
    }

    .print-peserta-table th {
        background-color: #0f172a !important;
        color: #ffffff !important;
        border: 1px solid #0f172a !important;
        padding: 5px 4px;
        font-weight: 800;
        text-transform: uppercase;
        font-size: 6.8pt;
        letter-spacing: 0.4px;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .print-peserta-table td {
        border: 1px solid #cbd5e1 !important;
        padding: 3.5px 4.5px;
        vertical-align: middle;
        color: #0f172a !important;
    }

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

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

    .badge-scrut-ok-print {
        display: inline-block;
        font-weight: 900;
        font-size: 6.5pt;
        color: #1e40af !important;
        border: 1px solid #1e40af;
        background-color: #dbeafe !important;
        padding: 1px 4px;
        border-radius: 3px;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .badge-scrut-wait-print {
        display: inline-block;
        font-weight: 900;
        font-size: 6.5pt;
        color: #854d0e !important;
        border: 1px solid #854d0e;
        background-color: #fef9c3 !important;
        padding: 1px 4px;
        border-radius: 3px;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .badge-kat-print {
        display: inline-block;
        font-weight: 800;
        font-size: 6.5pt;
        color: #334155 !important;
        border: 1px solid #64748b;
        background-color: #f1f5f9 !important;
        padding: 1px 4px;
        border-radius: 3px;
        text-transform: uppercase;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    /* Batch printing blangko page break */
    .print-form-page {
        page-break-after: always;
        break-after: page;
        margin-bottom: 20px;
    }

    .print-form-page:last-child {
        page-break-after: auto;
        break-after: auto;
        margin-bottom: 0;
    }

    /* ======================================================== */
    /* DAFTAR RACE & HASIL RACE PRINT / PDF LAYOUT              */
    /* ======================================================== */
    .print-race-sheet, .print-result-sheet {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 210mm !important;
        min-height: 280mm !important;
        margin: 0 auto !important;
        padding: 6mm 6mm 8mm 6mm !important;
        display: flex !important;
        flex-direction: column !important;
        page-break-after: always !important;
        break-after: page !important;
        background: #fff !important;
        color: #000 !important;
        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
        position: relative !important;
    }

    .print-race-sheet:last-child, .print-result-sheet:last-child {
        page-break-after: auto !important;
        break-after: auto !important;
    }

    .print-race-content {
        flex: 1 0 auto;
        display: flex;
        flex-direction: column;
    }

    /* Grid Position Badge (1-8) */
    .print-grid-badge {
        display: inline-block;
        width: 26px;
        height: 22px;
        line-height: 22px;
        text-align: center;
        background-color: #0f172a !important;
        color: #ffffff !important;
        font-weight: 900;
        font-size: 8pt;
        border-radius: 4px;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    /* Podium & Result Badges */
    .badge-gold-print {
        display: inline-block;
        background-color: #fef3c7 !important;
        color: #92400e !important;
        border: 1px solid #b45309 !important;
        font-weight: 900;
        font-size: 7.5pt;
        padding: 1px 6px;
        border-radius: 3px;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .badge-silver-print {
        display: inline-block;
        background-color: #f1f5f9 !important;
        color: #334155 !important;
        border: 1px solid #64748b !important;
        font-weight: 900;
        font-size: 7.5pt;
        padding: 1px 6px;
        border-radius: 3px;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .badge-bronze-print {
        display: inline-block;
        background-color: #ffedd5 !important;
        color: #9a3412 !important;
        border: 1px solid #c2410c !important;
        font-weight: 900;
        font-size: 7.5pt;
        padding: 1px 6px;
        border-radius: 3px;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .badge-finish-print {
        display: inline-block;
        background-color: #dcfce7 !important;
        color: #166534 !important;
        border: 1px solid #166534 !important;
        font-weight: 900;
        font-size: 6.8pt;
        padding: 1px 5px;
        border-radius: 3px;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .badge-dnf-print {
        display: inline-block;
        background-color: #fee2e2 !important;
        color: #991b1b !important;
        border: 1px solid #991b1b !important;
        font-weight: 900;
        font-size: 6.8pt;
        padding: 1px 5px;
        border-radius: 3px;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .badge-dq-print {
        display: inline-block;
        background-color: #0f172a !important;
        color: #ffffff !important;
        border: 1px solid #0f172a !important;
        font-weight: 900;
        font-size: 6.8pt;
        padding: 1px 5px;
        border-radius: 3px;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .badge-lolos-print {
        display: inline-block;
        background-color: #ecfdf5 !important;
        color: #047857 !important;
        border: 1px solid #059669 !important;
        font-weight: 900;
        font-size: 6.8pt;
        padding: 1px 5px;
        border-radius: 3px;
        text-transform: uppercase;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }
}

