* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: Arial, Helvetica, sans-serif;
    background: #f4f4f4;
    color: #333;
    min-height: 100vh;
}

.caixa-teste {
    background: #fff;
    padding: 30px;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    max-width: 500px;
    width: 100%;
}

.caixa-teste h1 {
    font-size: 1.4rem;
    margin-bottom: 20px;
    color: #8B5A2B;
}

.caixa-teste p {
    margin-bottom: 10px;
    line-height: 1.5;
}

.caixa-teste hr {
    margin: 20px 0;
    border: none;
    border-top: 1px solid #ddd;
}

.caixa-teste ul {
    list-style: none;
    padding-left: 0;
}

.caixa-teste li {
    margin-bottom: 8px;
}

.caixa-teste a {
    color: #8B5A2B;
    text-decoration: none;
}

.caixa-teste a:hover {
    text-decoration: underline;
}


/* ---------- Login ---------- */
.pagina-login {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    background: #f4f4f4;
    padding: 20px;
}

.caixa-login {
    background: #fff;
    padding: 30px;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    width: 100%;
    max-width: 380px;
}

.caixa-login h1 {
    font-size: 1.3rem;
    color: #8B5A2B;
    margin-bottom: 5px;
    text-align: center;
}

.caixa-login .subtitulo {
    text-align: center;
    color: #777;
    margin-bottom: 20px;
    font-size: 0.9rem;
}

.caixa-login label {
    display: block;
    margin-bottom: 5px;
    font-size: 0.9rem;
    color: #444;
}

.caixa-login input {
    width: 100%;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 6px;
    margin-bottom: 15px;
    font-size: 1rem;
}

.caixa-login button {
    width: 100%;
    padding: 12px;
    background: #8B5A2B;
    color: #fff;
    border: none;
    border-radius: 6px;
    font-size: 1rem;
    cursor: pointer;
}

.caixa-login button:hover {
    background: #6f4620;
}

.alerta-erro {
    background: #fdecea;
    color: #a33;
    border: 1px solid #f5c2c0;
    padding: 10px;
    border-radius: 6px;
    margin-bottom: 15px;
    font-size: 0.9rem;
}

/* ---------- Interno ---------- */
.pagina-interna {
    background: #f4f4f4;
}

.topo {
    background: #8B5A2B;
    color: #fff;
    padding: 15px 20px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
}

.topo a {
    color: #fff;
    text-decoration: underline;
}

.conteudo {
    padding: 30px 20px;
    max-width: 900px;
    margin: 0 auto;
}


/* ---------- Página interna ---------- */
.cabecalho-pagina {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    flex-wrap: wrap;
    gap: 10px;
    width: 100%;
}

.cabecalho-pagina .grupo-botoes {
    flex-shrink: 0;
}

.cabecalho-pagina h1 {
    font-size: 1.4rem;
    color: #8B5A2B;
}

.botao, .botao-secundario {
    display: inline-block;
    padding: 10px 16px;
    border-radius: 6px;
    border: none;
    cursor: pointer;
    font-size: 0.95rem;
    text-decoration: none;
}

.botao {
    background: #8B5A2B;
    color: #fff;
}

.botao:hover { background: #6f4620; }

.botao-secundario {
    background: #eee;
    color: #333;
}

.botao-secundario:hover { background: #ddd; }

/* Formulário */
.form-cliente {
    background: #fff;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 1px 6px rgba(0,0,0,0.06);
    margin-bottom: 20px;
}

.form-cliente .linha {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 10px;
}

.form-cliente .campo {
    flex: 1 1 180px;
    display: flex;
    flex-direction: column;
}

.form-cliente .campo-grande { flex: 2 1 280px; }
.form-cliente .campo-uf     { flex: 0 0 80px; }
.form-cliente .campo-total  { flex: 1 1 100%; }

.form-cliente label {
    font-size: 0.85rem;
    color: #555;
    margin-bottom: 4px;
}

.form-cliente input,
.form-cliente select,
.form-cliente textarea {
    padding: 8px;
    border: 1px solid #ccc;
    border-radius: 6px;
    font-size: 0.95rem;
}

.acoes-form {
    display: flex;
    gap: 10px;
    margin-top: 10px;
}

/* Busca */
.form-busca {
    display: flex;
    gap: 8px;
    margin-bottom: 15px;
}

.form-busca input {
    flex: 1;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 6px;
}

/* Tabela */
.tabela-responsiva {
    width: 100%;
    overflow-x: auto;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 1px 6px rgba(0,0,0,0.06);
}

.tabela-responsiva table {
    width: 100%;
    border-collapse: collapse;
    min-width: 600px;
}

.tabela-responsiva th,
.tabela-responsiva td {
    padding: 10px 12px;
    text-align: left;
    border-bottom: 1px solid #eee;
    font-size: 0.9rem;
}

.tabela-responsiva th {
    background: #f9f6f2;
    color: #6f4620;
}

.col-acoes { white-space: nowrap; }

.link-excluir {
    background: none;
    border: none;
    color: #a33;
    cursor: pointer;
    text-decoration: underline;
    padding: 0;
    margin-left: 8px;
    font-size: 0.9rem;
}

.vazio {
    color: #777;
    padding: 20px;
    text-align: center;
    background: #fff;
    border-radius: 8px;
}

.menu-interno {
    list-style: none;
    padding: 0;
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
    margin: 20px 0;
}
.menu-interno a {
    color: #8B5A2B;
    text-decoration: none;
    font-weight: bold;
}
.menu-interno a:hover { text-decoration: underline; }

.amostra-cor {
    display: inline-block;
    width: 20px;
    height: 20px;
    border-radius: 4px;
    border: 1px solid #ccc;
}

.col-acoes a {
    margin-right: 6px;
    color: #8B5A2B;
    text-decoration: none;
}
.col-acoes a:hover { text-decoration: underline; }

.form-busca select {
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 6px;
}

/* Tags */
.tag {
    display: inline-block;
    padding: 3px 8px;
    border-radius: 12px;
    font-size: 0.75rem;
    font-weight: bold;
    color: #fff;
}
.tag-baixa    { background: #95a5a6; }
.tag-normal   { background: #3498db; }
.tag-alta     { background: #e67e22; }
.tag-urgente  { background: #e74c3c; }

.tag-aguardando  { background: #7f8c8d; }
.tag-em_producao { background: #2980b9; }
.tag-pausada     { background: #f39c12; }
.tag-concluida   { background: #27ae60; }
.tag-entregue    { background: #16a085; }
.tag-cancelada   { background: #c0392b; }

/* Cartões */
.cartao {
    background: #fff;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 1px 6px rgba(0,0,0,0.06);
    margin-bottom: 20px;
}

.cartao h2 {
    font-size: 1.1rem;
    color: #8B5A2B;
    margin-bottom: 15px;
}

/* Itens da OS no formulário */
.item-os {
    background: #f9f6f2;
    padding: 12px;
    border-radius: 8px;
    margin-bottom: 12px;
    border: 1px solid #eee;
}

.campo-pequeno { flex: 0 0 110px; }

/* Visualização */
.item-visualizacao {
    border-bottom: 1px solid #eee;
    padding: 12px 0;
}
.item-visualizacao:last-child { border-bottom: none; }

/* Anexos */
.form-anexo {
    display: flex;
    gap: 8px;
    align-items: center;
    margin: 8px 0;
    flex-wrap: wrap;
}

.galeria {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 10px;
}

.anexo {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 6px;
    padding: 8px;
    max-width: 160px;
    text-align: center;
}

.anexo img {
    max-width: 100%;
    max-height: 120px;
    border-radius: 4px;
    display: block;
    margin-bottom: 6px;
}

.anexo a {
    font-size: 0.8rem;
    color: #8B5A2B;
    text-decoration: none;
    word-break: break-all;
}

/* Kanban */
.conteudo-largo {
    width: 100%;
    max-width: 100%;
    padding: 20px;
    box-sizing: border-box;
}

body.pagina-kanban {
    overflow-x: hidden;
}

.kanban {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(260px, 1fr);
    gap: 15px;
    overflow-x: auto;
    padding-bottom: 10px;
    align-items: stretch;
    width: 100%;
}

.coluna {
    background: #f1ede8;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 220px);
    min-height: 200px;
}

.coluna-topo {
    padding: 10px 12px;
    background: #fff;
    border-radius: 8px 8px 0 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.9rem;
}

main.conteudo-largo {
    max-width: none;
}

body.pagina-kanban .conteudo-largo {
    height: auto;
    min-height: calc(100vh - 60px);
    display: flex;
    flex-direction: column;
}

body.pagina-kanban .cabecalho-pagina {
    flex-shrink: 0;
}

body.pagina-kanban .kanban {
    flex: 1;
    overflow-y: hidden;
}

.contador {
    background: #8B5A2B;
    color: #fff;
    border-radius: 10px;
    padding: 1px 8px;
    font-size: 0.75rem;
}

.coluna-cards {
    padding: 8px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    overflow-y: auto;
    min-height: 80px;
}

.card-os {
    background: #fff;
    border-radius: 6px;
    padding: 10px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.08);
    cursor: grab;
    border-left: 4px solid #ccc;
    font-size: 0.85rem;
}

.card-os.status-pendente     { border-left-color: #7f8c8d; }
.card-os.status-em_andamento { border-left-color: #2980b9; }
.card-os.status-concluido    { border-left-color: #27ae60; }
.card-os.status-bloqueado    { border-left-color: #c0392b; }

.card-os.arrastando { opacity: 0.5; }

.card-topo {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 4px;
}

.card-cliente { color: #555; margin-bottom: 4px; }
.card-prazo   { color: #777; font-size: 0.78rem; margin-bottom: 6px; }

.card-acoes {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.card-acoes a {
    color: #8B5A2B;
    text-decoration: none;
    font-size: 0.78rem;
}

.select-status {
    font-size: 0.75rem;
    padding: 3px 4px;
    border-radius: 4px;
    border: 1px solid #ccc;
    background: #fff;
}

.card-item {
    font-weight: 600;
    font-size: 0.9rem;
    margin: 2px 0 4px;
    color: #333;
}
.card-item small {
    font-weight: 400;
    color: #666;
}


/* ---------- Roteiros ---------- */
.roteiro-processos {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-top: 12px;
}

.roteiro-coluna {
    border: 1px solid #ddd;
    border-radius: 8px;
    background: #fafafa;
    padding: 10px;
}

.roteiro-coluna h3 {
    margin: 0 0 8px;
    font-size: 0.95rem;
    color: #555;
}

.lista-processos {
    list-style: none;
    margin: 0;
    padding: 4px;
    min-height: 120px;
    max-height: 320px;
    overflow-y: auto;
    background: #fff;
    border: 1px dashed #ccc;
    border-radius: 6px;
}

.lista-processos.lista-ordenada {
    border-style: solid;
    border-color: #c8a06a;
    background: #fffdf8;
}

.proc-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 8px;
    margin: 4px 2px;
    border: 1px solid #e2e2e2;
    border-radius: 6px;
    background: #fff;
    cursor: grab;
    user-select: none;
    font-size: 0.9rem;
}

.proc-item:hover {
    background: #f5f5f5;
}

.proc-item.arrastando {
    opacity: 0.5;
}

.proc-item .amostra-cor {
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 1px solid rgba(0,0,0,0.15);
}

.chip-processo.arrastando {
    opacity: 0.5;
}
.chip-processo {
    cursor: grab;
    user-select: none;
}

.menu-superior {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    padding: 8px 16px;
    background: #f4f4f4;
    border-bottom: 1px solid #ddd;
}
.menu-superior a {
    padding: 6px 12px;
    border-radius: 4px;
    text-decoration: none;
    color: #333;
    font-size: 0.9rem;
}
.menu-superior a:hover {
    background: #e0e0e0;
}
.menu-superior a.ativo {
    background: #c8a06a;
    color: #fff;
}


/* Container do kanban com scroll horizontal */
.kanban-scroll {
    width: 100%;
    overflow-x: auto;
    overflow-y: visible;
    padding-bottom: 8px;
    /* opcional: barra fina e discreta */
    scrollbar-width: thin;
}
.kanban-scroll::-webkit-scrollbar {
    height: 10px;
}
.kanban-scroll::-webkit-scrollbar-thumb {
    background: #bbb;
    border-radius: 5px;
}
.kanban-scroll::-webkit-scrollbar-track {
    background: #f0f0f0;
}

/* Colunas com largura fixa para não esticarem */
.kanban {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    min-width: max-content; /* garante que o flex não encolha */
}
.kanban .coluna {
    flex: 0 0 260px;   /* largura fixa: 260px */
    max-width: 260px;
}


.campo-slug {
    display: flex;
    gap: 6px;
    align-items: center;
}
.campo-slug input {
    flex: 1;
}
.campo-slug button {
    white-space: nowrap;
}

.slug-feedback {
    margin-top: 4px;
    font-size: 0.85rem;
    min-height: 18px;
}
.slug-feedback.slug-ok {
    color: #2e7d32;
}
.slug-feedback.slug-em-uso {
    color: #c62828;
}
.slug-feedback.slug-invalido {
    color: #c62828;
}
.slug-feedback .sugestao-slug {
    display: inline-block;
    margin-left: 6px;
    padding: 2px 8px;
    background: #f0f0f0;
    border-radius: 12px;
    text-decoration: none;
    color: #333;
    font-size: 0.82rem;
}
.slug-feedback .sugestao-slug:hover {
    background: #e0e0e0;
}

/* ============================================================
   Landing page (raiz do sistema)
   ============================================================ */

.pagina-landing {
    background: #fafafa;
    color: #222;
    margin: 0;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

.pagina-landing a {
    color: #8B5A2B;
    text-decoration: none;
}
.pagina-landing a:hover {
    text-decoration: underline;
}

/* Topo */
.landing-topo {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 32px;
    background: #fff;
    border-bottom: 1px solid #eee;
}
.landing-topo strong {
    font-size: 1.15rem;
    color: #8B5A2B;
}

/* Container comum das seções */
.landing-container {
    max-width: 720px;
    margin: 0 auto;
    padding: 0 24px;
}

/* Hero */
.landing-hero {
    padding: 60px 24px 40px;
    text-align: center;
    max-width: 720px;
    margin: 0 auto;
}
.landing-hero h1 {
    font-size: 2rem;
    margin: 0 0 16px;
    color: #2b2b2b;
    line-height: 1.2;
}
.landing-hero p {
    font-size: 1.05rem;
    color: #555;
    margin: 0 auto 28px;
    line-height: 1.5;
    max-width: 560px;
}

/* Seção de acesso do cliente */
.landing-acesso {
    max-width: 560px;
    margin: 0 auto 48px;
    padding: 24px;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 8px;
    text-align: center;
}
.landing-acesso h2 {
    margin: 0 0 6px;
    font-size: 1.2rem;
}
.landing-acesso p {
    margin: 0 0 16px;
    color: #666;
    font-size: 0.95rem;
}
.form-slug {
    display: flex;
    gap: 8px;
    justify-content: center;
}
.form-slug input {
    flex: 1;
    padding: 10px 14px;
    border: 1px solid #ccc;
    border-radius: 6px;
    font-size: 0.95rem;
}

/* Recursos */
.landing-recursos {
    max-width: 720px;
    margin: 0 auto 48px;
    padding: 0 24px;
}
.landing-recursos h2 {
    text-align: center;
    font-size: 1.4rem;
    margin: 0 0 20px;
}
.landing-recursos ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.landing-recursos li {
    background: #fff;
    padding: 12px 16px 12px 40px;
    border: 1px solid #eee;
    border-radius: 6px;
    position: relative;
    line-height: 1.4;
}
.landing-recursos li::before {
    content: "✓";
    position: absolute;
    left: 14px;
    top: 12px;
    color: #8B5A2B;
    font-weight: bold;
}

/* Contato */
.landing-contato {
    max-width: 720px;
    margin: 0 auto 48px;
    padding: 32px 24px;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 8px;
}
.landing-contato h2 {
    margin: 0 0 6px;
    font-size: 1.4rem;
    text-align: center;
}
.landing-contato > p {
    text-align: center;
    color: #666;
    margin: 0 0 24px;
}

/* Rodapé */
.landing-rodape {
    text-align: center;
    padding: 24px;
    color: #999;
    font-size: 0.85rem;
    border-top: 1px solid #eee;
    background: #fff;
}

/* Alerta de sucesso */
.alerta-sucesso {
    background: #e8f5e9;
    color: #2e7d32;
    border: 1px solid #a5d6a7;
    padding: 10px 14px;
    border-radius: 6px;
    margin-bottom: 16px;
    text-align: center;
}


/* =========================================
   Kanban — cor do card por status do processo
   ========================================= */
.card-os.status-concluido {
    background: #d4edda;              /* verde claro */
    border-left: 6px solid #27ae60;   /* faixa verde */
}

.card-os.status-em_andamento {
    background: #fff3cd;              /* amarelo claro */
    border-left: 6px solid #f1c40f;   /* faixa amarela */
}

.card-os.status-pendente {
    background: #f8d7da;              /* vermelho claro */
    border-left: 6px solid #e74c3c;   /* faixa vermelha */
}

.card-os.status-bloqueado {
    background: #d1ecf1;              /* azul claro */
    border-left: 6px solid #3498db;   /* faixa azul */
}



/* =========================================
   Tela de impressão da Fila de Produção
   ========================================= */

/* --- Na tela --- */

.pagina-impressao .cabecalho-impressao {
    display: none; /* só aparece na impressão */
}

.grupo-impressao {
    margin-bottom: 28px;
    page-break-inside: avoid; /* não quebra no meio do grupo */
}

.grupo-titulo {
    font-size: 16px;
    margin: 0 0 6px;
    color: #333;
}

.grupo-titulo small {
    font-weight: normal;
    color: #666;
}

.grupo-contador {
    font-weight: normal;
    color: #888;
    font-size: 14px;
}

.grupo-meta {
    font-size: 13px;
    color: #555;
    margin: 0 0 8px;
}

.tabela-impressao {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    background: #fff;
}

.tabela-impressao thead th {
    background: #f2f2f2;
    border: 1px solid #ccc;
    padding: 6px 8px;
    text-align: left;
    font-weight: 600;
}

.tabela-impressao tbody td {
    border: 1px solid #ddd;
    padding: 5px 8px;
}

.tabela-impressao tbody tr:nth-child(even) {
    background: #fafafa;
}

.tabela-impressao .col-centro {
    text-align: center;
    white-space: nowrap;
}

/* Linha atrasada no relatório de impressão */
.linha-atrasada-impressao {
    background: #fdecea !important;
}

/* Botão de agrupamento ativo */
.botao-secundario.ativo {
    background: #8B5A2B;
    color: #fff;
    border-color: #8B5A2B;
}



/* Wrapper do chip + campo de prazo */
.chip-processo-wrap {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 4px 6px 4px 0;
    padding: 4px 8px;
    border: 1px solid #e2e2e2;
    border-radius: 6px;
    background: #fff;
    vertical-align: middle;
}

.chip-processo-wrap .chip-processo {
    border: none;
    padding: 0;
    margin: 0;
    background: transparent;
    cursor: grab;
}

.chip-processo-wrap .chip-processo.arrastando {
    opacity: 0.5;
}

.chip-prazo {
    font-size: 0.78rem;
    padding: 3px 5px;
    border: 1px solid #ccc;
    border-radius: 4px;
    background: #fff;
    max-width: 130px;
    font-family: inherit;
}

.chip-prazo:disabled {
    background: #f5f5f5;
    color: #aaa;
    cursor: not-allowed;
}

.chip-prazo:focus {
    outline: none;
    border-color: #8B5A2B;
    box-shadow: 0 0 0 2px rgba(139, 90, 43, 0.15);
}

.chip-processo-label {
    display: inline-block;
    background: #f9f6f2;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 0.85rem;
}



/* =========================================
   Dashboard
   ========================================= */

/* ---- Grid de KPIs ---- */
.grid-kpis {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 16px;
    margin-bottom: 20px;
}

.kpi-card {
    display: flex;
    align-items: center;
    gap: 14px;
    background: #fff;
    padding: 18px 20px;
    border-radius: 10px;
    box-shadow: 0 1px 6px rgba(0,0,0,0.06);
    border-left: 5px solid #ccc;
    transition: transform 0.15s, box-shadow 0.15s;
}

.kpi-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.10);
}

.kpi-icon {
    font-size: 1.8rem;
    line-height: 1;
    width: 40px;
    text-align: center;
}

.kpi-info {
    display: flex;
    flex-direction: column;
}

.kpi-numero {
    font-size: 1.8rem;
    font-weight: 700;
    color: #333;
    line-height: 1;
}

.kpi-label {
    font-size: 0.85rem;
    color: #777;
    margin-top: 4px;
}

/* Cores por tipo de KPI */
.kpi-producao  { border-left-color: #2980b9; }
.kpi-producao  .kpi-icon { color: #2980b9; }

.kpi-atrasadas { border-left-color: #27ae60; }
.kpi-atrasadas .kpi-icon { color: #27ae60; }

.kpi-atrasadas.kpi-alerta {
    border-left-color: #c0392b;
    background: #fdecea;
}
.kpi-atrasadas.kpi-alerta .kpi-icon { color: #c0392b; }
.kpi-atrasadas.kpi-alerta .kpi-numero { color: #c0392b; }

.kpi-abertas  { border-left-color: #8B5A2B; }
.kpi-abertas  .kpi-icon { color: #8B5A2B; }

.kpi-clientes { border-left-color: #16a085; }
.kpi-clientes .kpi-icon { color: #16a085; }

/* ---- Grid de duas colunas ---- */
.grid-duas-colunas {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 20px;
}

.grid-duas-colunas .cartao {
    margin-bottom: 0;
}

/* ---- Gráfico ---- */
.grafico-wrapper {
    position: relative;
    height: 280px;
    padding: 10px 0;
}

.grafico-wrapper canvas {
    max-height: 100%;
}

/* ---- Card de contas ---- */
.contas-resumo {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 8px 0;
}

.conta-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 14px;
    background: #f9f6f2;
    border-radius: 8px;
}

.conta-label {
    color: #555;
    font-size: 0.9rem;
}

.conta-valor {
    font-size: 1.1rem;
    font-weight: 700;
    color: #333;
}

.conta-vazio {
    color: #999;
    font-weight: 400;
    font-size: 0.85rem;
}

/* ---- Grid de atalhos ---- */
.grid-atalhos {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
    gap: 10px;
}

.atalho {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 14px 8px;
    background: #f9f6f2;
    border-radius: 8px;
    text-decoration: none;
    color: #333;
    transition: background 0.15s, transform 0.15s;
    border: 1px solid transparent;
}

.atalho:hover {
    background: #f1ede8;
    border-color: #c8a06a;
    transform: translateY(-2px);
}

.atalho-icon {
    font-size: 1.6rem;
    line-height: 1;
}

.atalho-label {
    font-size: 0.82rem;
    text-align: center;
    color: #555;
    font-weight: 600;
}

/* ---- Tabela do dashboard ---- */
.tabela-dashboard {
    width: 100%;
    border-collapse: collapse;
    min-width: 480px;
}

.tabela-dashboard th,
.tabela-dashboard td {
    padding: 9px 10px;
    text-align: left;
    border-bottom: 1px solid #f0f0f0;
    font-size: 0.88rem;
}

.tabela-dashboard th {
    background: #f9f6f2;
    color: #6f4620;
    font-weight: 600;
    white-space: nowrap;
}

.tabela-dashboard tbody tr:hover {
    background: #fcfaf7;
}

.tabela-dashboard a {
    color: #8B5A2B;
    text-decoration: none;
    font-weight: 600;
}

.tabela-dashboard a:hover {
    text-decoration: underline;
}

/* ---- Responsividade ---- */
@media (max-width: 900px) {
    .grid-duas-colunas {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    .grid-kpis {
        grid-template-columns: 1fr 1fr;
        gap: 12px;
    }

    .kpi-card {
        padding: 14px 12px;
        gap: 10px;
    }

    .kpi-icon {
        font-size: 1.4rem;
        width: 32px;
    }

    .kpi-numero {
        font-size: 1.4rem;
    }

    .kpi-label {
        font-size: 0.75rem;
    }

    .grafico-wrapper {
        height: 220px;
    }
}

@media (max-width: 400px) {
    .grid-kpis {
        grid-template-columns: 1fr;
    }

    .grid-atalhos {
        grid-template-columns: 1fr 1fr;
    }
}


/* --- Na impressão --- */
@media print {
    /* Esconde tudo que não deve sair no papel */
    .nao-imprimir,
    header.topo,
    nav.menu-superior,
    .cabecalho-pagina {
        display: none !important;
    }

    /* Mostra o cabeçalho de impressão */
    .cabecalho-impressao {
        display: block !important;
        margin-bottom: 16px;
        border-bottom: 2px solid #333;
        padding-bottom: 8px;
    }

    .cabecalho-impressao h2 {
        margin: 0 0 4px;
        font-size: 18px;
    }

    .cabecalho-impressao p {
        margin: 0;
        font-size: 12px;
        color: #444;
    }

    /* Ajustes gerais de layout para o papel */
    body {
        background: #fff !important;
        color: #000;
        font-size: 12px;
    }

    main.conteudo {
        padding: 0 !important;
        margin: 0 !important;
        width: 100% !important;
        max-width: none !important;
    }

    /* Tabelas compactas */
    .grupo-impressao {
        margin-bottom: 16px;
    }

    .grupo-titulo {
        font-size: 14px;
        margin-bottom: 4px;
    }

    .grupo-meta {
        font-size: 11px;
        margin-bottom: 4px;
    }

    .tabela-impressao {
        font-size: 11px;
    }

    .tabela-impressao thead th,
    .tabela-impressao tbody td {
        padding: 3px 5px;
        border: 1px solid #999;
    }

    /* Garante que as cores de fundo saiam no papel (se o usuário permitir) */
    .tabela-impressao thead th {
        background: #eee !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    /* Força quebra de página entre grupos, se preferir */
    /* .grupo-impressao { page-break-after: always; } */

    /* Remove sombras e efeitos */
    * {
        box-shadow: none !important;
        text-shadow: none !important;
    }


    .linha-atrasada-impressao {
        background: #fdecea !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
}


/* =========================================
   Dropdown de impressão (Kanban / Fila de OS)
   ========================================= */

.grupo-botoes {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

/* Faz <button> herdar o visual de .botao-secundario (que no seu CSS é só para <a>) */
button.botao-secundario,
button.botao {
    font-family: inherit;
    font-size: 0.95rem;
    line-height: normal;
    display: inline-block;
    padding: 10px 16px;
    border: none;
    border-radius: 6px;
    background: #eee;
    color: #333;
    cursor: pointer;
    text-decoration: none;
}

button.botao-secundario:hover {
    background: #ddd;
}

button.botao {
    background: #8B5A2B;
    color: #fff;
}

button.botao:hover {
    background: #6f4620;
}

/* Wrapper do dropdown — apenas posicionamento, sem altura forçada */
.dropdown-impressao {
    position: relative;
    display: inline-block;
    align-self: flex-start;   /* não estica dentro de flex */
    height: auto;
    min-height: 0;
    line-height: normal;
}

/* Botão do dropdown */
.dropdown-impressao > button {
    display: inline-block;
}

/* Menu suspenso — posicionado logo abaixo do botão */
.dropdown-conteudo {
    display: none;
    position: absolute;
    right: 0;
    top: 100%;               /* cola na base do wrapper */
    /* o espaço entre botão e menu agora é PADDING interno do menu,
       então o mouse nunca "sai" do menu ao descer */
    padding-top: 4px;
    margin-top: 0;
    min-width: 200px;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    z-index: 1000;
    /* NÃO usar overflow: hidden aqui, senão o padding não "colou" no menu */
    overflow: visible;
}

/* Os links internos continuam dentro do menu, com o padding-top aplicado */
.dropdown-conteudo a {
    display: block;
    padding: 10px 14px;
    color: #333;
    text-decoration: none;
    font-size: 0.9rem;
    white-space: nowrap;
    border-bottom: 1px solid #f0f0f0;
}
/* Abre ao clicar (classe .aberto é adicionada via JS) */
.dropdown-conteudo.aberto {
    display: block;
}

/* Primeiro link ganha o arredondamento superior */
.dropdown-conteudo a:first-child {
    border-top-left-radius: 6px;
    border-top-right-radius: 6px;
}

/* Último link ganha o arredondamento inferior */
.dropdown-conteudo a:last-child {
    border-bottom-left-radius: 6px;
    border-bottom-right-radius: 6px;
}

/* Bônus: continua abrindo no hover também */
.dropdown-impressao:hover .dropdown-conteudo,
.dropdown-impressao:focus-within .dropdown-conteudo {
    display: block;
}

/* Links dentro do dropdown */
.dropdown-conteudo a {
    display: block;
    padding: 10px 14px;
    color: #333;
    text-decoration: none;
    font-size: 0.9rem;
    white-space: nowrap;
    border-bottom: 1px solid #f0f0f0;
}

.dropdown-conteudo a:last-child {
    border-bottom: none;
}

.dropdown-conteudo a:hover {
    background: #f7f0e9;
    color: #8B5A2B;
}

/* Botão ativo (Kanban / Fila de OS) */
.botao-secundario.ativo,
button.botao-secundario.ativo {
    background: #8B5A2B;
    color: #fff;
}

.botao-secundario.ativo:hover,
button.botao-secundario.ativo:hover {
    background: #6f4620;
}


/* =========================================
   Programação da Produção
   ========================================= */

.texto-ajuda {
    color: #666;
    font-size: 0.9rem;
    margin-bottom: 16px;
}

.tabela-programacao {
    width: 100%;
    border-collapse: collapse;
    min-width: 760px;
}

.tabela-programacao th,
.tabela-programacao td {
    padding: 10px 12px;
    text-align: left;
    border-bottom: 1px solid #eee;
    font-size: 0.9rem;
    vertical-align: middle;
}

.tabela-programacao th {
    background: #f9f6f2;
    color: #6f4620;
    font-weight: 600;
    white-space: nowrap;
}

.tabela-programacao tbody tr:hover {
    background: #fcfaf7;
}

/* Linha atrasada */
.linha-atrasada {
    background: #fdecea;
}

.linha-atrasada:hover {
    background: #fbdcd7;
}

/* Input de prazo de produção */
.input-prazo-producao {
    padding: 6px 8px;
    border: 1px solid #ccc;
    border-radius: 6px;
    font-size: 0.9rem;
    font-family: inherit;
    width: 100%;
    max-width: 160px;
}

.input-prazo-producao:focus {
    outline: none;
    border-color: #8B5A2B;
    box-shadow: 0 0 0 2px rgba(139, 90, 43, 0.15);
}

/* Status temporário abaixo do input */
.status-prazo {
    display: block;
    font-size: 0.75rem;
    margin-top: 2px;
    min-height: 14px;
}

/* Ícone de atraso */
.icone-atraso {
    display: inline-block;
    color: #c0392b;
    font-weight: bold;
    margin-left: 4px;
    cursor: help;
    animation: pulsar 1.5s ease-in-out infinite;
}

/* Prazo de produção atrasado no card do Kanban */
.card-prazo-atrasado {
    color: #c0392b;
    font-weight: 600;
}

@keyframes pulsar {
    0%, 100% { opacity: 1; }
    50%      { opacity: 0.4; }
}



/* =========================================
   Contas a Pagar / Receber
   ========================================= */

/* ---- Abas por tipo ---- */
.abas-contas {
    display: flex;
    gap: 4px;
    margin-bottom: 16px;
    border-bottom: 2px solid #eee;
}

.aba {
    display: inline-block;
    padding: 8px 18px;
    text-decoration: none;
    color: #555;
    font-size: 0.95rem;
    border-bottom: 3px solid transparent;
    margin-bottom: -2px;
    transition: color 0.15s, border-color 0.15s;
}

.aba:hover {
    color: #8B5A2B;
}

.aba-ativa {
    color: #8B5A2B;
    font-weight: 600;
    border-bottom-color: #8B5A2B;
}

/* ---- Tabela de contas ---- */
.tabela-contas {
    width: 100%;
    border-collapse: collapse;
    min-width: 900px;
}

.tabela-contas th,
.tabela-contas td {
    padding: 9px 10px;
    text-align: left;
    border-bottom: 1px solid #f0f0f0;
    font-size: 0.88rem;
    vertical-align: middle;
}

.tabela-contas th {
    background: #f9f6f2;
    color: #6f4620;
    font-weight: 600;
    white-space: nowrap;
}

.tabela-contas tbody tr:hover {
    background: #fcfaf7;
}

.tabela-contas a {
    color: #8B5A2B;
    text-decoration: none;
}

.tabela-contas a:hover {
    text-decoration: underline;
}

/* ---- Parcelas (na tela de ver conta) ---- */
.parcela-bloco {
    border: 1px solid #eee;
    border-radius: 8px;
    padding: 14px;
    margin-bottom: 12px;
    background: #fafafa;
}

.parcela-bloco.parcela-atrasada {
    background: #fdecea;
    border-color: #f5c2c0;
}

.parcela-bloco.parcela-cancelada {
    background: #f5f5f5;
    opacity: 0.7;
}

.parcela-bloco.parcela-cancelada .parcela-titulo strong,
.parcela-bloco.parcela-cancelada .parcela-valores {
    text-decoration: line-through;
    color: #999;
}

.parcela-cabecalho {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 8px;
}

.parcela-titulo {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.parcela-titulo strong {
    font-size: 1rem;
    color: #333;
}

.parcela-venc {
    font-size: 0.82rem;
    color: #666;
}

.parcela-valores {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    margin-bottom: 12px;
    font-size: 0.88rem;
    color: #444;
}

.parcela-valores strong {
    color: #333;
}

/* Formulário de baixa */
.parcela-baixa {
    margin-bottom: 8px;
}

.parcela-baixa summary {
    cursor: pointer;
    list-style: none;
    display: inline-block;
}

.parcela-baixa summary::-webkit-details-marker {
    display: none;
}

.parcela-baixa[open] summary {
    background: #8B5A2B;
    color: #fff;
}

.form-baixa {
    margin-top: 10px;
    padding: 12px;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 6px;
}

/* Movimentos */
.movimentos-lista {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px dashed #ddd;
    font-size: 0.85rem;
}

.movimentos-lista strong {
    display: block;
    margin-bottom: 6px;
    color: #555;
}

.movimentos-lista ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.movimentos-lista li {
    padding: 6px 0;
    border-bottom: 1px solid #f0f0f0;
    color: #555;
}

.movimentos-lista li:last-child {
    border-bottom: none;
}

.movimentos-lista small {
    color: #999;
    margin-left: 6px;
}

/* ---- Formulário de parcelas (contas_form) ---- */
.gerador-parcelas {
    background: #f9f6f2;
    padding: 12px;
    border-radius: 8px;
    margin-bottom: 12px;
    align-items: flex-end;
}

.parcela-linha {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 6px;
    margin-bottom: 8px;
}

.parcela-linha input[type="text"],
.parcela-linha input[type="date"] {
    padding: 6px 8px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 0.9rem;
}

.parcela-linha input.parcela-valor {
    width: 120px;
    text-align: right;
}

.parcela-numero {
    font-weight: 600;
    color: #8B5A2B;
    min-width: 30px;
}

/* ---- Responsividade ---- */
@media (max-width: 700px) {
    .parcela-valores {
        flex-direction: column;
        gap: 4px;
    }

    .parcela-linha {
        flex-wrap: wrap;
    }

    .parcela-linha input.parcela-valor {
        width: 100%;
    }

    .gerador-parcelas {
        flex-direction: column;
        align-items: stretch;
    }
}


/* Responsividade */
@media (max-width: 600px) {
    .landing-hero { padding: 40px 20px 24px; }
    .landing-hero h1 { font-size: 1.55rem; }
    .form-slug { flex-direction: column; }
    .form-slug button { width: 100%; }
    .landing-topo { padding: 12px 16px; }
    .landing-recursos,
    .landing-contato,
    .landing-acesso { margin-bottom: 32px; }
}

@media (max-width: 700px) {
    .roteiro-processos {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 480px) {
    .topo {
        flex-direction: column;
        align-items: flex-start;
    }

    .caixa-teste {
        padding: 20px;
    }
    .caixa-teste h1 {
        font-size: 1.2rem;
    }
}

/* =========================================
   Filtros de data + atalhos (tela de contas)
   ========================================= */

/* O form de filtros ganha quebra de linha automática */
.form-filtros {
    flex-wrap: wrap;
}

/* Agrupamento dos campos de data (select + De + Até) */
.filtro-data {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 2px 6px;
    border-radius: 6px;
    background: #f9f6f2;
    border: 1px dashed #ddd;
}

.filtro-data select,
.filtro-data input[type="date"] {
    padding: 8px;
    border: 1px solid #ccc;
    border-radius: 6px;
    font-size: 0.9rem;
    background: #fff;
}

.filtro-data .select-data-tipo {
    min-width: 165px;
}

.filtro-data input[type="date"] {
    min-width: 135px;
}

/* Linha de atalhos */
.atalhos-data {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: -6px 0 18px;
    padding: 8px 0;
}

.atalhos-label {
    font-size: 0.85rem;
    color: #777;
    margin-right: 4px;
}

.atalho-data {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 12px;
    background: #fff;
    color: #555;
    border: 1px solid #ddd;
    border-radius: 20px;
    font-size: 0.82rem;
    text-decoration: none;
    transition: background 0.15s, border-color 0.15s, color 0.15s;
    white-space: nowrap;
}

.atalho-data:hover {
    background: #f9f6f2;
    border-color: #c8a06a;
    color: #8B5A2B;
}

.atalho-data.atalho-ativo {
    background: #8B5A2B;
    border-color: #8B5A2B;
    color: #fff;
    font-weight: 600;
}

.atalho-data.atalho-ativo:hover {
    background: #6f4620;
    border-color: #6f4620;
    color: #fff;
}

/* ---- Responsividade ---- */
@media (max-width: 800px) {
    .filtro-data {
        flex-basis: 100%;
        flex-wrap: wrap;
    }

    .filtro-data .select-data-tipo,
    .filtro-data input[type="date"] {
        flex: 1 1 140px;
    }
}

@media (max-width: 600px) {
    .atalhos-data {
        gap: 6px;
    }

    .atalho-data {
        padding: 5px 10px;
        font-size: 0.78rem;
    }

    .atalhos-label {
        flex-basis: 100%;
    }
}

.link-entrar-como,
.link-reset,
.link-excluir {
    background: none;
    border: none;
    padding: 0;
    margin: 0 6px 0 0;
    color: #8B5A2B;
    font: inherit;
    cursor: pointer;
    text-decoration: underline;
}

.link-entrar-como:hover {
    color: #5c3a1c;
}

.link-desabilitado {
    color: #bbb;
    margin: 0 6px 0 0;
    cursor: not-allowed;
    text-decoration: line-through;
}

.faixa-super-admin {
    background: #8B5A2B;
    color: #fff;
    padding: 10px 16px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    font-size: 0.9rem;
    position: sticky;
    top: 0;
    z-index: 1000;
}

.faixa-super-admin .botao-sair-entrar-como {
    background: #fff;
    color: #8B5A2B;
    border: none;
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 0.85rem;
    font-weight: bold;
    cursor: pointer;
}

.faixa-super-admin .botao-sair-entrar-como:hover {
    background: #f3e6d8;
}

@media (max-width: 600px) {
    .faixa-super-admin {
        flex-direction: column;
        align-items: flex-start;
        font-size: 0.82rem;
    }
}

/* Link de voltar na tela de login */
.voltar-inicio {
    margin-top: 22px;
    text-align: center;
    font-size: 0.88rem;
    line-height: 1.4;
}

.voltar-inicio a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #8B5A2B;
    text-decoration: none;
    padding: 8px 14px;
    border-radius: 6px;
    transition: background-color 0.15s, color 0.15s;
}

.voltar-inicio a:hover {
    background-color: #f3e6d8;
    color: #5c3a1c;
    text-decoration: none;
}

.voltar-inicio a:active {
    background-color: #ead9c3;
}

.voltar-inicio a .seta {
    font-size: 1rem;
    line-height: 1;
    transition: transform 0.15s;
}

.voltar-inicio a:hover .seta {
    transform: translateX(-3px);
}


/* =========================================
   Auditoria — tags de ação
   ========================================= */

.tag-entrou {
    background: #27ae60; /* verde */
}

.tag-saiu {
    background: #7f8c8d; /* cinza */
}

/* Coluna de user-agent: trunca e mostra "..." */
.ua-cell {
    max-width: 260px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.82rem;
    color: #666;
}

/* =========================================
   Auditoria — tags de ação (todas)
   ========================================= */

/* Já existentes */
.tag-entrou { background: #27ae60; }  /* verde  */
.tag-saiu   { background: #7f8c8d; }  /* cinza  */

/* Novas */
.tag-login-admin        { background: #2980b9; }  /* azul    */
.tag-logout-admin       { background: #34495e; }  /* escuro  */
.tag-criou-marcenaria   { background: #16a085; }  /* teal    */
.tag-editou-marcenaria  { background: #e67e22; }  /* laranja */
.tag-excluiu-marcenaria { background: #c0392b; }  /* vermelho */

/* =========================================
   Programação da Produção — status do PROCESSO
   (valores do ENUM os_processos.status)
   ========================================= */

.tag-pendente      { background: #7f8c8d; }  /* cinza   — aguardando início   */
.tag-em_andamento  { background: #2980b9; }  /* azul    — em execução          */
.tag-concluido     { background: #27ae60; }  /* verde   — finalizado           */
.tag-bloqueado     { background: #c0392b; }  /* vermelho — travado/impedido    */


/* ===================== DASHBOARD FINANCEIRO ===================== */
.grid-graficos {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-top: 20px;
}

.card-grafico {
    display: flex;
    flex-direction: column;
    min-height: 360px;
}

.card-grafico-largo {
    grid-column: span 2;
}

.card-grafico h2 {
    margin: 0 0 4px;
    font-size: 1.05rem;
}

.grafico-sub {
    margin: 0 0 14px;
    font-size: 0.82rem;
    color: #8a7a68;
}

.grafico-container {
    position: relative;
    flex: 1;
    min-height: 280px;
}

.grafico-container-pizza {
    min-height: 260px;
}

@media (max-width: 900px) {
    .grid-graficos { grid-template-columns: 1fr; }
    .card-grafico-largo { grid-column: span 1; }
    .grafico-container { min-height: 240px; }
}



/* ===================== BOTÃO COM DESTAQUE LEVE ===================== */
.btn-destaque-leve {
    background: #F5E6D3;              /* bege claro */
    color: #6B4423;                    /* marrom escuro */
    border: 1.5px solid #D4A574;       /* dourado suave */
    font-weight: 600;
    transition: all 0.2s ease;
    box-shadow: 0 1px 2px rgba(139, 90, 43, 0.08);
}

.btn-destaque-leve:hover {
    background: #EDD9BF;               /* bege um pouco mais escuro */
    border-color: #B8884F;
    box-shadow: 0 2px 6px rgba(139, 90, 43, 0.18);
    transform: translateY(-1px);
}

.btn-destaque-leve:active {
    transform: translateY(0);
    box-shadow: 0 1px 2px rgba(139, 90, 43, 0.15);
}

/* ===================== HOVER EM LINHAS DE TABELA ===================== */

/* Hover padrão em qualquer linha de tabela dentro de .tabela-responsiva */
.tabela-responsiva tbody tr {
    transition: background-color 0.15s ease, box-shadow 0.15s ease;
}

.tabela-responsiva tbody tr:hover {
    background-color: #e6ba7e9a;                /* bege bem claro */
    box-shadow: inset 3px 0 0 0 #D4A574;      /* barra dourada à esquerda */
}

/* Linha atrasada: hover com tom avermelhado suave */
.tabela-responsiva tbody tr.linha-atrasada:hover {
    background-color: #FDECEC;                /* rosa bem claro */
    box-shadow: inset 3px 0 0 0 #C62828;      /* barra vermelha à esquerda */
}

/* Se quiser cursor de "mãozinha" quando a linha é clicável,
   descomente a linha abaixo: */
/*
.tabela-responsiva tbody tr:hover {
    cursor: pointer;
}
*/

/* Opcional: suaviza também o hover nos links dentro da linha */
.tabela-responsiva tbody tr:hover a {
    text-decoration: underline;
}


