/* Formulários redesenhados (Editar Ordem, Novo Carregamento) — mesmo sistema visual de "Enviar ao
   fiscal" (Literata nos títulos, Albert Sans no corpo, cores derivadas da cor base escolhida na
   engrenagem, rem em tudo pra respeitar o tamanho de fonte do usuário). Assinatura: o quadro
   "Valores" na lateral. */
.oe{
    --oe-base: var(--godi-base, #004080);
    --oe-acao: var(--oe-base);
    --oe-tinta: #15233b;
    --oe-grafite: #56616f;      /* 6,2:1 sobre branco */
    --oe-linha: #dfe4eb;
    --oe-campo-borda: #b9c2cd;  /* 3:1 sobre branco (borda de controle, WCAG 1.4.11) */
    --oe-papel: #ffffff;
    --oe-suave: #f6f8fb;
    --oe-folha: var(--godi-content-bg, #eef1f5);
    --oe-ok: #1d7a55;
    --oe-pend: #b3261e;
    --oe-atencao: #8a5300;
    --oe-raio: 14px;
    font-family: 'Albert Sans', 'Source Sans Pro', system-ui, sans-serif;
    color: var(--oe-tinta);
}
body.dark-mode .oe{
    --oe-acao: color-mix(in srgb, var(--godi-base, #004080) 30%, #ffffff);
    --oe-tinta: #e8ecf2;
    --oe-grafite: #aab4c0;
    --oe-linha: #4b545c;
    --oe-campo-borda: #6c757d;
    --oe-papel: #343a40;
    --oe-suave: #3a4147;
    --oe-folha: #454d55;
    --oe-ok: #52c493;
    --oe-pend: #ff8f85;
    --oe-atencao: #f2b552;
}

/* ---------- Cabeçalho: a ordem é uma viagem ---------- */
.oe-cabeca{
    background: var(--oe-papel); border-radius: var(--oe-raio);
    box-shadow: 0 1px 2px rgba(21, 35, 59, .06), 0 18px 40px -30px rgba(21, 35, 59, .45);
    padding: 2rem 2.5rem; margin-bottom: 1.5rem;
    display: flex; align-items: flex-end; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap;
}
.oe-sobretitulo{ font-size: .6875rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--oe-grafite); margin: 0 0 .7rem; }
.oe-sobretitulo .oe-sep{ margin: 0 .55em; opacity: .55; }
.oe-titulo{ font-family: 'Literata', Georgia, serif; font-weight: 600; font-size: 2.4rem; line-height: 1; letter-spacing: -.015em; margin: 0 0 .9rem; color: var(--oe-tinta); }
.oe-rota{ display: flex; align-items: center; flex-wrap: wrap; gap: .4rem .9rem; font-size: 1.1rem; margin: 0; }
.oe-rota__ponta{ font-weight: 600; white-space: nowrap; }
.oe-rota__ponta small{ margin-left: .4rem; padding: .05rem .35rem; border: 1px solid var(--oe-linha); border-radius: 5px; font-size: .6875rem; font-weight: 700; letter-spacing: .08em; color: var(--oe-grafite); }
.oe-rota__ponta--vazia{ font-weight: 500; font-style: italic; color: var(--oe-grafite); }
.oe-rota__trajeto{ position: relative; flex: 0 1 8rem; min-width: 2.5rem; height: 2px; background: repeating-linear-gradient(90deg, color-mix(in srgb, var(--oe-acao) 55%, transparent) 0 7px, transparent 7px 13px); }
.oe-rota__trajeto::after{ content: ''; position: absolute; right: -1px; top: 50%; width: 8px; height: 8px; border-top: 2px solid var(--oe-acao); border-right: 2px solid var(--oe-acao); transform: translateY(-50%) rotate(45deg); }
.oe-cabeca > div:first-child{ flex: 1 1 28rem; min-width: 0; }
.oe-cabeca__meta{ font-size: .85rem; color: var(--oe-grafite); line-height: 1.6; text-align: right; }
.oe-cabeca__meta a{ color: var(--oe-acao); font-weight: 600; }

/* ---------- Grade: formulário + lateral ---------- */
.oe-grade{ display: grid; grid-template-columns: minmax(0, 1fr) 20rem; gap: 1.5rem; align-items: start; }
.oe-lateral{ position: sticky; top: 1rem; display: flex; flex-direction: column; gap: 1rem; }

.oe-secao{
    background: var(--oe-papel); border-radius: var(--oe-raio); margin-bottom: 1.25rem;
    box-shadow: 0 1px 2px rgba(21, 35, 59, .06);
    padding: 2rem 2.25rem 2.25rem; scroll-margin-top: 1rem;
    transition: box-shadow .25s ease;
}
.oe-secao--alvo{ box-shadow: 0 0 0 3px color-mix(in srgb, var(--oe-acao) 35%, transparent); }
.oe-secao__cabeca{ margin-bottom: 1.5rem; }
.oe-secao__titulo{ font-family: 'Literata', Georgia, serif; font-weight: 600; font-size: 1.35rem; line-height: 1.2; margin: 0 0 .3rem; color: var(--oe-tinta); }
.oe-secao__descricao{ margin: 0; font-size: .9rem; color: var(--oe-grafite); }
.oe-subtitulo{ font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--oe-grafite); margin: 1.75rem 0 .9rem; padding-top: 1.5rem; border-top: 1px solid var(--oe-linha); }

.oe-linha{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 1.25rem 1.25rem; }
.oe-c3{ grid-column: span 3; } .oe-c4{ grid-column: span 4; } .oe-c5{ grid-column: span 5; }
.oe-c6{ grid-column: span 6; } .oe-c8{ grid-column: span 8; } .oe-c9{ grid-column: span 9; } .oe-c12{ grid-column: span 12; }

/* ---------- Campos ---------- */
.oe-campo{ min-width: 0; margin: 0; padding: 0; border: 0; }
.oe-rotulo{ display: block; font-size: .875rem; font-weight: 600; color: var(--oe-tinta); margin: 0 0 .45rem; line-height: 1.35; }
.oe-req{ color: var(--oe-pend); margin-left: .1rem; }
.oe-ajuda{ font-size: .8rem; color: var(--oe-grafite); margin: .4rem 0 0; line-height: 1.45; }
.oe-erro{ display: flex; align-items: flex-start; gap: .4rem; font-size: .8125rem; font-weight: 600; color: var(--oe-pend); margin: .45rem 0 0; line-height: 1.4; }
.oe-erro::before{ content: '!'; flex: 0 0 auto; display: grid; place-items: center; width: 1rem; height: 1rem; margin-top: .05rem; border-radius: 50%; background: var(--oe-pend); color: var(--oe-papel); font-size: .65rem; font-weight: 800; }

.oe .oe-input, .oe textarea.oe-input{
    display: block; width: 100%; min-height: 2.875rem; padding: .6rem .85rem;
    font: inherit; font-size: .95rem; color: var(--oe-tinta);
    background: var(--oe-papel); border: 1px solid var(--oe-campo-borda); border-radius: 10px;
    transition: border-color .15s, box-shadow .15s, background-color .15s;
}
.oe textarea.oe-input{ min-height: 5.5rem; resize: vertical; line-height: 1.5; }
.oe .oe-input:hover{ border-color: color-mix(in srgb, var(--oe-acao) 45%, var(--oe-campo-borda)); }
.oe .oe-input:focus{ outline: none; border-color: var(--oe-acao); box-shadow: 0 0 0 3px color-mix(in srgb, var(--oe-acao) 22%, transparent); }
.oe .oe-input[readonly]{ background: var(--oe-suave); color: var(--oe-grafite); }
.oe-campo--erro .oe-input, .oe-campo--erro .select2-selection{ border-color: var(--oe-pend) !important; }
.oe-campo--erro .oe-input:focus{ box-shadow: 0 0 0 3px color-mix(in srgb, var(--oe-pend) 22%, transparent); }

.oe-moeda, .oe-sufixo{ position: relative; }
.oe-moeda > span{ position: absolute; left: .85rem; top: 50%; transform: translateY(-50%); font-size: .85rem; font-weight: 600; color: var(--oe-grafite); pointer-events: none; }
.oe-moeda .oe-input{ padding-left: 2.4rem; font-variant-numeric: tabular-nums; }
.oe-sufixo > span{ position: absolute; right: .85rem; top: 50%; transform: translateY(-50%); font-size: .85rem; font-weight: 600; color: var(--oe-grafite); pointer-events: none; }
.oe-sufixo .oe-input{ padding-right: 3.2rem; font-variant-numeric: tabular-nums; }

/* Select2 (combos do template) no mesmo desenho dos campos. */
.oe .select2-container--bootstrap4 .select2-selection{ min-height: 2.875rem; border-color: var(--oe-campo-borda); border-radius: 10px; background: var(--oe-papel); transition: border-color .15s, box-shadow .15s; }
.oe .select2-container--bootstrap4 .select2-selection--single .select2-selection__rendered{ line-height: 2.75rem; padding-left: .85rem; color: var(--oe-tinta); font-size: .95rem; }
.oe .select2-container{ width: 100% !important; }
.oe .select2-container--bootstrap4 .select2-selection--single .select2-selection__arrow{ top: 0; height: 100%; right: .55rem; }
.oe .select2-container--bootstrap4 .select2-selection--single .select2-selection__arrow b{ border-top-color: var(--oe-grafite); }
.oe .select2-container--bootstrap4.select2-container--focus .select2-selection{ border-color: var(--oe-acao); box-shadow: 0 0 0 3px color-mix(in srgb, var(--oe-acao) 22%, transparent); }

/* Grupo de botões (radio). */
.oe-segmentos{ display: flex; flex-wrap: wrap; gap: .5rem; }
.oe-segmento{ position: relative; margin: 0; cursor: pointer; }
.oe-segmento input{ position: absolute; opacity: 0; width: 1px; height: 1px; }
.oe-segmento__texto{
    display: flex; flex-direction: column; justify-content: center; min-height: 2.875rem; padding: .5rem 1rem;
    border: 1px solid var(--oe-campo-borda); border-radius: 10px; background: var(--oe-papel);
    font-size: .9rem; font-weight: 600; color: var(--oe-tinta); line-height: 1.3;
    transition: border-color .15s, background-color .15s, color .15s, box-shadow .15s;
}
.oe-segmento__texto small{ font-size: .75rem; font-weight: 500; color: var(--oe-grafite); margin-top: .15rem; }
.oe-segmento:hover .oe-segmento__texto{ border-color: color-mix(in srgb, var(--oe-acao) 50%, var(--oe-campo-borda)); }
.oe-segmento input:checked + .oe-segmento__texto{ border-color: var(--oe-acao); background: color-mix(in srgb, var(--oe-acao) 9%, var(--oe-papel)); color: var(--oe-acao); box-shadow: inset 0 0 0 1px var(--oe-acao); }
.oe-segmento input:checked + .oe-segmento__texto small{ color: inherit; opacity: .85; }
.oe-segmento input:focus-visible + .oe-segmento__texto{ outline: 3px solid color-mix(in srgb, var(--oe-acao) 50%, transparent); outline-offset: 2px; }

/* Checklists (segurança / exigências). */
.oe-checks{ list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .5rem; }
.oe-check{ display: flex; gap: .85rem; align-items: flex-start; padding: .8rem 1rem; min-height: 2.875rem; border: 1px solid var(--oe-linha); border-radius: 10px; cursor: pointer; margin: 0; font-size: .92rem; line-height: 1.45; font-weight: 500; transition: border-color .15s, background-color .15s; }
.oe-check:hover{ border-color: color-mix(in srgb, var(--oe-acao) 40%, var(--oe-linha)); }
.oe-check input{ flex: 0 0 auto; width: 1.15rem; height: 1.15rem; margin-top: .15rem; accent-color: var(--oe-acao); cursor: pointer; }
.oe-check:has(input:checked){ background: color-mix(in srgb, var(--oe-ok) 6%, var(--oe-papel)); border-color: color-mix(in srgb, var(--oe-ok) 35%, var(--oe-linha)); }
.oe-contagem{ font-size: .8rem; font-weight: 600; color: var(--oe-grafite); margin-left: .5rem; letter-spacing: 0; text-transform: none; }

.oe [hidden], .oe-condicional[hidden]{ display: none !important; } /* hidden vale mesmo com display definido acima */
.oe-entra{ animation: oe-surgir .25s ease-out both; }
@keyframes oe-surgir{ from{ opacity: 0; transform: translateY(-3px); } to{ opacity: 1; transform: none; } }

.oe-link-detalhe{ display: inline-flex; align-items: center; gap: .4rem; margin-top: .5rem; font-size: .82rem; font-weight: 600; color: var(--oe-acao); }
.oe-link-detalhe[aria-disabled="true"]{ color: var(--oe-grafite); pointer-events: none; opacity: .7; }
.oe-link-detalhe i{ font-size: .7rem; transition: transform .15s; }
.oe-link-detalhe:hover i{ transform: translate(2px, -2px); }

.oe-opcao-inline{ display: inline-flex; align-items: center; gap: .5rem; margin: 0 0 .5rem; font-size: .85rem; font-weight: 600; cursor: pointer; min-height: 1.75rem; }
.oe-opcao-inline input{ width: 1.05rem; height: 1.05rem; accent-color: var(--oe-acao); }

/* ---------- Documentos ----------
   Cada cartão é a própria área de soltar, como a de Enviar Arquivos do Fiscal: borda tracejada,
   clique escolhe o arquivo, arrastar em cima anexa, Ctrl+V cola um print no cartão sob o mouse. */
.oe-docs{ display: grid; grid-template-columns: repeat(auto-fill, minmax(14.5rem, 1fr)); gap: .85rem; }
.oe-doc{ position: relative; display: flex; flex-direction: column; border-radius: 12px; }
.oe-doc[hidden]{ display: none; }
.oe-doc__zona{
    flex: 1; display: flex; flex-direction: column; align-items: center; gap: .45rem; margin: 0; text-align: center; cursor: pointer;
    padding: .9rem 1rem 1rem; min-height: 10.5rem; border: 2px dashed var(--oe-campo-borda); border-radius: 12px;
    background: var(--oe-suave); color: var(--oe-tinta); font-weight: 400;
    transition: border-color .2s, background-color .2s, box-shadow .2s;
}
.oe-doc__zona:hover{ border-color: var(--oe-acao); background: color-mix(in srgb, var(--oe-acao) 6%, var(--oe-papel)); }
.oe-doc:focus-within .oe-doc__zona{ outline: 3px solid color-mix(in srgb, var(--oe-acao) 50%, transparent); outline-offset: 2px; }
.oe-doc__cabeca{ align-self: stretch; display: flex; flex-direction: column; align-items: flex-start; gap: .35rem; text-align: left; }
.oe-doc__nome{ font-size: .9rem; font-weight: 700; line-height: 1.3; margin: 0; }
.oe-selo{ flex: 0 0 auto; font-size: .6875rem; font-weight: 700; letter-spacing: .04em; padding: .2rem .5rem; border-radius: 999px; white-space: nowrap; }
.oe-selo--ok{ color: var(--oe-ok); background: color-mix(in srgb, var(--oe-ok) 12%, transparent); }
.oe-selo--falta{ color: var(--oe-grafite); background: color-mix(in srgb, var(--oe-tinta) 7%, transparent); }
.oe-selo--obrigatorio{ color: var(--oe-pend); background: color-mix(in srgb, var(--oe-pend) 10%, transparent); }
.oe-selo--novo{ color: var(--oe-acao); background: color-mix(in srgb, var(--oe-acao) 12%, transparent); }
.oe-doc__icone{ display: grid; place-items: center; width: 2.75rem; height: 2.75rem; margin-top: auto; border-radius: 50%; color: var(--oe-acao); background: color-mix(in srgb, var(--oe-acao) 9%, var(--oe-papel)); }
.oe-doc__miniatura{ display: block; width: 100%; max-height: 6.5rem; margin-top: auto; object-fit: cover; border-radius: 8px; border: 1px solid var(--oe-linha); }
.oe-doc__arquivo{ max-width: 100%; font-size: .78rem; color: var(--oe-grafite); overflow-wrap: anywhere; }
.oe-doc__chamada{ font-size: .82rem; color: var(--oe-grafite); }
.oe-doc__chamada strong{ color: var(--oe-acao); font-weight: 700; }
.oe-doc__soltar{ display: none; font-size: .82rem; font-weight: 700; color: var(--oe-acao); }
.oe-doc__input{ position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.oe-doc__acoes{ display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: .25rem 1rem; min-height: 1.9rem; padding-top: .3rem; }
.oe-doc__acoes:not(:has(:not([hidden]))){ display: none; }
.oe-doc__ver{ font-size: .82rem; font-weight: 600; color: var(--oe-acao); }
.oe-doc__desfazer{ border: 0; background: none; padding: .25rem; font: inherit; font-size: .82rem; font-weight: 600; color: var(--oe-grafite); text-decoration: underline; cursor: pointer; }
.oe-doc .oe-erro{ margin-top: .25rem; }
/* Estados: anexado (borda verde contínua), escolhido agora (azul), faltando obrigatório (vermelho). */
.oe-doc--ok .oe-doc__zona{ border-style: solid; border-width: 1px; border-color: color-mix(in srgb, var(--oe-ok) 35%, var(--oe-linha)); background: var(--oe-papel); }
.oe-doc--ok .oe-doc__icone{ color: var(--oe-ok); background: color-mix(in srgb, var(--oe-ok) 10%, var(--oe-papel)); }
.oe-doc--novo .oe-doc__zona{ border-style: solid; border-color: var(--oe-acao); background: color-mix(in srgb, var(--oe-acao) 5%, var(--oe-papel)); }
.oe-campo--erro .oe-doc__zona{ border-color: var(--oe-pend); }
/* Arrastando arquivos pela tela: cada documento visível vira alvo "soltar aqui". */
.oe-arrastando .oe-doc:not([hidden]) .oe-doc__zona{ border-style: dashed; border-width: 2px; border-color: color-mix(in srgb, var(--oe-acao) 55%, var(--oe-linha)); }
.oe-arrastando .oe-doc__soltar{ display: block; }
.oe-arrastando .oe-doc__chamada{ display: none; }
.oe-doc.oe-sobre .oe-doc__zona{ border-color: var(--oe-acao); background: color-mix(in srgb, var(--oe-acao) 12%, var(--oe-papel)); box-shadow: inset 0 0 0 1px var(--oe-acao); }
.oe-doc.oe-pulso .oe-doc__zona{ animation: oe-pulso .9s ease; }
@keyframes oe-pulso{ 30%{ background: color-mix(in srgb, var(--oe-acao) 16%, var(--oe-papel)); } }
.oe-mais-anexo{ display: inline-flex; align-items: center; gap: .5rem; min-height: 2.75rem; margin-top: 1rem; padding: .55rem 1rem; border: 1px dashed var(--oe-campo-borda); border-radius: 10px; background: transparent; color: var(--oe-acao); font: inherit; font-size: .88rem; font-weight: 600; cursor: pointer; transition: border-color .15s, background-color .15s; }
.oe-mais-anexo:hover{ border-color: var(--oe-acao); background: color-mix(in srgb, var(--oe-acao) 6%, transparent); }
.oe-progresso-salvar{ position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: var(--oe-ok); transform-origin: left; transform: scaleX(0); transition: transform .2s linear; }
@media (max-width: 767.98px){
    .oe-doc__zona{ min-height: 8.5rem; }
    .oe-so-mesa{ display: none; }
}

/* ---------- Lateral: índice ---------- */
.oe-painel{ background: var(--oe-papel); border-radius: var(--oe-raio); box-shadow: 0 1px 2px rgba(21, 35, 59, .06); padding: 1.25rem 1.25rem 1.1rem; }
.oe-indice{ list-style: none; margin: 0; padding: 0; }
.oe-indice a{ display: flex; align-items: center; gap: .7rem; min-height: 2.75rem; padding: .4rem .6rem; margin: 0 -.6rem; border-radius: 9px; color: var(--oe-tinta); font-size: .9rem; font-weight: 600; transition: background-color .15s; }
.oe-indice a:hover{ background: var(--oe-suave); text-decoration: none; color: var(--oe-tinta); }
.oe-indice a[aria-current="true"]{ background: color-mix(in srgb, var(--oe-acao) 9%, transparent); color: var(--oe-acao); }
.oe-indice__marca{ flex: 0 0 auto; width: .7rem; height: .7rem; border-radius: 50%; border: 2px solid var(--oe-campo-borda); }
.oe-indice__estado{ margin-left: auto; font-size: .75rem; font-weight: 600; color: var(--oe-grafite); }
.oe-indice li[data-estado="ok"] .oe-indice__marca{ background: var(--oe-ok); border-color: var(--oe-ok); }
.oe-indice li[data-estado="pendente"] .oe-indice__estado{ color: var(--oe-atencao); }
.oe-indice li[data-estado="pendente"] .oe-indice__marca{ border-color: var(--oe-atencao); }
.oe-indice li[data-estado="erro"] .oe-indice__estado{ color: var(--oe-pend); }
.oe-indice li[data-estado="erro"] .oe-indice__marca{ background: var(--oe-pend); border-color: var(--oe-pend); }

/* ---------- Lateral: quadro Valores ---------- */
.oe-conta__cabeca{ display: flex; align-items: baseline; justify-content: space-between; margin-bottom: .9rem; }
.oe-conta__titulo{ font-family: 'Literata', Georgia, serif; font-weight: 600; font-size: 1.15rem; margin: 0; }
.oe-conta__tipo{ font-size: .6875rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: .15rem .45rem; border-radius: 999px; color: var(--oe-grafite); background: color-mix(in srgb, var(--oe-tinta) 7%, transparent); }
.oe-conta__tipo--oficial{ color: var(--oe-ok); background: color-mix(in srgb, var(--oe-ok) 12%, transparent); }
.oe-extrato{ margin: 0; font-variant-numeric: tabular-nums; }
.oe-extrato div{ display: flex; justify-content: space-between; gap: .75rem; padding: .32rem 0; font-size: .88rem; }
.oe-extrato dt{ font-weight: 500; color: var(--oe-grafite); }
.oe-extrato dd{ margin: 0; font-weight: 600; white-space: nowrap; }
.oe-extrato .oe-extrato__base dt{ color: var(--oe-tinta); font-weight: 600; }
.oe-extrato .oe-extrato__menos dd::before{ content: '− '; color: var(--oe-grafite); font-weight: 500; }
.oe-extrato .oe-extrato__menos dd[data-sinal="mais"]::before{ content: '+ '; }
.oe-extrato dd[data-vazio]::before{ content: none !important; }
.oe-resultado{ margin-top: .7rem; padding-top: .85rem; border-top: 2px solid var(--oe-tinta); }
.oe-resultado__linha{ display: flex; align-items: baseline; justify-content: space-between; }
.oe-resultado__rotulo{ font-size: .8rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.oe-resultado__pct{ font-family: 'Literata', Georgia, serif; font-weight: 600; font-size: 1.9rem; line-height: 1; font-variant-numeric: tabular-nums; transition: color .2s; }
.oe-resultado__valor{ text-align: right; font-size: .85rem; font-weight: 600; color: var(--oe-grafite); margin-top: .25rem; font-variant-numeric: tabular-nums; }
.oe-resultado--positivo .oe-resultado__pct{ color: var(--oe-ok); }
.oe-resultado--negativo .oe-resultado__pct{ color: var(--oe-pend); }
.oe-resultado__aviso{ font-size: .78rem; font-weight: 600; color: var(--oe-pend); margin: .5rem 0 0; line-height: 1.4; }
.oe-divisao{ margin-top: 1.1rem; }
.oe-divisao__barra{ display: flex; height: .55rem; border-radius: 999px; overflow: hidden; background: var(--oe-linha); }
.oe-divisao__ad{ background: var(--oe-acao); transition: flex-basis .35s ease; }
.oe-divisao__saldo{ background: color-mix(in srgb, var(--oe-acao) 35%, var(--oe-papel)); transition: flex-basis .35s ease; }
.oe-divisao__legenda{ display: flex; justify-content: space-between; gap: .5rem; margin-top: .5rem; font-size: .78rem; color: var(--oe-grafite); font-variant-numeric: tabular-nums; }
.oe-divisao__legenda strong{ display: block; color: var(--oe-tinta); font-size: .88rem; }
.oe-conta__nota{ font-size: .75rem; color: var(--oe-grafite); margin: 1rem 0 0; line-height: 1.45; }
.oe-pisca{ animation: oe-piscar .6s ease; }
@keyframes oe-piscar{ 30%{ background: color-mix(in srgb, var(--oe-acao) 14%, transparent); } }

/* ---------- Barra de salvar (sempre à mão) ---------- */
.oe-barra{
    position: sticky; bottom: 0; z-index: 20; margin: -1.25rem 0 0;
    display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap;
    padding: .85rem 1.25rem; border-radius: 0 0 var(--oe-raio) var(--oe-raio);
    background: color-mix(in srgb, var(--oe-papel) 92%, transparent); backdrop-filter: blur(8px);
    box-shadow: none; border-top: 1px solid var(--oe-linha);
}
/* A última seção do formulário encaixa reto na barra, que fecha o card por baixo. */
.oe form .oe-secao:last-of-type,
.oe[data-modo="ver"] .oe-secao:last-of-type{ border-bottom-left-radius: 0; border-bottom-right-radius: 0; }

.oe-estado{ display: flex; align-items: center; gap: .55rem; font-size: .88rem; font-weight: 600; color: var(--oe-grafite); }
.oe-estado__ponto{ width: .55rem; height: .55rem; border-radius: 50%; background: var(--oe-campo-borda); transition: background-color .2s; }
.oe-estado[data-estado="sujo"] .oe-estado__ponto{ background: var(--oe-atencao); }
.oe-estado[data-estado="sujo"]{ color: var(--oe-atencao); }
.oe-estado[data-estado="salvo"] .oe-estado__ponto{ background: var(--oe-ok); }
.oe-estado[data-estado="salvo"]{ color: var(--oe-ok); }
.oe-estado[data-estado="erro"] .oe-estado__ponto{ background: var(--oe-pend); }
.oe-estado[data-estado="erro"]{ color: var(--oe-pend); }
.oe-estado[data-estado="salvando"] .oe-estado__ponto{ background: var(--oe-acao); animation: oe-pulsar 1s ease-in-out infinite; }
@keyframes oe-pulsar{ 50%{ opacity: .3; } }
.oe-barra__acoes{ display: flex; align-items: center; gap: .6rem; }
.oe-botao{ display: inline-flex; align-items: center; justify-content: center; gap: .55rem; min-height: 2.875rem; padding: .7rem 1.3rem; border-radius: 11px; border: 0; font: inherit; font-size: .95rem; font-weight: 600; cursor: pointer; text-decoration: none; transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, color .18s ease; }
.oe-botao:hover{ text-decoration: none; }
.oe-botao--principal{ background: var(--oe-base); color: #fff; }
.oe-botao--principal:hover:not(:disabled){ color: #fff; transform: translateY(-1px); box-shadow: 0 12px 24px -12px color-mix(in srgb, var(--oe-base) 80%, transparent); }
.oe-botao--principal:active:not(:disabled){ transform: none; box-shadow: none; }
.oe-botao--principal:disabled{ opacity: .7; cursor: progress; }
.oe-botao--discreto{ background: transparent; color: var(--oe-grafite); }
.oe-botao--discreto:hover{ color: var(--oe-tinta); background: color-mix(in srgb, var(--oe-tinta) 6%, transparent); }
.oe-atalho{ font-size: .72rem; font-weight: 600; opacity: .8; border: 1px solid currentColor; border-radius: 4px; padding: 0 .3rem; }

/* ---------- Avisos ---------- */
.oe-aviso{ display: flex; gap: .85rem; align-items: flex-start; padding: 1rem 1.25rem; border-radius: 12px; margin-bottom: 1.25rem; font-size: .92rem; line-height: 1.5; }
.oe-aviso[hidden]{ display: none; }
.oe-aviso--erro{ background: color-mix(in srgb, var(--oe-pend) 8%, var(--oe-papel)); color: var(--oe-tinta); border: 1px solid color-mix(in srgb, var(--oe-pend) 30%, transparent); }
.oe-aviso--erro > i{ color: var(--oe-pend); margin-top: .2rem; }
.oe-aviso ul{ margin: .35rem 0 0; padding-left: 1.1rem; }
.oe-aviso a{ color: var(--oe-pend); font-weight: 600; text-decoration: underline; }
.oe-aviso strong{ display: block; }
.oe-toast{ position: fixed; right: 1.5rem; bottom: 6.5rem; z-index: 1060; display: flex; align-items: center; gap: .65rem; padding: .85rem 1.15rem; border-radius: 12px; background: var(--oe-tinta); color: var(--oe-papel); font-weight: 600; font-size: .92rem; box-shadow: 0 18px 40px -18px rgba(0, 0, 0, .55); transform: translateY(1rem); opacity: 0; pointer-events: none; transition: transform .3s ease, opacity .3s ease; }
.oe-toast--visivel{ transform: none; opacity: 1; }
.oe-toast i{ color: var(--oe-ok); }
body.dark-mode .oe-toast i{ color: #2a8a63; }

.oe :focus-visible{ outline: 3px solid color-mix(in srgb, var(--oe-acao) 50%, transparent); outline-offset: 2px; }

/* ---------- Telas menores ---------- */
@media (max-width: 1199.98px){
    .oe-grade{ grid-template-columns: minmax(0, 1fr); }
    .oe-lateral{ position: static; display: grid; grid-template-columns: 1fr 1fr; order: -1; }
}
@media (max-width: 767.98px){
    .oe-lateral{ grid-template-columns: 1fr; }
    .oe-cabeca{ padding: 1.5rem 1.25rem; }
    .oe-cabeca__meta{ text-align: left; }
    .oe-titulo{ font-size: 2rem; }
    .oe-secao{ padding: 1.5rem 1.25rem 1.75rem; }
    .oe-linha{ grid-template-columns: minmax(0, 1fr); }
    .oe-linha > *{ grid-column: 1 / -1; }
    .oe-barra{ padding: .75rem 1rem; }
    .oe-barra__acoes{ width: 100%; }
    .oe-barra__acoes .oe-botao--principal{ flex: 1; }
    .oe-atalho{ display: none; }
    .oe-toast{ left: 1rem; right: 1rem; bottom: 5.5rem; }
}
@media (prefers-reduced-motion: reduce){
    .oe *, .oe-toast{ animation: none !important; transition: none !important; }
}

/* Motorista/veículo: modo IA e cartões de documento (paridade PHP) */
.mt-modo{ background: var(--oe-papel); border-radius: var(--oe-raio); box-shadow: 0 1px 2px rgba(21, 35, 59, .06); padding: 1.75rem 2.25rem 2rem; margin-bottom: 1.5rem; }
.mt-modo__titulo{ font-family: 'Literata', Georgia, serif; font-weight: 600; font-size: 1.35rem; margin: 0 0 .3rem; }
.mt-modo__descricao{ margin: 0 0 1.25rem; color: var(--oe-grafite); font-size: .92rem; }
.mt-modo__opcoes{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.mt-opcao{ position: relative; margin: 0; cursor: pointer; }
.mt-opcao input{ position: absolute; opacity: 0; width: 1px; height: 1px; }
.mt-opcao__corpo{
    display: grid; grid-template-columns: auto 1fr; gap: .25rem 1rem; align-items: start; height: 100%;
    padding: 1.25rem 1.35rem; border: 1px solid var(--oe-campo-borda); border-radius: 14px; background: var(--oe-papel);
    transition: border-color .2s, box-shadow .2s, background-color .2s, transform .2s;
}
.mt-opcao:hover .mt-opcao__corpo{ border-color: color-mix(in srgb, var(--oe-acao) 55%, var(--oe-campo-borda)); transform: translateY(-1px); box-shadow: 0 12px 26px -20px rgba(21, 35, 59, .55); }
.mt-opcao input:focus-visible + .mt-opcao__corpo{ outline: 3px solid color-mix(in srgb, var(--oe-acao) 50%, transparent); outline-offset: 2px; }
.mt-opcao input:checked + .mt-opcao__corpo{ border-color: var(--oe-acao); background: color-mix(in srgb, var(--oe-acao) 6%, var(--oe-papel)); box-shadow: inset 0 0 0 1px var(--oe-acao); transform: none; }
.mt-opcao__icone{ grid-row: span 2; display: grid; place-items: center; width: 2.75rem; height: 2.75rem; border-radius: 12px; font-size: 1.1rem; color: var(--oe-acao); background: color-mix(in srgb, var(--oe-acao) 10%, var(--oe-papel)); transition: background-color .2s, color .2s; }
.mt-opcao input:checked + .mt-opcao__corpo .mt-opcao__icone{ background: var(--oe-acao); color: #fff; }
.mt-opcao__nome{ font-size: 1rem; font-weight: 700; color: var(--oe-tinta); display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; }
.mt-opcao__texto{ font-size: .875rem; color: var(--oe-grafite); line-height: 1.5; }
.mt-opcao__tag{ font-size: .6875rem; font-weight: 700; letter-spacing: .04em; padding: .15rem .5rem; border-radius: 999px; color: var(--oe-ok); background: color-mix(in srgb, var(--oe-ok) 12%, transparent); }
.mt-opcao--indisponivel{ cursor: not-allowed; }
.mt-opcao--indisponivel .mt-opcao__corpo{ background: var(--oe-suave); border-style: dashed; }
.mt-opcao--indisponivel:hover .mt-opcao__corpo{ transform: none; box-shadow: none; border-color: var(--oe-campo-borda); }
.mt-opcao--indisponivel .mt-opcao__icone{ color: var(--oe-grafite); background: color-mix(in srgb, var(--oe-tinta) 6%, transparent); }
.mt-opcao--indisponivel .mt-opcao__tag{ color: var(--oe-grafite); background: color-mix(in srgb, var(--oe-tinta) 7%, transparent); }

/* Formulário em coluna: no modo manual a seção Documentos vai para o fim (os anexos ficam por
   último); no modo IA ela abre o formulário, porque é dela que vêm os dados. */
.mt-coluna{ min-width: 0; }
#formMotorista, .mt-form{ display: flex; flex-direction: column; min-width: 0; }
#formMotorista > fieldset, .mt-form > fieldset{ display: flex; flex-direction: column; }
.mt-modo-manual #secao-documentos{ order: 50; }
#indiceSecoes{ display: flex; flex-direction: column; }
.mt-modo-manual #indiceSecoes [data-indice="secao-documentos"]{ order: 50; }
#indiceSecoes [data-vinculo]{ order: 60; }
.mt-indice-grupo{ order: 55; font-size: .6875rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--oe-grafite); margin: .85rem 0 .2rem; list-style: none; }

/* ---------- Documentos ---------- */
.mt-docs{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.mt-doc{ display: flex; flex-direction: column; gap: .75rem; min-width: 0; padding: 1.1rem 1.15rem 1.15rem; border: 1px solid var(--oe-linha); border-radius: 14px; background: var(--oe-papel); transition: border-color .2s, background-color .2s; }
.mt-doc__cabeca{ display: flex; justify-content: space-between; align-items: flex-start; gap: .75rem; }
.mt-doc__titulo{ font-size: 1rem; font-weight: 700; margin: 0; color: var(--oe-tinta); }
.mt-doc__descricao{ font-size: .8125rem; color: var(--oe-grafite); margin: .2rem 0 0; line-height: 1.45; }
.mt-doc__zona{
    position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .35rem; text-align: center;
    min-height: 8.5rem; padding: 1.1rem; margin: 0; border: 1.5px dashed var(--oe-campo-borda); border-radius: 12px; cursor: pointer;
    background: var(--oe-suave); transition: border-color .2s, background-color .2s;
}
.mt-doc__zona:hover, .mt-doc--arrastando .mt-doc__zona{ border-color: var(--oe-acao); background: color-mix(in srgb, var(--oe-acao) 6%, var(--oe-papel)); }
.mt-doc__zona:focus-within{ outline: 3px solid color-mix(in srgb, var(--oe-acao) 50%, transparent); outline-offset: 2px; }
.mt-doc__zona input{ position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.mt-doc__zona i{ font-size: 1.5rem; color: var(--oe-acao); margin-bottom: .2rem; transition: transform .2s; }
.mt-doc__zona:hover i{ transform: translateY(-2px); }
.mt-doc__chamada{ font-size: .9rem; font-weight: 600; color: var(--oe-tinta); }
.mt-doc__chamada u{ color: var(--oe-acao); text-underline-offset: 3px; }
.mt-doc__formatos{ font-size: .75rem; color: var(--oe-grafite); }
.mt-doc__arquivo{ display: flex; align-items: center; gap: .85rem; padding: .75rem; border-radius: 12px; background: var(--oe-suave); }
.mt-doc__miniatura{ position: relative; flex: 0 0 auto; width: 3.5rem; height: 3.5rem; border-radius: 9px; overflow: hidden; display: grid; place-items: center; background: var(--oe-papel); border: 1px solid var(--oe-linha); color: var(--oe-pend); font-size: 1.35rem; }
.mt-doc__miniatura img{ width: 100%; height: 100%; object-fit: cover; }
.mt-doc__info{ flex: 1; min-width: 0; }
.mt-doc__nome{ margin: 0; font-size: .875rem; font-weight: 600; color: var(--oe-tinta); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mt-doc__tamanho{ margin: .1rem 0 0; font-size: .75rem; color: var(--oe-grafite); }
.mt-doc__botoes{ display: flex; gap: .25rem; flex: 0 0 auto; }
.mt-doc__botao{ min-height: 2.5rem; padding: .35rem .65rem; border: 0; border-radius: 9px; background: transparent; color: var(--oe-acao); font: inherit; font-size: .8125rem; font-weight: 600; cursor: pointer; transition: background-color .15s; }
.mt-doc__botao:hover{ background: color-mix(in srgb, var(--oe-acao) 9%, transparent); }
.mt-doc__botao--remover{ color: var(--oe-grafite); }
.mt-doc__atual{ margin: 0; font-size: .8125rem; color: var(--oe-grafite); }
.mt-doc__atual a{ font-weight: 600; color: var(--oe-acao); }

/* Leitura por IA: a miniatura ganha uma linha de varredura enquanto lê. */
.mt-lendo .mt-doc__miniatura::after{ content: ''; position: absolute; left: 0; right: 0; height: 40%; top: -40%; background: linear-gradient(180deg, transparent, color-mix(in srgb, var(--oe-acao) 45%, transparent), transparent); animation: mt-varrer 1.3s ease-in-out infinite; }
@keyframes mt-varrer{ to{ top: 100%; } }
.mt-leitura{ display: flex; gap: .65rem; align-items: flex-start; padding: .75rem .9rem; border-radius: 11px; font-size: .84rem; line-height: 1.45; }
.mt-leitura[hidden]{ display: none; }
.mt-leitura > i{ margin-top: .15rem; }
.mt-leitura strong{ display: block; font-size: .875rem; }
.mt-leitura--lendo{ background: color-mix(in srgb, var(--oe-acao) 7%, var(--oe-papel)); color: var(--oe-tinta); }
.mt-leitura--lendo > i{ color: var(--oe-acao); }
.mt-leitura--ok{ background: color-mix(in srgb, var(--oe-ok) 9%, var(--oe-papel)); color: var(--oe-tinta); }
.mt-leitura--ok > i{ color: var(--oe-ok); }
.mt-leitura--aviso{ background: color-mix(in srgb, var(--oe-atencao) 10%, var(--oe-papel)); color: var(--oe-tinta); }
.mt-leitura--aviso > i{ color: var(--oe-atencao); }
.mt-leitura--erro{ background: color-mix(in srgb, var(--oe-pend) 8%, var(--oe-papel)); color: var(--oe-tinta); }
.mt-leitura--erro > i{ color: var(--oe-pend); }
.mt-leitura__campos{ display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .45rem; }
.mt-leitura__campos button{ min-height: 2rem; padding: .2rem .6rem; border-radius: 999px; border: 1px solid color-mix(in srgb, var(--oe-ok) 35%, transparent); background: var(--oe-papel); color: var(--oe-tinta); font: inherit; font-size: .75rem; font-weight: 600; cursor: pointer; transition: border-color .15s; }
.mt-leitura__campos button:hover{ border-color: var(--oe-ok); }
.mt-leitura__acao{ margin-top: .45rem; min-height: 2.25rem; padding: .3rem .8rem; border-radius: 9px; border: 1px solid currentColor; background: transparent; color: var(--oe-pend); font: inherit; font-size: .8rem; font-weight: 600; cursor: pointer; }
.mt-doc[data-estado="erro"]{ border-color: color-mix(in srgb, var(--oe-pend) 40%, var(--oe-linha)); }
.mt-doc[data-estado="ok"]{ border-color: color-mix(in srgb, var(--oe-ok) 35%, var(--oe-linha)); }
.oe-campo--erro .mt-doc__zona{ border-color: var(--oe-pend); }

/* Campo preenchido pela IA: selo no rótulo e fundo levemente marcado até alguém mexer. */
.mt-selo-ia{ margin-left: .45rem; padding: .05rem .4rem; border-radius: 5px; font-size: .625rem; font-weight: 800; letter-spacing: .08em; vertical-align: .1em; color: var(--oe-acao); background: color-mix(in srgb, var(--oe-acao) 12%, transparent); }
.mt-ia .oe-input{ background: color-mix(in srgb, var(--oe-acao) 5%, var(--oe-papel)); border-color: color-mix(in srgb, var(--oe-acao) 45%, var(--oe-campo-borda)); }
.mt-ia .oe-segmento input:checked + .oe-segmento__texto{ box-shadow: inset 0 0 0 1px var(--oe-acao), 0 0 0 3px color-mix(in srgb, var(--oe-acao) 15%, transparent); }

/* Status curto embaixo do campo (CPF, CEP, validade, idade). */
.mt-status{ display: flex; align-items: center; gap: .4rem; margin: .45rem 0 0; font-size: .8125rem; font-weight: 600; line-height: 1.4; color: var(--oe-grafite); }
.mt-status[hidden]{ display: none; }
.mt-status--ok{ color: var(--oe-ok); }
.mt-status--atencao{ color: var(--oe-atencao); }
.mt-status--erro{ color: var(--oe-pend); }
.mt-status a{ color: inherit; text-decoration: underline; }
.mt-categorias .oe-segmento__texto{ min-width: 3.25rem; align-items: center; font-variant-numeric: tabular-nums; }
.mt-media{ display: flex; align-items: baseline; gap: .5rem; min-height: 2.875rem; margin: 0; padding: .6rem .85rem; border-radius: 10px; background: var(--oe-suave); }
.mt-media strong{ font-family: 'Literata', Georgia, serif; font-size: 1.35rem; font-weight: 600; font-variant-numeric: tabular-nums; }
.mt-media span{ font-size: .85rem; color: var(--oe-grafite); }

/* ---------- Ficha (lateral): a carteira do motorista se monta enquanto o formulário é preenchido ---------- */
.mt-carteira{
    position: relative; overflow: hidden; border-radius: 14px; padding: 1rem 1.1rem 1.1rem; color: var(--oe-tinta);
    background:
        repeating-radial-gradient(circle at 115% -10%, color-mix(in srgb, var(--oe-acao) 7%, transparent) 0 1px, transparent 1px 7px),
        linear-gradient(160deg, color-mix(in srgb, var(--oe-acao) 9%, var(--oe-papel)), var(--oe-papel) 70%);
    border: 1px solid color-mix(in srgb, var(--oe-acao) 22%, var(--oe-linha));
}
.mt-carteira__faixa{ display: flex; justify-content: space-between; align-items: center; font-size: .6875rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--oe-grafite); margin-bottom: .9rem; }
.mt-carteira__cat{ font-family: 'Literata', Georgia, serif; font-size: 1.35rem; letter-spacing: 0; color: var(--oe-acao); min-width: 2.2rem; text-align: right; }
.mt-carteira__pessoa{ display: flex; gap: .8rem; align-items: center; margin-bottom: .9rem; }
.mt-carteira__foto{ flex: 0 0 auto; display: grid; place-items: center; width: 3rem; height: 3.5rem; border-radius: 8px; background: color-mix(in srgb, var(--oe-acao) 14%, var(--oe-papel)); color: var(--oe-acao); font-family: 'Literata', Georgia, serif; font-weight: 600; font-size: 1.15rem; }
.mt-carteira__nome{ margin: 0; font-weight: 700; font-size: .95rem; line-height: 1.25; overflow-wrap: anywhere; }
.mt-carteira__nome--vazio{ color: var(--oe-grafite); font-weight: 500; font-style: italic; }
.mt-carteira__cpf{ margin: .15rem 0 0; font-size: .8125rem; color: var(--oe-grafite); font-variant-numeric: tabular-nums; }
.mt-carteira__dados{ display: grid; grid-template-columns: 1fr 1fr; gap: .55rem .75rem; margin: 0; }
.mt-carteira__dados dt{ font-size: .625rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--oe-grafite); }
.mt-carteira__dados dd{ margin: .1rem 0 0; font-size: .85rem; font-weight: 600; font-variant-numeric: tabular-nums; }
.mt-validade{ display: inline-block; margin-top: .25rem; padding: .1rem .45rem; border-radius: 999px; font-size: .6875rem; font-weight: 700; }
.mt-validade[hidden]{ display: none; }
.mt-validade--ok{ color: var(--oe-ok); background: color-mix(in srgb, var(--oe-ok) 12%, transparent); }
.mt-validade--atencao{ color: var(--oe-atencao); background: color-mix(in srgb, var(--oe-atencao) 13%, transparent); }
.mt-validade--erro{ color: var(--oe-pend); background: color-mix(in srgb, var(--oe-pend) 11%, transparent); }
.mt-ficha__rodape{ display: flex; justify-content: space-between; gap: .5rem; margin-top: .9rem; font-size: .8125rem; color: var(--oe-grafite); }
.mt-ficha__rodape strong{ color: var(--oe-tinta); }

/* ---------- Vínculos (só na edição) ---------- */
.mt-vinculo-form{ display: flex; flex-wrap: wrap; align-items: flex-end; gap: .75rem; margin-bottom: 1.25rem; }
.mt-vinculo-form .oe-campo{ flex: 1 1 14rem; }
#motoristaForm .table-responsive{ position: relative; }
.mt-tabela{ width: 100%; border-collapse: collapse; font-size: .9rem; }
.mt-tabela th{ font-size: .75rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--oe-grafite); padding: .55rem .6rem; border-bottom: 1px solid var(--oe-linha); text-align: left; white-space: nowrap; }
.mt-tabela th a{ color: inherit; }
.mt-tabela td{ padding: .65rem .6rem; border-bottom: 1px solid var(--oe-linha); vertical-align: middle; }
.mt-tabela tr:last-child td{ border-bottom: 0; }
.mt-tabela .mt-acoes{ text-align: right; width: 1%; white-space: nowrap; }
.mt-remover{ display: inline-grid; place-items: center; width: 2.5rem; height: 2.5rem; border-radius: 9px; color: var(--oe-pend); transition: background-color .15s; }
.mt-remover:hover{ background: color-mix(in srgb, var(--oe-pend) 10%, transparent); color: var(--oe-pend); }
.mt-vazio{ padding: 1.25rem; text-align: center; color: var(--oe-grafite); background: var(--oe-suave); border-radius: 10px; font-size: .9rem; }
.mt-nota{ display: inline-grid; place-items: center; min-width: 2rem; height: 2rem; padding: 0 .4rem; border-radius: 8px; font-weight: 700; font-variant-numeric: tabular-nums; background: color-mix(in srgb, var(--oe-acao) 10%, transparent); color: var(--oe-acao); }

/* Cadastrado: o formulário dá lugar aos próximos passos. */
.mt-sucesso{ background: var(--oe-papel); border-radius: var(--oe-raio); box-shadow: 0 1px 2px rgba(21, 35, 59, .06); padding: 2.5rem; }
.mt-sucesso:focus{ outline: none; }
.mt-sucesso__selo{ display: grid; place-items: center; width: 3.25rem; height: 3.25rem; border-radius: 50%; background: color-mix(in srgb, var(--oe-ok) 14%, var(--oe-papel)); color: var(--oe-ok); font-size: 1.35rem; margin-bottom: 1.25rem; animation: mt-carimbo .45s cubic-bezier(.2, 1.4, .4, 1) both; }
@keyframes mt-carimbo{ from{ transform: scale(.4); opacity: 0; } to{ transform: none; opacity: 1; } }
.mt-sucesso__titulo{ font-family: 'Literata', Georgia, serif; font-weight: 600; font-size: 1.75rem; line-height: 1.15; margin: 0 0 .5rem; }
.mt-sucesso__texto{ margin: 0 0 1.75rem; color: var(--oe-grafite); max-width: 40rem; line-height: 1.55; }
.mt-sucesso__acoes{ display: flex; flex-wrap: wrap; gap: .6rem; }
.oe-botao--contorno{ background: transparent; color: var(--oe-acao); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--oe-acao) 45%, transparent); }
.oe-botao--contorno:hover{ color: var(--oe-acao); background: color-mix(in srgb, var(--oe-acao) 7%, transparent); }
.mt-cabeca__linha{ display: flex; flex-wrap: wrap; align-items: center; gap: .4rem 1rem; margin: 0; font-size: .95rem; color: var(--oe-grafite); }
.mt-cabeca__linha strong{ color: var(--oe-tinta); font-variant-numeric: tabular-nums; }
.mt-situacao{ padding: .15rem .55rem; border-radius: 999px; font-size: .75rem; font-weight: 700; }
.mt-situacao--A{ color: var(--oe-ok); background: color-mix(in srgb, var(--oe-ok) 12%, transparent); }
.mt-situacao--I{ color: var(--oe-pend); background: color-mix(in srgb, var(--oe-pend) 10%, transparent); }
.mt-aguardando{ opacity: .45; pointer-events: none; filter: saturate(.6); transition: opacity .3s; }

@media (max-width: 1199.98px){ #motoristaForm .oe-lateral{ order: 0; } }
@media (max-width: 767.98px){
    .mt-modo{ padding: 1.5rem 1.25rem; }
    .mt-modo__opcoes, .mt-docs{ grid-template-columns: minmax(0, 1fr); }
    .mt-sucesso{ padding: 1.75rem 1.25rem; }
    .mt-sucesso__acoes .oe-botao{ flex: 1 1 100%; }
}
@media (prefers-reduced-motion: reduce){
    .mt-lendo .mt-doc__miniatura::after{ animation: none; opacity: .5; top: 30%; }
    .mt-sucesso__selo{ animation: none; }
}

/* Gera Ordem de Carregamento (godi-php views/carregamento/gerarOrdem.php): valor abaixo do rótulo, código em cinza e cursor do botão bloqueado. */
.go-valor{ margin: 0; font-size: 1rem; font-weight: 600; color: var(--oe-tinta); }
.go-codigo{ font-weight: 400; color: var(--oe-grafite); }
.oe .oe-botao--principal:disabled{ cursor: not-allowed; opacity: .55; }

/* Formulário de carregamento (godi-php views/carregamento/formulario.php): atalhos de % de adiantamento. */
.nc-atalhos{ display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .55rem; }
.nc-atalho{
    min-height: 2.25rem; min-width: 3.4rem; padding: .3rem .7rem; border-radius: 999px;
    border: 1px solid var(--oe-campo-borda); background: var(--oe-papel); color: var(--oe-tinta);
    font: inherit; font-size: .82rem; font-weight: 600; font-variant-numeric: tabular-nums; cursor: pointer;
    transition: border-color .15s, background-color .15s, color .15s;
}
.nc-atalho:hover{ border-color: var(--oe-acao); color: var(--oe-acao); }
.nc-atalho[aria-pressed="true"]{ border-color: var(--oe-acao); background: var(--oe-acao); color: #fff; }

/* Cabeçalho do formulário de carregamento (godi-php views/carregamento/formulario.php): comercial, equipe e quem cadastrou. */
.nc-quem{ display: flex; flex-direction: column; align-items: flex-end; gap: .35rem; }
.nc-quem__item{ display: inline-flex; align-items: baseline; gap: .45rem; font-size: .85rem; color: var(--oe-grafite); }
.nc-quem__item strong{ color: var(--oe-tinta); font-weight: 600; }
@media (max-width: 767.98px){ .nc-quem{ align-items: flex-start; } }

/* ---------- Veículo (paridade com godi-php/App/views/veiculo/formulario.php) ---------- */
.mt-doc[hidden], .oe-campo[hidden]{ display: none; }
.mt-doc__titulo{ display: flex; align-items: center; gap: .45rem; flex-wrap: wrap; }
.mt-doc__ia{ font-size: .625rem; font-weight: 800; letter-spacing: .08em; padding: .1rem .4rem; border-radius: 5px; color: var(--oe-acao); background: color-mix(in srgb, var(--oe-acao) 12%, transparent); }
.mt-docs__grupo{ grid-column: 1 / -1; margin: .5rem 0 -.25rem; font-size: .6875rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--oe-grafite); }
.mt-leitura__nota{ display: block; margin-top: .35rem; color: var(--oe-grafite); }
.vc-c7{ grid-column: span 7; }
.oe-input.vc-placa-input{ font-family: 'Saira Semi Condensed', 'Albert Sans', sans-serif; font-size: 1.15rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.vc-espelho{ display: flex; align-items: center; gap: .6rem; margin: .5rem 0 0; padding: .55rem .75rem; border-radius: 10px; background: var(--oe-suave); font-size: .8125rem; color: var(--oe-grafite); }
.vc-espelho .oe-check{ margin: 0; }
.vc-vinculo{ display: flex; gap: .75rem; align-items: center; padding: .9rem 1.1rem; margin-bottom: 1.25rem; border-radius: 12px; background: color-mix(in srgb, var(--oe-acao) 7%, var(--oe-papel)); color: var(--oe-tinta); font-size: .92rem; }
.vc-vinculo i{ color: var(--oe-acao); }
.vc-ficha__foto{ height: 7.5rem; margin: -.25rem 0 1rem; border-radius: 12px; overflow: hidden; background: var(--oe-suave); display: grid; place-items: center; color: var(--oe-campo-borda); font-size: 2rem; }
.vc-ficha__foto img{ width: 100%; height: 100%; object-fit: cover; }
/* Placa: Mercosul (faixa azul "BRASIL") ou modelo antigo (cinza, com hífen). */
.vc-placa{ --vc-placa-azul: #003399; position: relative; display: flex; flex-direction: column; width: 100%; max-width: 15.5rem; margin: 0 auto 1.1rem; border-radius: 9px; background: #fff; color: #111; border: 2px solid #1b1b1b; box-shadow: 0 1px 0 #fff inset, 0 10px 22px -16px rgba(0, 0, 0, .7); overflow: hidden; transition: transform .35s cubic-bezier(.2, 1.2, .4, 1); }
.vc-placa__faixa{ display: flex; align-items: center; justify-content: space-between; padding: .18rem .55rem; background: var(--vc-placa-azul); color: #fff; font-size: .625rem; font-weight: 700; letter-spacing: .3em; }
.vc-placa__faixa i{ font-style: normal; letter-spacing: 0; font-size: .7rem; }
.vc-placa__numero{ padding: .35rem .5rem .45rem; text-align: center; font-family: 'Saira Semi Condensed', 'Albert Sans', sans-serif; font-weight: 700; font-size: 2.15rem; line-height: 1; letter-spacing: .14em; font-variant-numeric: tabular-nums; }
.vc-placa--antiga{ background: #c9ccd1; }
.vc-placa--antiga .vc-placa__faixa{ background: transparent; color: #111; justify-content: center; letter-spacing: .25em; border-bottom: 1px solid rgba(0, 0, 0, .25); }
.vc-placa--vazia .vc-placa__numero{ color: #9aa3ad; }
.vc-composicao{ display: flex; align-items: flex-end; gap: .3rem; list-style: none; margin: 0 0 1rem; padding: .75rem .6rem .5rem; border-radius: 12px; background: var(--oe-suave); overflow-x: auto; }
.vc-composicao li{ display: flex; flex-direction: column; align-items: center; gap: .25rem; min-width: 3.6rem; font-size: .625rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--oe-grafite); text-align: center; animation: vc-surge .3s ease both; }
.vc-composicao li i{ font-size: 1.35rem; color: var(--oe-acao); }
.vc-composicao li span{ font-family: 'Saira Semi Condensed', 'Albert Sans', sans-serif; font-size: .75rem; letter-spacing: .05em; color: var(--oe-tinta); text-transform: none; }
.vc-composicao li span:empty::before{ content: '———'; color: var(--oe-campo-borda); }
@keyframes vc-surge{ from{ opacity: 0; transform: translateY(4px); } to{ opacity: 1; transform: none; } }
.vc-ficha__dados{ display: grid; grid-template-columns: 1fr 1fr; gap: .65rem .75rem; margin: 0; }
.vc-ficha__dados dt{ font-size: .625rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--oe-grafite); }
.vc-ficha__dados dd{ margin: .1rem 0 0; font-size: .875rem; font-weight: 600; overflow-wrap: anywhere; }
.vc-ficha__dados .vc-largo{ grid-column: 1 / -1; }
.vc-fiscal{ list-style: none; margin: .5rem 0 0; padding: 0; display: grid; gap: .35rem; font-size: .8125rem; }
.vc-fiscal li{ display: flex; align-items: center; gap: .5rem; color: var(--oe-grafite); }
.vc-fiscal li i{ width: 1rem; text-align: center; }
.vc-fiscal li[data-ok="1"]{ color: var(--oe-tinta); }
.vc-fiscal li[data-ok="1"] i{ color: var(--oe-ok); }
.vc-fiscal li[data-ok="0"] i{ color: var(--oe-campo-borda); }
.vc-fiscal__resumo{ margin: 0; font-size: .875rem; font-weight: 700; }
.vc-fiscal__resumo[data-ok="1"]{ color: var(--oe-ok); }
@media (max-width: 1199.98px){ #veiculoForm .oe-lateral{ order: 0; } }
@media (max-width: 767.98px){ .vc-c7{ grid-column: 1 / -1; } }
@media (prefers-reduced-motion: reduce){
    .vc-composicao li{ animation: none; }
    .vc-placa{ transition: none; }
}
