/* Transporte em Saúde */
.ts .l-conteudo{ gap:var(--l-e4) }
.op-tr-page{ display:flex; flex-direction:column; gap:var(--l-e4) }
.op-tr-page.hidden{ display:none }
.ts-cpf{ flex:0 1 260px }
.ts-upper{ text-transform:uppercase }
.l-tab :is(th, td).ts-dir{ text-align:right }
.ts-cancelada td{ color:var(--l-texto-3) }
.ts-cancelada td:first-child{ box-shadow:inset 3px 0 0 var(--l-erro) }

/* autocompletar dos campos configurados */
.ts-ac-wrap{ position:relative }
.ts-ac-wrap input{ width:100%; padding-right:32px }
.ts-ac-seta{ position:absolute; right:6px; top:50%; width:22px; height:22px; margin-top:-11px; border:0; background:none; cursor:pointer }
.ts-ac-seta::before{ content:""; display:block; margin:auto; width:0; height:0; border-left:5px solid transparent; border-right:5px solid transparent; border-top:6px solid var(--l-texto-3) }
.ts-ac-dropdown{ display:none }
.ts-ac-dropdown.open{ display:block }
.ts-ac-item{ padding:8px var(--l-e4); cursor:pointer; font-size:var(--l-t-corpo) }
.ts-ac-item:hover{ background:var(--l-sup-2) }
.ts-ac-item strong{ font-weight:600; color:var(--l-marca-tinta) }

/* avisos em linha (busca do paciente, salvar) */
.ts-alert{ display:none; font-size:var(--l-t-peq) }
.ts-alert.show{ display:block; flex-basis:100%; padding:var(--l-e2) var(--l-e3); border-radius:var(--l-raio-1) }
.ts-alert-success{ background:var(--l-ok-fundo); color:var(--l-ok) }
.ts-alert-warn{ background:var(--l-atencao-fundo); color:var(--l-atencao) }
.ts-alert-error{ background:var(--l-erro-fundo); color:var(--l-erro) }
.ts-invalid, .ts-invalid:focus{ border-color:var(--l-erro) !important; box-shadow:0 0 0 3px var(--l-erro-fundo) !important }
.criterio-box.ts-invalid{ border:1px solid var(--l-erro); border-radius:var(--l-raio-2); padding:var(--l-e2) }

/* acompanhante */
.ts-liga{ display:inline-flex; align-items:center; gap:var(--l-e2); font-weight:500; cursor:pointer; text-transform:none; letter-spacing:0 }
.ts-criterios{ display:flex; flex-wrap:wrap; gap:var(--l-e2) }
.criterio-item{ display:inline-flex; align-items:center; gap:6px; height:32px; padding:0 12px; border:1px solid var(--l-borda); border-radius:var(--l-raio-pilula); font-size:var(--l-t-peq); font-weight:400; text-transform:none; letter-spacing:0; color:var(--l-texto-2); cursor:pointer }
.criterio-item:has(input:checked), .criterio-item.sel{ border-color:transparent; background:var(--l-marca-suave); color:var(--l-marca-tinta); font-weight:500 }
.ts-escolha{ border:1px solid var(--l-borda); border-radius:var(--l-raio-2); background:var(--l-sup) }

/* barra de salvar fica à vista */
.ts-commit{ position:sticky; bottom:0; z-index:5; display:flex; flex-wrap:wrap; align-items:center; gap:var(--l-e3); padding:var(--l-e3) var(--l-e5); border:1px solid var(--l-borda); border-radius:var(--l-raio-2); background:var(--l-sup); box-shadow:var(--l-sombra-flutua) }

/* comprovante */
.ts-comp-corpo{ display:flex; flex-direction:column; gap:var(--l-e3) }
.ts-comp-corpo h4{ margin:var(--l-e2) 0 0; font-size:var(--l-t-peq); font-weight:600; color:var(--l-texto-2) }
.ts-comp-corpo .l-dados .l-linha-toda{ grid-column:1 / -1 }
.ts-comp-acoes{ display:flex; flex-wrap:wrap; gap:var(--l-e2); margin:0 }
.ts-resumo{ display:flex; flex-direction:column; gap:var(--l-e2) }
.ts-resumo .l-resumo{ margin:0 }
.ts-center-msg ul{ margin:var(--l-e2) 0 0; padding-left:18px }
.ts-erro{ color:var(--l-erro) }
#ts-acomp-section:not(.hidden){ display:flex; flex-direction:column; gap:var(--l-e4) }
