.emplacamentos-moto {
    margin: 1.5em 0;
}

.emplacamentos-moto__filtros {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.75em 1em;
    margin-bottom: 1.25em;
}

.emplacamentos-moto__campo {
    display: flex;
    flex-direction: column;
    gap: 0.25em;
    min-width: 140px;
}

.emplacamentos-moto__campo label {
    font-size: 0.85em;
    font-weight: 600;
}

.emplacamentos-moto__campo select {
    padding: 0.4em 0.5em;
}

.emplacamentos-moto__acoes {
    display: flex;
    align-items: center;
    gap: 0.75em;
}

.emplacamentos-moto__acoes button {
    padding: 0.5em 1.25em;
    cursor: pointer;
}

.emplacamentos-moto__resultado {
    transition: opacity 0.15s;
}

.emplacamentos-moto.is-carregando .emplacamentos-moto__resultado {
    opacity: 0.5;
    pointer-events: none;
}

.emplacamentos-moto__tabela-wrapper {
    overflow-x: auto;
}

.emplacamentos-moto__tabela {
    width: 100%;
    border-collapse: collapse;
}

.emplacamentos-moto__tabela th,
.emplacamentos-moto__tabela td {
    padding: 0.6em 0.75em;
    border-bottom: 1px solid #e2e2e2;
    text-align: left;
}

.emplacamentos-moto__tabela thead th {
    background: #f5f5f5;
}

.emplacamentos-moto__tabela tbody tr:hover {
    background: #fafafa;
}

.emplacamentos-moto__tabela tfoot th,
.emplacamentos-moto__tabela tfoot td {
    font-weight: 700;
    border-bottom: 0;
}

.emplacamentos-moto__tabela .emplacamentos-moto__numero {
    text-align: right;
}

.emplacamentos-moto__aviso {
    padding: 0.75em 1em;
    background: #f5f5f5;
    border-left: 4px solid #999;
}

.emplacamentos-moto__aviso--erro {
    border-left-color: #c62828;
}
