/*
 * Select de unidade colado a um campo numérico — moeda + preço, unidade +
 * hodômetro etc. (ver VehicleForm, ProspectForm, GeneralParameterForm,
 * SignatureDocumentResource, ProspectKanban).
 *
 * O gatilho é estreito de propósito: fechado só precisa caber o código
 * ("BRL", "km") pra não empurrar o campo do valor. A lista aberta, essa sim,
 * mostra o nome por extenso.
 */

/*
 * O painel do dropdown é filho do gatilho e herdaria a largura dele,
 * cortando os rótulos ("AFN — A..."). Como é `position: absolute` e nenhum
 * ancestral tem `overflow: hidden`, um min-width resolve sem alargar o
 * campo fechado.
 */
.notfy-unit-select .fi-dropdown-panel {
    min-width: 20rem;
}

/*
 * Com o campo fechado só interessa o código: esconder o nome evita as
 * reticências de texto cortado. Dentro do painel o nome volta, senão não
 * daria pra escolher pelo nome.
 */
.notfy-unit-select .fi-select-input-btn .notfy-unit-name {
    display: none;
}

.notfy-unit-select .fi-dropdown-panel .notfy-unit-name {
    display: inline;
}

/*
 * O rótulo do valor selecionado nasce com `flex: 1 1 0`, então encolhe até
 * ~28px e corta "USD" em "U...". Reservar o tamanho do conteúdo garante que
 * o código sempre caiba inteiro.
 */
.notfy-unit-select .fi-select-input-btn .fi-select-input-value-ctn,
.notfy-unit-select .fi-select-input-btn .fi-select-input-value-label {
    min-width: max-content;
}

/*
 * O rótulo do par (ex.: "Quilometragem", "Meta de receita mensal") fica sobre
 * esta caixa estreita, dimensionada pro código da unidade — quase nenhum
 * rótulo cabe nela. Sem tratamento, um rótulo de 2-4 palavras quebra em várias
 * linhas e estica o campo inteiro.
 *
 * A caixa é mantida no tamanho (`min-width: 0` + `nowrap`), mas o texto
 * transborda para a direita em vez de ser cortado com reticências: o espaço
 * logo ao lado é o de cima do campo de valor, que em todos os pares usa
 * `hiddenLabel()` e portanto está vazio. `overflow: visible` muda só onde o
 * texto é pintado, não a largura da caixa — nada é reposicionado.
 *
 * Cuidado ao reusar: isto assume o vizinho à direita sem rótulo visível. Um
 * par com rótulo nos dois lados sobreporia os textos.
 *
 * O `<label>` do Filament é `display: flex` (pro asterisco de obrigatório
 * ficar ao lado do texto), então o tratamento vai no `<span>` interno que
 * carrega o texto. O `!important` garante que ganhe da regra padrão do
 * Filament sem depender de ordem de carregamento do CSS.
 */
.notfy-unit-field .fi-fo-field-label {
    min-width: 0 !important;
}

.notfy-unit-field .fi-fo-field-label-content {
    display: block !important;
    overflow: visible !important;
    white-space: nowrap !important;
    min-width: 0 !important;
}

/*
 * Texto de apoio de um par unidade+valor. Ele não pode morar dentro do Flex:
 * o par é alinhado pela base, então qualquer conteúdo abaixo de um dos dois
 * campos empurra o outro para cima (foi o que jogou o select de moeda para
 * baixo do rótulo em Parâmetros Gerais). Fica então como irmão do Flex, dentro
 * de um Group — e este seletor só reaproxima os dois, já que o schema interno
 * do Group vem com `gap: 6`, espaçamento de campo e não de texto auxiliar.
 *
 * O alvo é a div interna (`.fi-sc`), não a que carrega a classe: o Group
 * renderiza um wrapper simples e é o schema filho que aplica o gap.
 */
.notfy-unit-group > .fi-sc {
    gap: 0.375rem;
}
