/* Solo para esta página */
.content-area {
    padding-top: 0 !important;
    margin-top: -20px !important;
}

.container-bg {
    margin-top: 0 !important;
}

/* Estilos Base (Pantalla) */
.print-container {
    background: white;
    margin: -400px auto 0 auto !important;
    padding: 5px 20mm 20mm 20mm !important;
    border: 1px solid #ccc;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    max-width: 210mm;
    font-family: Arial, sans-serif;
    display: block;
}

/* Tablas Impresion */
.header-box {
    border: 2px solid black;
    text-align: center;
    padding: 5px;
    margin-bottom: 5px;
}

.taller-title {
    margin: 0;
    font-size: 18pt;
    font-weight: bold;
    text-transform: uppercase;
}

.sub-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 5px;
}

.title-job {
    font-size: 12pt;
    font-weight: bold;
}

.order-box {
    display: flex;
    align-items: center;
    font-weight: bold;
    font-size: 10pt;
}

.box-empty {
    border: 1px solid black;
    width: 80px;
    height: 25px;
    margin-left: 10px;
}

.table-client,
.table-items {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 5px;
}

.table-client th,
.table-client td {
    border: 1px solid black;
    padding: 2px 4px;
    text-align: left;
    font-size: 9pt;
}

.table-client th {
    text-align: center;
    background: #f0f0f0;
}

/* Tabla Items Estilo Especifico */
.table-items {
    table-layout: fixed;
}

.table-items th {
    border: 2px solid black !important;
    padding: 2px;
    font-weight: bold;
    font-size: 10pt;
    text-align: center;
    background-color: transparent !important;
}

.table-items td {
    border: 1px solid black;
    padding: 2px 4px !important;
    font-size: 10pt;
    height: auto;
}

.col-item {
    text-align: left;
    width: 70%;
}

.col-check {
    width: 15%;
    text-align: center;
}

.col-price {
    width: 15%;
    text-align: center;
}

.item-name {
    font-weight: 500;
}

.footer-total {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin-top: 10px;
    font-size: 12pt;
    font-weight: bold;
    page-break-inside: avoid;
}

.total-box {
    border: 2px solid black;
    width: 120px;
    height: 30px;
    margin-left: 15px;
}

/* REGLAS DE IMPRESION */
@media print {
    @page {
        margin: 0.5cm;
    }

    body {
        background: white;
        margin: 0;
        padding: 0;
        font-size: 10pt;
    }

    /* Ocultar elementos de UI */
    .no-print,
    .sidebar,
    .main-header,
    .alert,
    .btn,
    .d-print-none {
        display: none !important;
    }

    /* Ajustar contenedor impresion */
    .print-container {
        margin: 0;
        border: none;
        box-shadow: none;
        width: 100%;
        max-width: 100%;
        padding: 0;
    }

    /* Asegurar blanco y negro forzado */
    * {
        color: black !important;
        background: transparent !important;
        -webkit-print-color-adjust: exact;
    }

    .table-client th {
        background-color: transparent !important;
    }

    /* Bordes y Page Breaks */
    .header-box,
    .table-items th,
    .total-box {
        border: 2px solid black !important;
    }

    td,
    th,
    .box-empty {
        border: 1px solid black !important;
    }

    /* Evitar cortes feos */
    table,
    tr,
    td,
    th,
    .footer-total {
        page-break-inside: avoid;
    }
}