/* Controle de Transportes */
#transp { position: relative; z-index: 1; max-width: 1600px; margin: 0 auto; padding: 20px 24px 90px; display: flex; flex-direction: column; gap: 16px; }
#transp[hidden] { display: none; }
@media (max-width: 700px) { #transp { padding: 14px 12px 110px; } }
@media print { #transp { display: none !important; } }
body[data-sistema="transp"] { --acento: #1F4E8C; --acento2: #163A6A; --acentoc: #DCE8F7; min-height: 100vh; background: #F1F4F8; }
body[data-sistema="transp"] .btn.primario { background: var(--acento); border-color: var(--acento); }
body[data-sistema="transp"] .btn.primario:hover { background: var(--acento2); }
#transp .topo { color: #fff; border: 1px solid rgba(255,255,255,.12); border-radius: 16px; padding: 18px 22px; background: linear-gradient(112deg, #0E2A52 0%, #1B4A87 60%, #2A64AE 100%); box-shadow: 0 14px 34px rgba(20,36,60,.18); }
#transp .topo .status-dados { color: #ffffffcc; }
#transp .topo .btn.primario { background: #fff; border-color: #fff; color: var(--acento2); }

.tp-abas { display: flex; gap: 6px; flex-wrap: wrap; border-bottom: 2px solid var(--borda2); }
.tp-aba { border: 0; background: transparent; padding: 10px 16px; font-size: 15px; font-weight: 600; cursor: pointer; color: var(--txt2); border-bottom: 3px solid transparent; margin-bottom: -2px; }
.tp-aba small { background: #E3E8EF; border-radius: 999px; padding: 0 7px; font-size: 11px; }
.tp-aba[aria-selected="true"] { color: var(--acento); border-bottom-color: var(--acento); }
#tpConteudo { display: flex; flex-direction: column; gap: 14px; }
#tpConteudo .pg-barra { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; }
#tpConteudo .pg-esp { flex: 1; }
.tp-f { min-width: 140px; }
.tp-busca { min-width: 220px; flex: 1; max-width: 340px; }
.tp-novo { min-height: 46px; font-size: 16px; padding: 10px 20px; }
.tp-kpis .cartao .val { font-size: 26px; }
.tp-tab tr.tp-dia td { background: #E4EBF4 !important; border-top: 2px solid #B7C6DA; padding: 8px 12px; }
.chip.tp-CH { background: #DCE8F7; color: #174A84; }
.chip.tp-VZ { background: #EEF0F2; color: #4B5560; }
.chip.tp-aviso { background: #FDEBD3; color: #7A3A05; }
.tp-n { font-size: 11px; font-weight: 700; color: #7A3A05; background: #FDEBD3; border-radius: 999px; padding: 0 6px; }
.tp-mais { padding: 12px; text-align: center; }
.tp-resumo { padding: 10px 12px; background: #F1F3F6; border-radius: 10px; margin-bottom: 10px; }
.tp-hist { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.tp-hist li { border-left: 4px solid var(--borda2); padding: 6px 12px; background: var(--sup); border-radius: 0 8px 8px 0; }
.tp-hist li.tp-h-ok { border-left-color: #2E8B57; }
.tp-hist li.tp-h-alt { border-left-color: #B4561B; }
.tp-hist li.tp-h-imp { border-left-color: #6B7280; }
.tp-mud { font-size: 13px; margin-top: 2px; }
.tp-mud span { color: var(--mudo); }
.tp-mud s { color: #8A1C1C; }
.tp-mot { font-size: 13px; font-style: italic; color: var(--txt2); margin-top: 2px; }
.tp-inat td { opacity: .55; }

/* verificador de container */
.tp-cv { min-height: 20px; margin: -2px 0 8px; font-size: 13px; color: var(--mudo); }
.tp-cv-ok { color: #1D5A2E; font-weight: 600; }
.tp-cv-erro { color: #A32020; font-weight: 700; background: #FBE0DE; border-radius: 8px; padding: 6px 10px; }
.tp-cv-aviso { padding: 8px 14px; }

/* lançamento em lote */
dialog.modal.tp-lote { width: min(1500px, calc(100vw - 24px)); }
.tp-lt-barra { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 8px; }
.tp-esp { flex: 1; }
.tp-lt-colar { padding: 10px 12px; margin-bottom: 8px; background: #F1F4F8; border: 1px dashed #9DB1CE; border-radius: 10px; }
.tp-lt-colar textarea { width: 100%; font: 12px/1.4 var(--mono, monospace); }
.tp-lt-wrap { overflow: auto; max-height: 52vh; border: 1px solid var(--borda2); border-radius: 10px; }
.tp-lt { border-collapse: collapse; width: 100%; font-size: 13px; }
.tp-lt th { position: sticky; top: 0; background: #E4EBF4; text-align: left; padding: 6px 6px; font-size: 11px; letter-spacing: .4px; text-transform: uppercase; z-index: 1; }
.tp-lt td { padding: 3px 4px; border-top: 1px solid #E5E9EF; vertical-align: top; }
.tp-lt input, .tp-lt select { width: 100%; min-width: 0; padding: 6px 6px; font-size: 13px; border: 1px solid var(--borda2); border-radius: 6px; background: var(--sup); color: var(--txt); }
.tp-lt td:nth-child(2) input { min-width: 128px; }
.tp-lt td:nth-child(4) select { min-width: 150px; }
.tp-lt td:nth-child(5) { min-width: 150px; white-space: nowrap; }
.tp-lt td:nth-child(8) select { min-width: 170px; }
.tp-lt td:nth-child(11) input { min-width: 130px; }
.tp-lt-cont { position: relative; }
.tp-lt-cont input { padding-right: 24px; }
.tp-lt-ck { position: absolute; right: 9px; top: 9px; font-weight: 700; }
.tp-lt-ck.ok { color: #1D5A2E; }
.tp-lt-ck.erro { color: #A32020; }
.tp-lt-n { text-align: center; width: 26px; padding-top: 9px !important; }
tr.tp-lt-erro td { background: #FBE0DE; }
tr.tp-lt-dup td { background: #FFF3CC; }
.tp-lt-msg { font-size: 11px; color: #8A1C1C; margin-top: 3px; min-width: 150px; }
