.form-control-file
{
    position: relative !important;
    opacity: 1 !important;
}

.dataTables_length label{
    color:black !important;
    font-size: 1.214em;
}
.dataTables_filter label{
    color:black !important;
    font-size: 1.214em;
}
/* =========================================================
   Responsividade do admin (foco nas tabelas) — paper-dashboard
   ========================================================= */

/* Tabela com paginação server-side (Pedidos) vira CARDS no mobile.
   As 6 tabelas com DataTable usam a extensão Responsive (colapsa colunas). */
@media (max-width: 767px) {
    .tabela-responsiva thead { display: none; }
    .tabela-responsiva,
    .tabela-responsiva tbody,
    .tabela-responsiva tr,
    .tabela-responsiva td { display: block; width: 100%; }
    .tabela-responsiva tr {
        border: 1px solid #e3e3e3;
        border-radius: 8px;
        margin-bottom: 12px;
        padding: 6px 14px;
        background: #fff;
    }
    .tabela-responsiva td {
        border: none !important;
        padding: 9px 0 !important;
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 12px;
        text-align: right;
    }
    .tabela-responsiva td::before {
        content: attr(data-label);
        font-weight: 700;
        color: #888;
        font-size: 12px;
        text-transform: uppercase;
        text-align: left;
        white-space: nowrap;
    }
    .tabela-responsiva td.td-acoes { justify-content: flex-end; }
    .tabela-responsiva td.td-acoes::before { display: none; }
}

/* Ajustes gerais de responsividade do admin */
@media (max-width: 991px) {
    /* qualquer tabela em scroll horizontal não estoura o card */
    .card .table-responsive { overflow-x: auto; -webkit-overflow-scrolling: touch; }

    /* controles do DataTables empilhados e usando a largura toda */
    .dataTables_wrapper .dataTables_filter,
    .dataTables_wrapper .dataTables_length {
        float: none;
        text-align: left;
        margin-bottom: 10px;
    }
    .dataTables_wrapper .dataTables_filter input {
        width: 100%;
        margin-left: 0;
        display: block;
    }
    .dataTables_wrapper .dataTables_paginate { float: none; text-align: center; margin-top: 10px; }

    /* cards e conteúdo sem overflow horizontal */
    .main-panel, .card, .card-body { max-width: 100%; }
    .card-body { overflow-wrap: break-word; }
}

/* Defensivo: evita overflow horizontal no conteúdo do admin no mobile */
@media (max-width: 991px) {
    .main-panel > .content { overflow-x: hidden; }
    .tabela-responsiva td { min-width: 0; }
    .tabela-responsiva td { word-break: break-word; }
    /* form de filtros: colunas com respiro ao empilhar */
    .card-body form .row > [class*="col-"] { margin-bottom: 10px; }
}

/* =========================================================
   PDV (Nova Venda no admin)
   ========================================================= */
.pdv-resultados { max-height: 340px; overflow-y: auto; margin-top: 8px; }
.pdv-res-item { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border: 1px solid #eee; border-radius: 8px; margin-bottom: 6px; cursor: pointer; transition: .15s; }
.pdv-res-item:hover { border-color: #ff6a00; background: #fff7f0; }
.pdv-cliente-resumo { display: flex; align-items: center; gap: 10px; background: #fff7f0; border: 1px solid #ffd9bd; border-radius: 8px; padding: 8px 12px; margin-bottom: 12px; }
.pdv-cliente-resumo i { font-size: 22px; color: #ff6a00; }
.pdv-cliente-resumo strong { display: block; line-height: 1.2; }
.pdv-cliente-resumo small { color: #888; }

.pdv-steps-nav { display: flex; gap: 8px; margin-bottom: 16px; flex-wrap: wrap; }
.pdv-step-badge { flex: 1; min-width: 90px; text-align: center; padding: 8px 6px; border-radius: 8px; background: #f0f0f0; color: #999; font-weight: 600; font-size: 13px; cursor: pointer; transition: .15s; user-select: none; }
.pdv-step-badge.active { background: #ff6a00; color: #fff; }

.pdv-res-img { width: 42px; height: 42px; object-fit: cover; border-radius: 6px; background: #f4f4f4; }
.pdv-res-info { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.pdv-res-nome { font-weight: 600; font-size: 14px; }
.pdv-res-info small { color: #999; }
.pdv-res-preco { font-weight: 700; color: #ff6a00; white-space: nowrap; }
.pdv-res-vazio { color: #999; padding: 10px; }

.pdv-cart-item { display: flex; align-items: center; gap: 8px; padding: 8px 0; border-bottom: 1px solid #f0f0f0; }
.pdv-cart-img { width: 40px; height: 40px; object-fit: cover; border-radius: 6px; background: #f4f4f4; cursor: pointer; flex-shrink: 0; }
.pdv-cart-info { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.pdv-cart-info span { font-weight: 600; font-size: 13px; line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.pdv-cart-info small { color: #999; }
.pdv-cart-qtd { display: flex; align-items: center; gap: 6px; flex-shrink: 0; }
.pdv-qtd-btn { width: 24px; height: 24px; border: 1px solid #ddd; background: #fff; border-radius: 5px; cursor: pointer; line-height: 1; padding: 0; }
.pdv-cart-sub { font-weight: 700; white-space: nowrap; font-size: 13px; flex-shrink: 0; }
.pdv-cart-rem { border: none; background: none; color: #c0392b; font-size: 18px; cursor: pointer; line-height: 1; padding: 0 2px; flex-shrink: 0; }
