.danfe-cupom {
    width: 302px;
    font-family: 'Courier New', monospace;
    font-size: 11px;
    line-height: 1.35;
    color: #000;
    background: #fff;
    padding: 8px;
}

.danfe-cupom .danfe-titulo {
    text-align: center;
    font-weight: 700;
    font-size: 10px;
    margin-bottom: 6px;
    text-transform: uppercase;
}

.danfe-cupom .danfe-emitente {
    text-align: center;
    margin-bottom: 6px;
    border-bottom: 1px dashed #000;
    padding-bottom: 6px;
}

.danfe-cupom .danfe-emitente .nome-fantasia {
    font-weight: 700;
    font-size: 12px;
}

.danfe-cupom .danfe-separador {
    border: none;
    border-top: 1px dashed #000;
    margin: 6px 0;
}

.danfe-cupom table {
    width: 100%;
    border-collapse: collapse;
}

.danfe-cupom table th {
    text-align: left;
    font-size: 10px;
    font-weight: 700;
    border-bottom: 1px solid #000;
    padding: 2px 0;
}

.danfe-cupom table td {
    font-size: 10px;
    padding: 1px 0;
    vertical-align: top;
}

.danfe-cupom .col-dir {
    text-align: right;
}

.danfe-cupom .col-cen {
    text-align: center;
}

.danfe-cupom .danfe-totais {
    border-top: 1px dashed #000;
    padding-top: 4px;
    margin-top: 4px;
}

.danfe-cupom .danfe-totais .linha-total {
    display: flex;
    justify-content: space-between;
    font-size: 11px;
}

.danfe-cupom .danfe-totais .linha-total.destaque {
    font-weight: 700;
    font-size: 13px;
}

.danfe-cupom .danfe-pagamentos {
    margin-top: 4px;
}

.danfe-cupom .danfe-pagamentos .linha-total {
    display: flex;
    justify-content: space-between;
    font-size: 10px;
}

.danfe-cupom .danfe-tributos {
    text-align: center;
    font-size: 9px;
    margin-top: 4px;
    padding-top: 4px;
    border-top: 1px dashed #000;
}

.danfe-cupom .danfe-chave {
    text-align: center;
    font-size: 9px;
    word-break: break-all;
    margin-top: 6px;
    padding-top: 4px;
    border-top: 1px dashed #000;
}

.danfe-cupom .danfe-chave .rotulo {
    font-weight: 700;
    margin-bottom: 2px;
}

.danfe-cupom .danfe-consulta {
    text-align: center;
    font-size: 9px;
    margin-top: 4px;
}

.danfe-cupom .danfe-qrcode {
    text-align: center;
    margin-top: 8px;
}

.danfe-cupom .danfe-qrcode img {
    width: 160px;
    height: 160px;
    image-rendering: pixelated;
}

.danfe-cupom .danfe-protocolo {
    text-align: center;
    font-size: 9px;
    margin-top: 6px;
    padding-top: 4px;
    border-top: 1px dashed #000;
}

@media print {
    html, body {
        margin: 0 !important;
        padding: 0 !important;
        background: #fff !important;
        width: auto !important;
        height: auto !important;
        overflow: visible !important;
    }

    /* Esconde tudo via visibility */
    body * {
        visibility: hidden !important;
    }

    /* Mostra apenas o cupom e seus filhos */
    .danfe-cupom,
    .danfe-cupom * {
        visibility: visible !important;
    }

    /* Todos os ancestrais do cupom: sem clipping, sem overflow */
    #app,
    .mud-layout,
    .mud-main-content,
    .mud-dialog-provider,
    .mud-dialog-container,
    .mud-overlay,
    .mud-dialog,
    .mud-dialog-content {
        position: static !important;
        overflow: visible !important;
        width: auto !important;
        height: auto !important;
        max-width: none !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
        box-shadow: none !important;
        border: none !important;
        background: transparent !important;
        transform: none !important;
    }

    /* Cupom posicionado no topo */
    .danfe-cupom {
        position: absolute !important;
        left: 0 !important;
        top: 0 !important;
        width: 80mm;
        margin: 0;
        padding: 2mm;
        background: #fff !important;
    }

    /* Esconde botões */
    .danfe-acoes,
    .mud-dialog-actions {
        display: none !important;
    }
}
