/* Tela Contratos (16/10/2026): cartões brancos, bordas suaves e seletor segmentado. */
.ctr{display:flex;flex-direction:column;gap:16px;max-width:1200px;}
.ctr h1{margin:0;font-size:1.5rem;font-weight:700;}
.ctr-frase{margin:4px 0 0;color:#5b6b60;font-size:.95rem;}
.ctr-cartao{background:#fff;border:1px solid #e3e8e4;border-radius:12px;padding:16px;}
.ctr-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;}
.ctr-kpi{background:#fff;border:1px solid #e3e8e4;border-radius:12px;padding:14px 16px;cursor:pointer;text-align:left;font:inherit;color:inherit;}
.ctr-kpi b{display:block;font-size:1.6rem;font-weight:700;}
.ctr-kpi span{color:#5b6b60;font-size:.85rem;}
.ctr-kpi.vencendo b{color:#b26a00;}
.ctr-kpi.encerrado b{color:#6b7280;}
.ctr-seg{display:inline-flex;background:#f1f4f2;border-radius:10px;padding:3px;gap:2px;flex-wrap:wrap;}
.ctr-seg button{border:0;background:transparent;cursor:pointer;padding:7px 14px;border-radius:8px;font:inherit;font-weight:600;font-size:.9rem;color:#5b6b60;}
.ctr-seg button.ativo{background:#fff;color:#1f2a22;box-shadow:0 1px 2px rgba(15,31,20,.12);}
.ctr-filtros{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:12px;}
.ctr-filtros select,.ctr-filtros input{border:1px solid #d5ddd7;border-radius:8px;padding:7px 10px;font:inherit;font-size:.9rem;background:#fff;min-width:160px;}
.ctr-tabela{width:100%;border-collapse:collapse;font-size:.9rem;}
.ctr-tabela th{text-align:left;font-weight:600;color:#5b6b60;border-bottom:1px solid #e3e8e4;padding:8px;}
.ctr-tabela td{border-bottom:1px solid #f0f3f1;padding:8px;vertical-align:top;}
.ctr-tabela td.num{text-align:right;white-space:nowrap;}
.ctr-selo{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.78rem;font-weight:600;}
.ctr-selo.vigente{background:#e7f4ec;color:#1f6b3a;}
.ctr-selo.vencendo{background:#fff3df;color:#9a5b00;}
.ctr-selo.encerrado{background:#eef0f2;color:#5b6470;}
.ctr-abrir{border:1px solid #d5ddd7;background:#fff;border-radius:8px;padding:4px 10px;cursor:pointer;font:inherit;font-size:.85rem;}
.ctr-vazio{color:#5b6b60;padding:12px 0;}
@media (max-width:720px){
  .ctr-tabela thead{display:none;}
  .ctr-tabela tr{display:block;border-bottom:1px solid #e3e8e4;padding:8px 0;}
  .ctr-tabela td{display:flex;justify-content:space-between;gap:12px;border:0;padding:4px 0;}
  .ctr-tabela td::before{content:attr(data-rotulo);color:#5b6b60;font-weight:600;}
}

/* Redesenho de 17/10/2026: tabela cabe no cartão, vigência numa coluna,
   cópia do contrato e origem como ações compactas. */
.ctr{max-width:none;}
.ctr-embutido{gap:14px;}
.ctr-kpi{transition:border-color .15s, box-shadow .15s;}
.ctr-kpi:hover{border-color:#b9cdbf;}
.ctr-kpi.ativo{border-color:#1f6b3a;box-shadow:0 0 0 3px rgba(31,107,58,.10);}
.ctr-aviso{margin:0;font-size:.9rem;color:#9a5b00;}
.ctr-cartao{padding:0;overflow:hidden;}
.ctr-barra{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border-bottom:1px solid #eef1ef;}
.ctr-barra .ctr-filtros{margin:0;}
.ctr-filtros select{min-width:140px;max-width:220px;}
.ctr-busca{border:1px solid #d5ddd7;border-radius:8px;padding:7px 12px;font:inherit;font-size:.9rem;min-width:240px;flex:1;max-width:340px;}
.ctr-tabela-wrap{overflow-x:auto;}
.ctr-tabela{table-layout:auto;}
.ctr-tabela th{font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;padding:10px 12px;background:#fafbfa;white-space:nowrap;}
.ctr-tabela td{padding:12px;vertical-align:middle;}
.ctr-tabela tr:hover td{background:#fbfcfb;}
.ctr-col-contrato{min-width:240px;}
.ctr-col-contrato b{display:block;font-weight:600;color:#1f2a22;}
.ctr-tipo{display:block;font-size:.82rem;color:#5b6b60;margin-top:2px;}
.ctr-partes{display:block;font-size:.8rem;color:#8a9287;margin-top:1px;}
.ctr-col-data{white-space:nowrap;color:#3d4539;}
.ctr-col-acao{white-space:nowrap;}
.ctr-acao{display:inline-flex;align-items:center;gap:6px;border:1px solid #d5ddd7;background:#fff;border-radius:8px;padding:5px 10px;cursor:pointer;font:inherit;font-size:.82rem;font-weight:600;color:#1f6b3a;text-decoration:none;}
.ctr-acao svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.ctr-acao:hover{border-color:#1f6b3a;}
.ctr-acao.ok{background:#eef7f0;border-color:#cfe6d5;}
.ctr-acao.leve{color:#4b5348;}
.ctr-acao.leve:hover{color:#1f6b3a;}
.ctr-acao + .ctr-acao{margin-left:4px;}
.ctr-acao.enviando{opacity:.5;pointer-events:none;}
.ctr-sem{font-size:.82rem;color:#8a9287;}
@media (max-width:720px){ .ctr-busca{max-width:none;} .ctr-tabela td{display:flex;} }
/* Colunas com largura fixa: a tabela sempre cabe no cartão (17/10/2026). */
.ctr-tabela{table-layout:fixed;}
.ctr-tabela th:nth-child(1),.ctr-tabela td:nth-child(1){width:30%;}
.ctr-tabela th:nth-child(2),.ctr-tabela td:nth-child(2){width:15%;}
.ctr-tabela th:nth-child(3),.ctr-tabela td:nth-child(3){width:17%;}
.ctr-tabela th:nth-child(4),.ctr-tabela td:nth-child(4){width:11%;}
.ctr-tabela th:nth-child(5),.ctr-tabela td:nth-child(5){width:13%;}
.ctr-tabela th:nth-child(6),.ctr-tabela td:nth-child(6){width:9%;}
.ctr-tabela th:nth-child(7),.ctr-tabela td:nth-child(7){width:5%;text-align:center;}
.ctr-col-contrato{min-width:0;}
.ctr-col-contrato b,.ctr-tipo,.ctr-partes{overflow:hidden;text-overflow:ellipsis;}
.ctr-tabela td{overflow-wrap:anywhere;}
.ctr-col-data,.ctr-col-acao{white-space:normal;}
.ctr-acao.so-icone{padding:6px;}
.ctr-acao.so-icone span{display:none;}
@media (max-width:720px){ .ctr-tabela{table-layout:auto;} .ctr-tabela td,.ctr-tabela th{width:auto !important;} .ctr-acao.so-icone span{display:inline;} }
.ctr-tabela th:nth-child(1),.ctr-tabela td:nth-child(1){width:27%;}
.ctr-tabela th:nth-child(2),.ctr-tabela td:nth-child(2){width:14%;}
.ctr-tabela th:nth-child(3),.ctr-tabela td:nth-child(3){width:16%;}
.ctr-tabela th:nth-child(5),.ctr-tabela td:nth-child(5){width:12%;}
.ctr-tabela th:nth-child(6),.ctr-tabela td:nth-child(6){width:15%;}
.ctr-tabela td{overflow:hidden;}
.ctr-tabela td:nth-child(2){overflow-wrap:break-word;}
.ctr-tabela td:nth-child(2),.ctr-tabela td:nth-child(5){white-space:normal;}
.ctr-selo{white-space:normal;line-height:1.3;}
