.vjv-mr-frontend {
    max-width: 1120px;
    margin: 0 auto;
    color: #222;
    font-size: 16px;
    line-height: 1.5;
}

.vjv-mr-report-header {
    text-align: center;
    margin-bottom: 18px;
}

.vjv-mr-report-subtitle {
    font-size: 12px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #666;
    margin-bottom: 8px;
}

.vjv-mr-report-title {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 34px;
    line-height: 1.2;
    color: #1f1f1f;
}

.vjv-mr-date-form {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 22px;
}

.vjv-mr-date-label {
    font-weight: 600;
}

.vjv-mr-date-form select {
    min-width: 240px;
    padding: 8px 10px;
    border: 1px solid #cfcfcf;
    background: #fff;
    border-radius: 2px;
}

.vjv-mr-auction-summary,
.vjv-mr-livestock-headsold {
    margin-bottom: 22px;
}

.vjv-mr-summary-table,
.vjv-mr-headsold-table,
.vjv-mr-table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    margin: 0;
}

.vjv-mr-summary-table th,
.vjv-mr-summary-table td,
.vjv-mr-headsold-table th,
.vjv-mr-headsold-table td,
.vjv-mr-table th,
.vjv-mr-table td {
    border: 1px solid #cfcfcf;
    padding: 10px 12px;
    vertical-align: middle;
}

.vjv-mr-summary-table thead th,
.vjv-mr-headsold-table thead th,
.vjv-mr-table thead th {
    background: #3b3b3b;
    color: #fff;
    font-weight: 700;
    text-align: center;
}

.vjv-mr-summary-label,
.vjv-mr-col-label,
.vjv-mr-row-label {
    font-weight: 700;
    text-align: left;
}

.vjv-mr-summary-table td:not(.vjv-mr-summary-label),
.vjv-mr-headsold-table td:not(.vjv-mr-summary-label),
.vjv-mr-table td:not(.vjv-mr-row-label) {
    text-align: center;
}

.vjv-mr-section {
    margin-bottom: 30px;
}

.vjv-mr-section-heading {
    margin-bottom: 10px;
}

.vjv-mr-section-title {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 28px;
    line-height: 1.2;
    color: #222;
}

.vjv-mr-table-wrap {
    overflow-x: auto;
}

.vjv-mr-table tbody tr:nth-child(even),
.vjv-mr-summary-table tbody tr:nth-child(even),
.vjv-mr-headsold-table tbody tr:nth-child(even) {
    background: #fafafa;
}

.vjv-mr-table tbody tr:hover,
.vjv-mr-summary-table tbody tr:hover,
.vjv-mr-headsold-table tbody tr:hover {
    background: #f3f3f3;
}

.vjv-mr-table .vjv-mr-row-label,
.vjv-mr-summary-table .vjv-mr-summary-label,
.vjv-mr-headsold-table .vjv-mr-summary-label {
    min-width: 220px;
}

@media (max-width: 768px) {
    .vjv-mr-report-title {
        font-size: 28px;
    }

    .vjv-mr-section-title {
        font-size: 24px;
    }

    .vjv-mr-date-form {
        align-items: stretch;
    }

    .vjv-mr-date-form select {
        min-width: 0;
        width: 100%;
    }
}



@media (max-width: 767px) {

    .vjv-mr-frontend {
        width: 100%;
        max-width: 100%;
        overflow: hidden;
    }

    /* Header */
    .vjv-mr-report-header {
        text-align: center;
        padding-left: 10px;
        padding-right: 10px;
    }

    .vjv-mr-report-title {
        font-size: 24px;
        line-height: 1.2;
    }

    .vjv-mr-report-subtitle {
        font-size: 13px;
    }

    /* Date selector / print area */
    .vjv-mr-date-form {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        align-items: center;
        width: 100%;
    }

    .vjv-mr-date-label {
        width: 100%;
        margin-bottom: 0;
    }

    .vjv-mr-date-form select {
        flex: 1 1 180px;
        width: auto;
        max-width: 100%;
        min-height: 44px;
    }

    .vjv-mr-print-button,
    .vjv-mr-date-form button {
        flex: 0 0 auto;
        min-height: 44px;
        padding: 8px 14px;
    }

    /* Make every report table scrollable */
    .vjv-mr-table-wrap,
    .vjv-mr-auction-summary,
    .vjv-mr-livestock-headsold {
        width: 100%;
        max-width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .vjv-mr-table-wrap {
        position: relative;
    }

    /* Normal range tables */
    .vjv-mr-table,
    .vjv-mr-summary-table,
    .vjv-mr-headsold-table {
        width: 100%;
        min-width: 520px;
        border-collapse: collapse;
    }

    /* Wider Stock / Feeder table */
    .vjv-mr-table-dual {
        min-width: 720px;
    }

    /* Reduce spacing on mobile */
    .vjv-mr-table th,
    .vjv-mr-table td,
    .vjv-mr-summary-table th,
    .vjv-mr-summary-table td,
    .vjv-mr-headsold-table th,
    .vjv-mr-headsold-table td {
        padding: 9px 8px;
        font-size: 13px;
        line-height: 1.25;
        white-space: nowrap;
    }

    /* Keep row names visible while scrolling sideways */
    .vjv-mr-table .vjv-mr-row-label,
    .vjv-mr-table .vjv-mr-col-label {
        position: sticky;
        left: 0;
        z-index: 2;
        background: #fff;
        white-space: normal;
        min-width: 125px;
        max-width: 145px;
    }

    .vjv-mr-table thead .vjv-mr-col-label {
        z-index: 3;
    }

    /* Section headings */
    .vjv-mr-section {
        margin-bottom: 28px;
    }

    .vjv-mr-section-title {
        font-size: 20px;
        line-height: 1.2;
    }

    /* Give a visual hint that wide tables can scroll */
    .vjv-mr-table-wrap::after {
        content: "Swipe to view more →";
        display: block;
        margin-top: 5px;
        font-size: 11px;
        opacity: 0.65;
        text-align: right;
    }
}